From 9e8ba87f6c277aefccbef411a9dba297c7ce8568 Mon Sep 17 00:00:00 2001 From: Yee Hing Tong Date: Thu, 1 Jun 2023 15:05:14 -0700 Subject: [PATCH 01/47] untested, event printing mostly in Signed-off-by: Yee Hing Tong --- flyteadmin/dataproxy/service.go | 28 +++++++++ flyteadmin/go.mod | 1 + flyteadmin/pkg/common/flyte_url.go | 9 +++ .../pkg/manager/impl/execution_manager.go | 60 +++++++++++++++++++ .../manager/impl/task_execution_manager.go | 55 +++++++++++++++++ 5 files changed, 153 insertions(+) diff --git a/flyteadmin/dataproxy/service.go b/flyteadmin/dataproxy/service.go index a62d37b435..604152bb12 100644 --- a/flyteadmin/dataproxy/service.go +++ b/flyteadmin/dataproxy/service.go @@ -5,6 +5,7 @@ import ( "encoding/base32" "encoding/base64" "fmt" + "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/artifact" "net/url" "reflect" "strconv" @@ -95,10 +96,37 @@ func (s Service) CreateUploadLocation(ctx context.Context, req *service.CreateUp return nil, errors.NewFlyteAdminErrorf(codes.Internal, "failed to create a signed url. Error: %v", err) } + // The artifact returned here has no relevant entry in the admin database, so call the artifact service synchronously + // to persist the information. + artifactCreate := &artifact.CreateArtifactRequest{ + ArtifactKey: &core.ArtifactKey{ + Project: req.Project, + Domain: req.Domain, + }, + Version: string(req.ContentMd5), + Uri: "", + Spec: req.GetArtifactSpec(), + } + fmt.Printf("Will call artifact service with request: %v\n", artifactCreate) + // artifact := artifact_service.CreateArtifact + return &service.CreateUploadLocationResponse{ SignedUrl: resp.URL.String(), NativeUrl: storagePath.String(), ExpiresAt: timestamppb.New(time.Now().Add(req.ExpiresIn.AsDuration())), + // replace with created artifact + Artifact: &artifact.Artifact{ + ArtifactId: &core.ArtifactID{ + ArtifactKey: &core.ArtifactKey{ + Project: req.Project, + Domain: req.Domain, + Name: fmt.Sprintf("autogenerated.%s", req.Filename), + }, + Version: string(req.ContentMd5), + }, + Uri: "flyte://random/returned/url", + Spec: req.GetArtifactSpec(), + }, }, nil } diff --git a/flyteadmin/go.mod b/flyteadmin/go.mod index 46ef4b0de4..77b0355639 100644 --- a/flyteadmin/go.mod +++ b/flyteadmin/go.mod @@ -209,6 +209,7 @@ require ( ) replace github.com/robfig/cron/v3 => github.com/unionai/cron/v3 v3.0.2-0.20220915080349-5790c370e63a +replace github.com/flyteorg/flyteidl => ../flyteidl // Retracted versions // This was published in error when attempting to create 1.5.1 Flyte release. diff --git a/flyteadmin/pkg/common/flyte_url.go b/flyteadmin/pkg/common/flyte_url.go index a78689f364..1b87d05f31 100644 --- a/flyteadmin/pkg/common/flyte_url.go +++ b/flyteadmin/pkg/common/flyte_url.go @@ -152,3 +152,12 @@ func FlyteURLsFromTaskExecutionID(taskExecutionID core.TaskExecutionIdentifier, } return res } + +// AppendLinksForLiteralMap returns a map of URLs for each output in the supplied literal map. +func AppendLinksForLiteralMap(baseOutputURL string, literalMap core.LiteralMap) map[string]string { + res := make(map[string]string, len(literalMap.Literals)) + for k, _ := range literalMap.Literals { + res[k] = fmt.Sprintf("%s/%s", baseOutputURL, k) + } + return res +} diff --git a/flyteadmin/pkg/manager/impl/execution_manager.go b/flyteadmin/pkg/manager/impl/execution_manager.go index 8a6b7287b0..b5bc4a8cf5 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager.go +++ b/flyteadmin/pkg/manager/impl/execution_manager.go @@ -3,6 +3,8 @@ package impl import ( "context" "fmt" + "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/artifact" + "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/event" "strconv" "time" @@ -1195,6 +1197,63 @@ func (m *ExecutionManager) emitOverallWorkflowExecutionTime( watch.Observe(*executionModel.ExecutionCreatedAt, terminalEventTime) } +func (m *ExecutionManager) tempHandleArtifactEventEmitting(ctx context.Context, request admin.WorkflowExecutionEventRequest) { + // Print out what the catalog service will eventually do. Can all this be retrieved just from the raw event? No. + // Missing: Artifact name and other info declared in the wf decorator. + var outputs *core.LiteralMap + var err error + if request.Event.GetOutputData() != nil { + fmt.Printf("Got output data") + outputs = request.Event.GetOutputData() + } else if len(request.Event.GetOutputUri()) > 0 { + fmt.Printf("Got output URI") + // GetInputs actually fetches the data, even though this is an output + outputs, _, err = util.GetInputs(ctx, m.urlData, m.config.ApplicationConfiguration().GetRemoteDataConfig(), + m.storageClient, request.Event.GetOutputUri()) + if err != nil { + fmt.Printf("Error fetching output literal map %v", request.Event) + } + } else { + fmt.Printf("No output data found for %v\n", request.Event) + } + if outputs != nil { + nodeExecutionID := core.NodeExecutionIdentifier{ + NodeId: "end-node", + ExecutionId: request.Event.ExecutionId, + } + urls := common.FlyteURLsFromNodeExecutionID(nodeExecutionID, false) + outputURLs := common.AppendLinksForLiteralMap(urls.GetInputs(), *outputs) + + for k, v := range outputs.Literals { + as := artifact.ArtifactSpec{ + Value: v, + // Type, tags and aliases will need to be filled in later + Source: &artifact.ArtifactSpec_Execution{ + Execution: request.Event.ExecutionId, + }, + } + ak := core.ArtifactKey{ + Project: request.Event.ExecutionId.Project, + Domain: request.Event.ExecutionId.Domain, + // This will need to be filled in later, will need to pull from task template, or set to + // something pretty unique, like the task ID. + Name: "", + } + + a := artifact.CreateArtifactRequest{ + ArtifactKey: &ak, + Version: request.Event.ExecutionId.Name, + Uri: outputURLs[k], + Spec: &as, + } + e := event.ArtifactCreateEvent{ + CreateRequest: &a, + } + print(fmt.Sprintf("Output %s, becomes artifact request: %v\n", k, e)) + } + } +} + func (m *ExecutionManager) CreateWorkflowEvent(ctx context.Context, request admin.WorkflowExecutionEventRequest) ( *admin.WorkflowExecutionEventResponse, error) { err := validation.ValidateCreateWorkflowEventRequest(request, m.config.ApplicationConfiguration().GetRemoteDataConfig().MaxSizeInBytes) @@ -1280,6 +1339,7 @@ func (m *ExecutionManager) CreateWorkflowEvent(ctx context.Context, request admi if request.Event.GetOutputData() != nil { m.userMetrics.WorkflowExecutionOutputBytes.Observe(float64(proto.Size(request.Event.GetOutputData()))) } + m.tempHandleArtifactEventEmitting(ctx, request) err = m.publishNotifications(ctx, request, *executionModel) if err != nil { diff --git a/flyteadmin/pkg/manager/impl/task_execution_manager.go b/flyteadmin/pkg/manager/impl/task_execution_manager.go index 46967f264a..832cee54c5 100644 --- a/flyteadmin/pkg/manager/impl/task_execution_manager.go +++ b/flyteadmin/pkg/manager/impl/task_execution_manager.go @@ -3,6 +3,7 @@ package impl import ( "context" "fmt" + "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/artifact" "strconv" cloudeventInterfaces "github.com/flyteorg/flyteadmin/pkg/async/cloudevent/interfaces" @@ -31,6 +32,7 @@ import ( runtimeInterfaces "github.com/flyteorg/flyteadmin/pkg/runtime/interfaces" "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/admin" "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/core" + "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/event" "github.com/flyteorg/flytestdlib/logger" "google.golang.org/grpc/codes" ) @@ -129,6 +131,58 @@ func (m *TaskExecutionManager) updateTaskExecutionModelState( return *existingTaskExecution, nil } +func (m *TaskExecutionManager) tempHandleArtifactEventEmitting(ctx context.Context, request admin.TaskExecutionEventRequest, taskExecutionID core.TaskExecutionIdentifier) { + // Print out what the catalog service will eventually do. Can all this be retrieved just from the raw event? No. + // Missing is: tags/aliases/given name + var outputs *core.LiteralMap + var err error + if request.Event.GetOutputData() != nil { + fmt.Printf("Got output data") + outputs = request.Event.GetOutputData() + } else if len(request.Event.GetOutputUri()) > 0 { + fmt.Printf("Got output URI") + // GetInputs actually fetches the data, even though this is an output + outputs, _, err = util.GetInputs(ctx, m.urlData, m.config.ApplicationConfiguration().GetRemoteDataConfig(), + m.storageClient, request.Event.GetOutputUri()) + if err != nil { + fmt.Printf("Error fetching output literal map %v", request.Event) + } + } else { + fmt.Printf("No output data found for %v\n", request.Event) + } + if outputs != nil { + urls := common.FlyteURLsFromTaskExecutionID(taskExecutionID, false) + outputURLs := common.AppendLinksForLiteralMap(urls.GetOutputs(), *outputs) + for k, v := range outputs.Literals { + as := artifact.ArtifactSpec{ + Value: v, + // Type, tags and aliases will need to be filled in later + Source: &artifact.ArtifactSpec_TaskExecution{ + TaskExecution: &taskExecutionID, + }, + } + ak := core.ArtifactKey{ + Project: request.Event.ParentNodeExecutionId.ExecutionId.Project, + Domain: request.Event.ParentNodeExecutionId.ExecutionId.Domain, + // This will need to be filled in later, will need to pull from task template, or set to + // something pretty unique, like the task ID. + Name: "", + } + + a := artifact.CreateArtifactRequest{ + ArtifactKey: &ak, + Version: request.Event.ParentNodeExecutionId.ExecutionId.Name, + Uri: outputURLs[k], + Spec: &as, + } + e := event.ArtifactCreateEvent{ + CreateRequest: &a, + } + print(fmt.Sprintf("Output %s, becomes artifact request: %v\n", k, e)) + } + } +} + func (m *TaskExecutionManager) CreateTaskExecutionEvent(ctx context.Context, request admin.TaskExecutionEventRequest) ( *admin.TaskExecutionEventResponse, error) { if err := validation.ValidateTaskExecutionRequest(request, m.config.ApplicationConfiguration().GetRemoteDataConfig().MaxSizeInBytes); err != nil { @@ -202,6 +256,7 @@ func (m *TaskExecutionManager) CreateTaskExecutionEvent(ctx context.Context, req if request.Event.GetOutputData() != nil { m.metrics.TaskExecutionOutputBytes.Observe(float64(proto.Size(request.Event.GetOutputData()))) } + m.tempHandleArtifactEventEmitting(ctx, request, taskExecutionID) } if err = m.notificationClient.Publish(ctx, proto.MessageName(&request), &request); err != nil { From 772dda2334575ad80a55d35b8421ba44c8d900b5 Mon Sep 17 00:00:00 2001 From: Yee Hing Tong Date: Fri, 2 Jun 2023 09:32:25 -0700 Subject: [PATCH 02/47] added printing of usage and saving in execution spec metadata Signed-off-by: Yee Hing Tong --- .../pkg/manager/impl/execution_manager.go | 110 +++++++++++------- .../impl/validation/execution_validator.go | 33 ++++-- 2 files changed, 93 insertions(+), 50 deletions(-) diff --git a/flyteadmin/pkg/manager/impl/execution_manager.go b/flyteadmin/pkg/manager/impl/execution_manager.go index b5bc4a8cf5..5a31d7d5bc 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager.go +++ b/flyteadmin/pkg/manager/impl/execution_manager.go @@ -452,7 +452,7 @@ func (m *ExecutionManager) getClusterAssignment(ctx context.Context, request *ad func (m *ExecutionManager) launchSingleTaskExecution( ctx context.Context, request admin.ExecutionCreateRequest, requestedAt time.Time) ( - context.Context, *models.Execution, error) { + context.Context, *models.Execution, map[string]*core.ArtifactID, error) { taskModel, err := m.db.TaskRepo().Get(ctx, repositoryInterfaces.Identifier{ Project: request.Spec.LaunchPlan.Project, @@ -461,11 +461,11 @@ func (m *ExecutionManager) launchSingleTaskExecution( Version: request.Spec.LaunchPlan.Version, }) if err != nil { - return nil, nil, err + return nil, nil, nil, err } task, err := transformers.FromTaskModel(taskModel) if err != nil { - return nil, nil, err + return nil, nil, nil, err } // Prepare a skeleton workflow @@ -474,15 +474,15 @@ func (m *ExecutionManager) launchSingleTaskExecution( util.CreateOrGetWorkflowModel(ctx, request, m.db, m.workflowManager, m.namedEntityManager, taskIdentifier, &task) if err != nil { logger.Debugf(ctx, "Failed to created skeleton workflow for [%+v] with err: %v", taskIdentifier, err) - return nil, nil, err + return nil, nil, nil, err } workflow, err := transformers.FromWorkflowModel(*workflowModel) if err != nil { - return nil, nil, err + return nil, nil, nil, err } closure, err := util.FetchAndGetWorkflowClosure(ctx, m.storageClient, workflowModel.RemoteClosureIdentifier) if err != nil { - return nil, nil, err + return nil, nil, nil, err } closure.CreatedAt = workflow.Closure.CreatedAt workflow.Closure = closure @@ -490,10 +490,10 @@ func (m *ExecutionManager) launchSingleTaskExecution( launchPlan, err := util.CreateOrGetLaunchPlan(ctx, m.db, m.config, taskIdentifier, workflow.Closure.CompiledWorkflow.Primary.Template.Interface, workflowModel.ID, request.Spec) if err != nil { - return nil, nil, err + return nil, nil, nil, err } - executionInputs, err := validation.CheckAndFetchInputsForExecution( + executionInputs, resolvedArtifactMap, err := validation.CheckAndFetchInputsForExecution( request.Inputs, launchPlan.Spec.FixedInputs, launchPlan.Closure.ExpectedInputs, @@ -502,7 +502,7 @@ func (m *ExecutionManager) launchSingleTaskExecution( logger.Debugf(ctx, "Failed to CheckAndFetchInputsForExecution with request.Inputs: %+v"+ "fixed inputs: %+v and expected inputs: %+v with err %v", request.Inputs, launchPlan.Spec.FixedInputs, launchPlan.Closure.ExpectedInputs, err) - return nil, nil, err + return nil, nil, nil, err } name := util.GetExecutionName(request) @@ -520,13 +520,14 @@ func (m *ExecutionManager) launchSingleTaskExecution( requestSpec.Metadata = &admin.ExecutionMetadata{} } requestSpec.Metadata.Principal = getUser(ctx) + requestSpec.Metadata.ArtifactIds = resolvedArtifactMap // Get the node execution (if any) that launched this execution var parentNodeExecutionID uint var sourceExecutionID uint parentNodeExecutionID, sourceExecutionID, err = m.getInheritedExecMetadata(ctx, requestSpec, &workflowExecutionID) if err != nil { - return nil, nil, err + return nil, nil, nil, err } // Dynamically assign task resource defaults. @@ -540,15 +541,15 @@ func (m *ExecutionManager) launchSingleTaskExecution( inputsURI, err := common.OffloadLiteralMap(ctx, m.storageClient, request.Inputs, workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.Inputs) if err != nil { - return nil, nil, err + return nil, nil, nil, err } userInputsURI, err := common.OffloadLiteralMap(ctx, m.storageClient, request.Inputs, workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.UserInputs) if err != nil { - return nil, nil, err + return nil, nil, nil, err } executionConfig, err := m.getExecutionConfig(ctx, &request, nil) if err != nil { - return nil, nil, err + return nil, nil, nil, err } var labels map[string]string @@ -558,7 +559,7 @@ func (m *ExecutionManager) launchSingleTaskExecution( labels, err = m.addProjectLabels(ctx, request.Project, labels) if err != nil { - return nil, nil, err + return nil, nil, nil, err } var annotations map[string]string @@ -573,7 +574,7 @@ func (m *ExecutionManager) launchSingleTaskExecution( clusterAssignment, err := m.getClusterAssignment(ctx, &request) if err != nil { - return nil, nil, err + return nil, nil, nil, err } executionParameters := workflowengineInterfaces.ExecutionParameters{ @@ -591,7 +592,7 @@ func (m *ExecutionManager) launchSingleTaskExecution( overrides, err := m.addPluginOverrides(ctx, &workflowExecutionID, workflowExecutionID.Name, "") if err != nil { - return nil, nil, err + return nil, nil, nil, err } if overrides != nil { executionParameters.TaskPluginOverrides = overrides @@ -616,7 +617,7 @@ func (m *ExecutionManager) launchSingleTaskExecution( m.systemMetrics.PropellerFailures.Inc() logger.Infof(ctx, "Failed to execute workflow %+v with execution id %+v and inputs %+v with err %v", request, workflowExecutionID, request.Inputs, err) - return nil, nil, err + return nil, nil, nil, err } executionCreatedAt := time.Now() acceptanceDelay := executionCreatedAt.Sub(requestedAt) @@ -657,10 +658,10 @@ func (m *ExecutionManager) launchSingleTaskExecution( if err != nil { logger.Infof(ctx, "Failed to create execution model in transformer for id: [%+v] with err: %v", workflowExecutionID, err) - return nil, nil, err + return nil, nil, nil, err } m.userMetrics.WorkflowExecutionInputBytes.Observe(float64(proto.Size(request.Inputs))) - return ctx, executionModel, nil + return ctx, executionModel, resolvedArtifactMap, nil } func resolveAuthRole(request *admin.ExecutionCreateRequest, launchPlan *admin.LaunchPlan) *admin.AuthRole { @@ -710,11 +711,17 @@ func resolveSecurityCtx(ctx context.Context, executionConfigSecurityCtx *core.Se func (m *ExecutionManager) launchExecutionAndPrepareModel( ctx context.Context, request admin.ExecutionCreateRequest, requestedAt time.Time) ( - context.Context, *models.Execution, error) { + context.Context, *models.Execution, map[string]*core.ArtifactID, error) { + + // Resolve artifacts. + // two sources of artifacts: launch plan and create execute request. + // - within the launch plan, the artifact will be in the Parameter map, and can come in the Literal, + // or as an ArtifactQuery. + err := validation.ValidateExecutionRequest(ctx, request, m.db, m.config.ApplicationConfiguration()) if err != nil { logger.Debugf(ctx, "Failed to validate ExecutionCreateRequest %+v with err %v", request, err) - return nil, nil, err + return nil, nil, nil, err } if request.Spec.LaunchPlan.ResourceType == core.ResourceType_TASK { logger.Debugf(ctx, "Launching single task execution with [%+v]", request.Spec.LaunchPlan) @@ -724,14 +731,16 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( launchPlanModel, err := util.GetLaunchPlanModel(ctx, m.db, *request.Spec.LaunchPlan) if err != nil { logger.Debugf(ctx, "Failed to get launch plan model for ExecutionCreateRequest %+v with err %v", request, err) - return nil, nil, err + return nil, nil, nil, err } launchPlan, err := transformers.FromLaunchPlanModel(launchPlanModel) if err != nil { logger.Debugf(ctx, "Failed to transform launch plan model %+v with err %v", launchPlanModel, err) - return nil, nil, err + return nil, nil, nil, err } - executionInputs, err := validation.CheckAndFetchInputsForExecution( + // Artifacts retrieved will need to be stored somewhere to ensure that we can re-emit events if necessary + // in the future, and also to make sure that relaunch and recover can use it if necessary. + executionInputs, resolvedArtifactMap, err := validation.CheckAndFetchInputsForExecution( request.Inputs, launchPlan.Spec.FixedInputs, launchPlan.Closure.ExpectedInputs, @@ -741,23 +750,23 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( logger.Debugf(ctx, "Failed to CheckAndFetchInputsForExecution with request.Inputs: %+v"+ "fixed inputs: %+v and expected inputs: %+v with err %v", request.Inputs, launchPlan.Spec.FixedInputs, launchPlan.Closure.ExpectedInputs, err) - return nil, nil, err + return nil, nil, nil, err } workflowModel, err := util.GetWorkflowModel(ctx, m.db, *launchPlan.Spec.WorkflowId) if err != nil { logger.Debugf(ctx, "Failed to get workflow with id %+v with err %v", launchPlan.Spec.WorkflowId, err) - return nil, nil, err + return nil, nil, nil, err } workflow, err := transformers.FromWorkflowModel(workflowModel) if err != nil { logger.Debugf(ctx, "Failed to get workflow with id %+v with err %v", launchPlan.Spec.WorkflowId, err) - return nil, nil, err + return nil, nil, nil, err } closure, err := util.FetchAndGetWorkflowClosure(ctx, m.storageClient, workflowModel.RemoteClosureIdentifier) if err != nil { logger.Debugf(ctx, "Failed to get workflow with id %+v with err %v", launchPlan.Spec.WorkflowId, err) - return nil, nil, err + return nil, nil, nil, err } closure.CreatedAt = workflow.Closure.CreatedAt workflow.Closure = closure @@ -774,13 +783,14 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( requestSpec.Metadata = &admin.ExecutionMetadata{} } requestSpec.Metadata.Principal = getUser(ctx) + requestSpec.Metadata.ArtifactIds = resolvedArtifactMap // Get the node and parent execution (if any) that launched this execution var parentNodeExecutionID uint var sourceExecutionID uint parentNodeExecutionID, sourceExecutionID, err = m.getInheritedExecMetadata(ctx, requestSpec, &workflowExecutionID) if err != nil { - return nil, nil, err + return nil, nil, nil, err } // Dynamically assign task resource defaults. @@ -794,16 +804,16 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( inputsURI, err := common.OffloadLiteralMap(ctx, m.storageClient, executionInputs, workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.Inputs) if err != nil { - return nil, nil, err + return nil, nil, nil, err } userInputsURI, err := common.OffloadLiteralMap(ctx, m.storageClient, request.Inputs, workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.UserInputs) if err != nil { - return nil, nil, err + return nil, nil, nil, err } executionConfig, err := m.getExecutionConfig(ctx, &request, launchPlan) if err != nil { - return nil, nil, err + return nil, nil, nil, err } namespace := common.GetNamespaceName( @@ -811,15 +821,15 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( labels, err := resolveStringMap(executionConfig.GetLabels(), launchPlan.Spec.Labels, "labels", m.config.RegistrationValidationConfiguration().GetMaxLabelEntries()) if err != nil { - return nil, nil, err + return nil, nil, nil, err } labels, err = m.addProjectLabels(ctx, request.Project, labels) if err != nil { - return nil, nil, err + return nil, nil, nil, err } annotations, err := resolveStringMap(executionConfig.GetAnnotations(), launchPlan.Spec.Annotations, "annotations", m.config.RegistrationValidationConfiguration().GetMaxAnnotationEntries()) if err != nil { - return nil, nil, err + return nil, nil, nil, err } var rawOutputDataConfig *admin.RawOutputDataConfig if executionConfig.RawOutputDataConfig != nil { @@ -828,7 +838,7 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( clusterAssignment, err := m.getClusterAssignment(ctx, &request) if err != nil { - return nil, nil, err + return nil, nil, nil, err } executionParameters := workflowengineInterfaces.ExecutionParameters{ @@ -846,7 +856,7 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( overrides, err := m.addPluginOverrides(ctx, &workflowExecutionID, launchPlan.GetSpec().WorkflowId.Name, launchPlan.Id.Name) if err != nil { - return nil, nil, err + return nil, nil, nil, err } if overrides != nil { executionParameters.TaskPluginOverrides = overrides @@ -872,7 +882,7 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( m.systemMetrics.PropellerFailures.Inc() logger.Infof(ctx, "Failed to execute workflow %+v with execution id %+v and inputs %+v with err %v", request, workflowExecutionID, executionInputs, err) - return nil, nil, err + return nil, nil, nil, err } executionCreatedAt := time.Now() acceptanceDelay := executionCreatedAt.Sub(requestedAt) @@ -913,9 +923,9 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( if err != nil { logger.Infof(ctx, "Failed to create execution model in transformer for id: [%+v] with err: %v", workflowExecutionID, err) - return nil, nil, err + return nil, nil, nil, err } - return ctx, executionModel, nil + return ctx, executionModel, resolvedArtifactMap, nil } // Inserts an execution model into the database store and emits platform metrics. @@ -939,6 +949,17 @@ func (m *ExecutionManager) createExecutionModel( return &workflowExecutionIdentifier, nil } +func (m *ExecutionManager) handleArtifactEvents(artifactIDs map[string]*core.ArtifactID, wfExecID core.WorkflowExecutionIdentifier) { + if artifactIDs != nil { + fmt.Printf("WF exec used %v", wfExecID.String()) + for _, artifactID := range artifactIDs { + if artifactID != nil { + fmt.Printf("artifactID: %v\n", artifactID) + } + } + } +} + func (m *ExecutionManager) CreateExecution( ctx context.Context, request admin.ExecutionCreateRequest, requestedAt time.Time) ( *admin.ExecutionCreateResponse, error) { @@ -948,7 +969,8 @@ func (m *ExecutionManager) CreateExecution( } var executionModel *models.Execution var err error - ctx, executionModel, err = m.launchExecutionAndPrepareModel(ctx, request, requestedAt) + var artifactIDs map[string]*core.ArtifactID + ctx, executionModel, artifactIDs, err = m.launchExecutionAndPrepareModel(ctx, request, requestedAt) if err != nil { return nil, err } @@ -956,6 +978,7 @@ func (m *ExecutionManager) CreateExecution( if err != nil { return nil, err } + m.handleArtifactEvents(artifactIDs, *workflowExecutionIdentifier) return &admin.ExecutionCreateResponse{ Id: workflowExecutionIdentifier, }, nil @@ -997,7 +1020,7 @@ func (m *ExecutionManager) RelaunchExecution( executionSpec.Metadata.ReferenceExecution = existingExecution.Id executionSpec.OverwriteCache = request.GetOverwriteCache() var executionModel *models.Execution - ctx, executionModel, err = m.launchExecutionAndPrepareModel(ctx, admin.ExecutionCreateRequest{ + ctx, executionModel, artifactIDs, err := m.launchExecutionAndPrepareModel(ctx, admin.ExecutionCreateRequest{ Project: request.Id.Project, Domain: request.Id.Domain, Name: request.Name, @@ -1012,6 +1035,7 @@ func (m *ExecutionManager) RelaunchExecution( if err != nil { return nil, err } + m.handleArtifactEvents(artifactIDs, *workflowExecutionIdentifier) logger.Debugf(ctx, "Successfully relaunched [%+v] as [%+v]", request.Id, workflowExecutionIdentifier) return &admin.ExecutionCreateResponse{ Id: workflowExecutionIdentifier, @@ -1048,7 +1072,7 @@ func (m *ExecutionManager) RecoverExecution( executionSpec.Metadata.Mode = admin.ExecutionMetadata_RECOVERED executionSpec.Metadata.ReferenceExecution = existingExecution.Id var executionModel *models.Execution - ctx, executionModel, err = m.launchExecutionAndPrepareModel(ctx, admin.ExecutionCreateRequest{ + ctx, executionModel, _, err = m.launchExecutionAndPrepareModel(ctx, admin.ExecutionCreateRequest{ Project: request.Id.Project, Domain: request.Id.Domain, Name: request.Name, diff --git a/flyteadmin/pkg/manager/impl/validation/execution_validator.go b/flyteadmin/pkg/manager/impl/validation/execution_validator.go index 73c31e1cc6..6920f44e49 100644 --- a/flyteadmin/pkg/manager/impl/validation/execution_validator.go +++ b/flyteadmin/pkg/manager/impl/validation/execution_validator.go @@ -76,11 +76,14 @@ func ValidateExecutionRequest(ctx context.Context, request admin.ExecutionCreate return nil } +// CheckAndFetchInputsForExecution will merge inputs and also resolve any artifacts that are required. +// A map will be returned for all artifacts used. func CheckAndFetchInputsForExecution( - userInputs *core.LiteralMap, fixedInputs *core.LiteralMap, expectedInputs *core.ParameterMap) (*core.LiteralMap, error) { + userInputs *core.LiteralMap, fixedInputs *core.LiteralMap, expectedInputs *core.ParameterMap) (*core.LiteralMap, map[string]*core.ArtifactID, error) { executionInputMap := map[string]*core.Literal{} expectedInputMap := map[string]*core.Parameter{} + resolvedArtifactMap := map[string]*core.ArtifactID{} if expectedInputs != nil && len(expectedInputs.GetParameters()) > 0 { expectedInputMap = expectedInputs.GetParameters() @@ -89,7 +92,7 @@ func CheckAndFetchInputsForExecution( if userInputs != nil && len(userInputs.GetLiterals()) > 0 { for name, value := range userInputs.GetLiterals() { if _, ok := expectedInputMap[name]; !ok { - return nil, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "invalid input %s", name) + return nil, resolvedArtifactMap, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "invalid input %s", name) } executionInputMap[name] = value } @@ -98,13 +101,20 @@ func CheckAndFetchInputsForExecution( for name, expectedInput := range expectedInputMap { if _, ok := executionInputMap[name]; !ok { if expectedInput.GetRequired() { - return nil, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "%s %s missing", shared.ExpectedInputs, name) + return nil, resolvedArtifactMap, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "%s %s missing", shared.ExpectedInputs, name) + } + // Look up from Artifact service if necessary + if expectedInput.GetArtifactQuery() != nil { + // should be executionInputMap[name] = artifactService.query(expectedInput.GetArtifactQuery()) + executionInputMap[name] = expectedInput.GetDefault() + } else { + // At this point, the Literal returned by GetDefault might still be an ArtifactID + executionInputMap[name] = expectedInput.GetDefault() } - executionInputMap[name] = expectedInput.GetDefault() } else { inputType := validators.LiteralTypeForLiteral(executionInputMap[name]) if !validators.AreTypesCastable(inputType, expectedInput.GetVar().GetType()) { - return nil, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "invalid %s input wrong type. Expected %s, but got %s", name, expectedInput.GetVar().GetType(), inputType) + return nil, resolvedArtifactMap, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "invalid %s input wrong type. Expected %s, but got %s", name, expectedInput.GetVar().GetType(), inputType) } } } @@ -112,15 +122,24 @@ func CheckAndFetchInputsForExecution( if fixedInputs != nil && len(fixedInputs.GetLiterals()) > 0 { for name, fixedInput := range fixedInputs.GetLiterals() { if _, ok := executionInputMap[name]; ok { - return nil, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "%s %s cannot be overridden", shared.FixedInputs, name) + return nil, resolvedArtifactMap, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "%s %s cannot be overridden", shared.FixedInputs, name) } executionInputMap[name] = fixedInput } } + // Resolve any artifacts that are required. + for name, input := range executionInputMap { + if input.GetArtifactId() != nil { + resolvedArtifactMap[name] = input.GetArtifactId() + // Replace the reference with the actual literal + // executionInputMap[name] = artifactService.GetArtifact(input.GetArtifactId()) + } + } + return &core.LiteralMap{ Literals: executionInputMap, - }, nil + }, resolvedArtifactMap, nil } func CheckValidExecutionID(executionID, fieldName string) error { From 8636731b869e9356cf9a6e45478483b8620958ac Mon Sep 17 00:00:00 2001 From: Yee Hing Tong Date: Wed, 19 Jul 2023 14:32:43 -0700 Subject: [PATCH 03/47] compiling Signed-off-by: Yee Hing Tong --- flyteadmin/dataproxy/service.go | 9 +- flyteadmin/flyteadmin_config.yaml | 4 + flyteadmin/go.mod | 7 +- flyteadmin/go.sum | 6 + flyteadmin/pkg/async/cloudevent/factory.go | 61 +++-- .../implementations/cloudevent_publisher.go | 233 +++++++++++++++++- .../async/cloudevent/redis/redis_publisher.go | 62 +++++ .../cloudevent/redis/redis_publisher_test.go | 33 +++ flyteadmin/pkg/common/cloud.go | 1 + flyteadmin/pkg/common/flyte_url.go | 7 + .../pkg/manager/impl/execution_manager.go | 184 +++++++++----- .../manager/impl/task_execution_manager.go | 121 +++++---- flyteadmin/pkg/rpc/adminservice/base.go | 3 +- .../interfaces/application_configuration.go | 20 ++ 14 files changed, 605 insertions(+), 146 deletions(-) create mode 100644 flyteadmin/pkg/async/cloudevent/redis/redis_publisher.go create mode 100644 flyteadmin/pkg/async/cloudevent/redis/redis_publisher_test.go diff --git a/flyteadmin/dataproxy/service.go b/flyteadmin/dataproxy/service.go index 604152bb12..7e35cdcaa9 100644 --- a/flyteadmin/dataproxy/service.go +++ b/flyteadmin/dataproxy/service.go @@ -5,13 +5,14 @@ import ( "encoding/base32" "encoding/base64" "fmt" - "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/artifact" "net/url" "reflect" "strconv" "strings" "time" + "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/artifact" + "github.com/flyteorg/flyteadmin/pkg/common" "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/core" @@ -103,9 +104,7 @@ func (s Service) CreateUploadLocation(ctx context.Context, req *service.CreateUp Project: req.Project, Domain: req.Domain, }, - Version: string(req.ContentMd5), - Uri: "", - Spec: req.GetArtifactSpec(), + Spec: req.GetArtifactSpec(), } fmt.Printf("Will call artifact service with request: %v\n", artifactCreate) // artifact := artifact_service.CreateArtifact @@ -120,9 +119,7 @@ func (s Service) CreateUploadLocation(ctx context.Context, req *service.CreateUp ArtifactKey: &core.ArtifactKey{ Project: req.Project, Domain: req.Domain, - Name: fmt.Sprintf("autogenerated.%s", req.Filename), }, - Version: string(req.ContentMd5), }, Uri: "flyte://random/returned/url", Spec: req.GetArtifactSpec(), diff --git a/flyteadmin/flyteadmin_config.yaml b/flyteadmin/flyteadmin_config.yaml index e3d19f7326..0632f00457 100644 --- a/flyteadmin/flyteadmin_config.yaml +++ b/flyteadmin/flyteadmin_config.yaml @@ -112,6 +112,10 @@ externalEvents: eventsPublisher: topicName: "bar" eventTypes: all +cloudEvents: + type: redis + redis: + addr: "localhost:6379" Logger: show-source: true level: 5 diff --git a/flyteadmin/go.mod b/flyteadmin/go.mod index 77b0355639..3efb908c46 100644 --- a/flyteadmin/go.mod +++ b/flyteadmin/go.mod @@ -13,7 +13,7 @@ require ( github.com/cloudevents/sdk-go/v2 v2.8.0 github.com/coreos/go-oidc v2.2.1+incompatible github.com/evanphx/json-patch v4.12.0+incompatible - github.com/flyteorg/flyteidl v1.5.7 + github.com/flyteorg/flyteidl v1.5.8-0.20230714175257-ad36544662c7 github.com/flyteorg/flyteplugins v1.0.56 github.com/flyteorg/flytepropeller v1.1.87 github.com/flyteorg/flytestdlib v1.0.15 @@ -85,11 +85,12 @@ require ( github.com/benlaurie/objecthash v0.0.0-20180202135721-d1e3d6079fc1 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash v1.1.0 // indirect - github.com/cespare/xxhash/v2 v2.1.2 // indirect + github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/coocood/freecache v1.1.1 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/decred/dcrd/dcrec/secp256k1/v3 v3.0.0 // indirect github.com/dgraph-io/ristretto v0.0.3 // indirect + github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect github.com/eapache/go-resiliency v1.2.0 // indirect github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 // indirect github.com/eapache/queue v1.1.0 // indirect @@ -158,6 +159,7 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/procfs v0.7.3 // indirect github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect + github.com/redis/go-redis/v9 v9.0.5 // indirect github.com/sendgrid/rest v2.6.8+incompatible // indirect github.com/sirupsen/logrus v1.8.1 // indirect github.com/spf13/afero v1.8.2 // indirect @@ -209,6 +211,7 @@ require ( ) replace github.com/robfig/cron/v3 => github.com/unionai/cron/v3 v3.0.2-0.20220915080349-5790c370e63a + replace github.com/flyteorg/flyteidl => ../flyteidl // Retracted versions diff --git a/flyteadmin/go.sum b/flyteadmin/go.sum index 255fa8893c..4cc33e1035 100644 --- a/flyteadmin/go.sum +++ b/flyteadmin/go.sum @@ -191,6 +191,8 @@ github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghf github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= +github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927 h1:SKI1/fuSdodxmNNyVBR8d7X/HuLnRpvvFO0AgyQk764= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= @@ -264,6 +266,8 @@ github.com/dgraph-io/ristretto v0.0.3/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70d github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/dnaeon/go-vcr v1.1.0 h1:ReYa/UBrRyQdant9B4fNHGoCNKw6qh6P0fsdGmZpR7c= github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= @@ -1306,6 +1310,8 @@ github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqn github.com/rcrowley/go-metrics v0.0.0-20190826022208-cac0b30c2563/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 h1:MkV+77GLUNo5oJ0jf870itWm3D0Sjh7+Za9gazKc5LQ= github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/redis/go-redis/v9 v9.0.5 h1:CuQcn5HIEeK7BgElubPP8CGtE0KakrnbBSTLjathl5o= +github.com/redis/go-redis/v9 v9.0.5/go.mod h1:WqMKv5vnQbRuZstUwxQI195wHy+t4PuXDOjzMvcuQHk= github.com/remyoudompheng/bigfft v0.0.0-20190728182440-6a916e37a237/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/rhnvrm/simples3 v0.5.0/go.mod h1:Y+3vYm2V7Y4VijFoJHHTrja6OgPrJ2cBti8dPGkC3sA= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= diff --git a/flyteadmin/pkg/async/cloudevent/factory.go b/flyteadmin/pkg/async/cloudevent/factory.go index a43d8749b5..728e92e3a5 100644 --- a/flyteadmin/pkg/async/cloudevent/factory.go +++ b/flyteadmin/pkg/async/cloudevent/factory.go @@ -4,6 +4,10 @@ import ( "context" "time" + dataInterfaces "github.com/flyteorg/flyteadmin/pkg/data/interfaces" + repositoryInterfaces "github.com/flyteorg/flyteadmin/pkg/repositories/interfaces" + "github.com/flyteorg/flytestdlib/storage" + "github.com/NYTimes/gizmo/pubsub" gizmoAWS "github.com/NYTimes/gizmo/pubsub/aws" gizmoGCP "github.com/NYTimes/gizmo/pubsub/gcp" @@ -13,6 +17,7 @@ import ( "github.com/flyteorg/flyteadmin/pkg/async" cloudEventImplementations "github.com/flyteorg/flyteadmin/pkg/async/cloudevent/implementations" "github.com/flyteorg/flyteadmin/pkg/async/cloudevent/interfaces" + redisPublisher "github.com/flyteorg/flyteadmin/pkg/async/cloudevent/redis" "github.com/flyteorg/flyteadmin/pkg/async/notifications/implementations" "github.com/flyteorg/flyteadmin/pkg/common" runtimeInterfaces "github.com/flyteorg/flyteadmin/pkg/runtime/interfaces" @@ -20,18 +25,20 @@ import ( "github.com/flyteorg/flytestdlib/promutils" ) -func NewCloudEventsPublisher(ctx context.Context, config runtimeInterfaces.CloudEventsConfig, scope promutils.Scope) interfaces.Publisher { - if !config.Enable { +func NewCloudEventsPublisher(ctx context.Context, db repositoryInterfaces.Repository, storageClient *storage.DataStore, urlData dataInterfaces.RemoteURLInterface, cloudEventsConfig runtimeInterfaces.CloudEventsConfig, remoteDataConfig runtimeInterfaces.RemoteDataConfig, scope promutils.Scope) interfaces.Publisher { + if !cloudEventsConfig.Enable { return implementations.NewNoopPublish() } - reconnectAttempts := config.ReconnectAttempts - reconnectDelay := time.Duration(config.ReconnectDelaySeconds) * time.Second - switch config.Type { + reconnectAttempts := cloudEventsConfig.ReconnectAttempts + reconnectDelay := time.Duration(cloudEventsConfig.ReconnectDelaySeconds) * time.Second + + var sender interfaces.Sender + switch cloudEventsConfig.Type { case common.AWS: snsConfig := gizmoAWS.SNSConfig{ - Topic: config.EventsPublisherConfig.TopicName, + Topic: cloudEventsConfig.EventsPublisherConfig.TopicName, } - snsConfig.Region = config.AWSConfig.Region + snsConfig.Region = cloudEventsConfig.AWSConfig.Region var publisher pubsub.Publisher var err error @@ -44,12 +51,13 @@ func NewCloudEventsPublisher(ctx context.Context, config runtimeInterfaces.Cloud if err != nil { panic(err) } - return cloudEventImplementations.NewCloudEventsPublisher(&cloudEventImplementations.PubSubSender{Pub: publisher}, scope, config.EventsPublisherConfig.EventTypes) + sender = &cloudEventImplementations.PubSubSender{Pub: publisher} + case common.GCP: pubsubConfig := gizmoGCP.Config{ - Topic: config.EventsPublisherConfig.TopicName, + Topic: cloudEventsConfig.EventsPublisherConfig.TopicName, } - pubsubConfig.ProjectID = config.GCPConfig.ProjectID + pubsubConfig.ProjectID = cloudEventsConfig.GCPConfig.ProjectID var publisher pubsub.MultiPublisher var err error err = async.Retry(reconnectAttempts, reconnectDelay, func() error { @@ -60,30 +68,51 @@ func NewCloudEventsPublisher(ctx context.Context, config runtimeInterfaces.Cloud if err != nil { panic(err) } - return cloudEventImplementations.NewCloudEventsPublisher(&cloudEventImplementations.PubSubSender{Pub: publisher}, scope, config.EventsPublisherConfig.EventTypes) + sender = &cloudEventImplementations.PubSubSender{Pub: publisher} + case cloudEventImplementations.Kafka: saramaConfig := sarama.NewConfig() var err error - saramaConfig.Version, err = sarama.ParseKafkaVersion(config.KafkaConfig.Version) + saramaConfig.Version, err = sarama.ParseKafkaVersion(cloudEventsConfig.KafkaConfig.Version) if err != nil { logger.Fatalf(ctx, "failed to parse kafka version, %v", err) panic(err) } - sender, err := kafka_sarama.NewSender(config.KafkaConfig.Brokers, saramaConfig, config.EventsPublisherConfig.TopicName) + kafkaSender, err := kafka_sarama.NewSender(cloudEventsConfig.KafkaConfig.Brokers, saramaConfig, cloudEventsConfig.EventsPublisherConfig.TopicName) if err != nil { panic(err) } - client, err := cloudevents.NewClient(sender, cloudevents.WithTimeNow(), cloudevents.WithUUIDs()) + client, err := cloudevents.NewClient(kafkaSender, cloudevents.WithTimeNow(), cloudevents.WithUUIDs()) if err != nil { logger.Fatalf(ctx, "failed to create kafka client, %v", err) panic(err) } - return cloudEventImplementations.NewCloudEventsPublisher(&cloudEventImplementations.KafkaSender{Client: client}, scope, config.EventsPublisherConfig.EventTypes) + sender = &cloudEventImplementations.KafkaSender{Client: client} + + case common.Redis: + var publisher pubsub.Publisher + var err error + err = async.Retry(reconnectAttempts, reconnectDelay, func() error { + publisher, err = redisPublisher.NewPublisher(cloudEventsConfig.RedisConfig) + return err + }) + + // Persistent errors should hard fail + if err != nil { + panic(err) + } + sender = &cloudEventImplementations.PubSubSender{Pub: publisher} + case common.Local: fallthrough default: logger.Infof(ctx, - "Using default noop cloud events publisher implementation for config type [%s]", config.Type) + "Using default noop cloud events publisher implementation for config type [%s]", cloudEventsConfig.Type) return implementations.NewNoopPublish() } + + if !cloudEventsConfig.TransformToCloudEvents { + return cloudEventImplementations.NewCloudEventsPublisher(sender, scope, cloudEventsConfig.EventsPublisherConfig.EventTypes) + } + return cloudEventImplementations.NewCloudEventsWrappedPublisher(db, sender, scope, storageClient, urlData, remoteDataConfig) } diff --git a/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go b/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go index 53dba62d4b..fb3bb603e0 100644 --- a/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go +++ b/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go @@ -7,13 +7,20 @@ import ( "reflect" "time" - "github.com/golang/protobuf/jsonpb" - - "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/admin" + dataInterfaces "github.com/flyteorg/flyteadmin/pkg/data/interfaces" + "github.com/flyteorg/flyteadmin/pkg/manager/impl/util" + repositoryInterfaces "github.com/flyteorg/flyteadmin/pkg/repositories/interfaces" + "github.com/flyteorg/flyteadmin/pkg/repositories/transformers" + runtimeInterfaces "github.com/flyteorg/flyteadmin/pkg/runtime/interfaces" + "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/core" + "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/event" + "github.com/flyteorg/flytestdlib/storage" - "github.com/flyteorg/flyteadmin/pkg/async/notifications/implementations" + "github.com/golang/protobuf/jsonpb" cloudevents "github.com/cloudevents/sdk-go/v2" + "github.com/flyteorg/flyteadmin/pkg/async/notifications/implementations" + "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/admin" "k8s.io/apimachinery/pkg/util/sets" @@ -107,20 +114,217 @@ func (p *Publisher) shouldPublishEvent(notificationType string) bool { return p.events.Has(notificationType) } +type CloudEventWrappedPublisher struct { + db repositoryInterfaces.Repository + sender interfaces.Sender + systemMetrics implementations.EventPublisherSystemMetrics + storageClient *storage.DataStore + urlData dataInterfaces.RemoteURLInterface + remoteDataConfig runtimeInterfaces.RemoteDataConfig +} + +func (c *CloudEventWrappedPublisher) TransformWorkflowExecutionEvent(ctx context.Context, rawEvent *event.WorkflowExecutionEvent) (*event.CloudEventWorkflowExecution, error) { + + // Basic error checking + if rawEvent == nil { + return nil, fmt.Errorf("nothing to publish, WorkflowExecution event is nil") + } + if rawEvent.ExecutionId == nil { + logger.Warningf(ctx, "nil execution id in event [%+v]", rawEvent) + return nil, fmt.Errorf("nil execution id in event [%+v]", rawEvent) + } + + // TODO: Make this one call to the DB instead of two. + executionModel, err := c.db.ExecutionRepo().Get(ctx, repositoryInterfaces.Identifier{ + Project: rawEvent.ExecutionId.Project, + Domain: rawEvent.ExecutionId.Domain, + Name: rawEvent.ExecutionId.Name, + }) + ex, err := transformers.FromExecutionModel(ctx, executionModel, nil) + if ex.Closure.WorkflowId == nil { + logger.Warningf(ctx, "workflow id is nil for execution [%+v]", ex) + return nil, fmt.Errorf("workflow id is nil for execution [%+v]", ex) + } + workflowModel, err := c.db.WorkflowRepo().Get(ctx, repositoryInterfaces.Identifier{ + Project: ex.Closure.WorkflowId.Project, + Domain: ex.Closure.WorkflowId.Domain, + Name: ex.Closure.WorkflowId.Name, + Version: ex.Closure.WorkflowId.Version, + }) + var workflowInterface core.TypedInterface + if workflowModel.TypedInterface != nil && len(workflowModel.TypedInterface) > 0 { + err = proto.Unmarshal(workflowModel.TypedInterface, &workflowInterface) + if err != nil { + return nil, fmt.Errorf( + "artifact eventing - failed to unmarshal TypedInterface for workflow [%+v] with err: %v", + workflowModel.ID, err) + } + } + + var outputs *core.LiteralMap + if rawEvent.GetOutputData() != nil { + fmt.Printf("remove this - Got output data") + outputs = rawEvent.GetOutputData() + } else if len(rawEvent.GetOutputUri()) > 0 { + fmt.Printf("remove this - Got output URI") + // GetInputs actually fetches the data, even though this is an output + outputs, _, err = util.GetInputs(ctx, c.urlData, &c.remoteDataConfig, c.storageClient, rawEvent.GetOutputUri()) + if err != nil { + // TODO: metric this + logger.Warningf(ctx, "Error fetching output literal map %v", rawEvent) + return nil, err + } + } + + if outputs == nil { + // todo: remove after testing + logger.Debugf(ctx, "Output data was nil for %v", rawEvent) + } + + return &event.CloudEventWorkflowExecution{ + RawEvent: rawEvent, + OutputData: outputs, + OutputInterface: &workflowInterface, + }, nil +} + +func (c *CloudEventWrappedPublisher) TransformNodeExecutionEvent(ctx context.Context, rawEvent *event.NodeExecutionEvent) (*event.CloudEventNodeExecution, error) { + return &event.CloudEventNodeExecution{ + RawEvent: rawEvent, + }, nil +} + +func (c *CloudEventWrappedPublisher) TransformTaskExecutionEvent(ctx context.Context, rawEvent *event.TaskExecutionEvent) (*event.CloudEventTaskExecution, error) { + if rawEvent == nil { + return nil, fmt.Errorf("nothing to publish, TaskExecution event is nil") + } + + taskModel, err := c.db.TaskRepo().Get(ctx, repositoryInterfaces.Identifier{ + Project: rawEvent.TaskId.Project, + Domain: rawEvent.TaskId.Domain, + Name: rawEvent.TaskId.Name, + Version: rawEvent.TaskId.Version, + }) + if err != nil { + // TODO: metric this + logger.Debugf(ctx, "Failed to get task with task id [%+v] with err %v", rawEvent.TaskId, err) + return nil, err + } + task, err := transformers.FromTaskModel(taskModel) + + var outputs *core.LiteralMap + if rawEvent.GetOutputData() != nil { + fmt.Printf("remove this - task Got output data") + outputs = rawEvent.GetOutputData() + } else if len(rawEvent.GetOutputUri()) > 0 { + fmt.Printf("remove this - task Got output URI") + // GetInputs actually fetches the data, even though this is an output + outputs, _, err = util.GetInputs(ctx, c.urlData, &c.remoteDataConfig, + c.storageClient, rawEvent.GetOutputUri()) + if err != nil { + fmt.Printf("Error fetching output literal map %v", rawEvent) + return nil, err + } + } + if outputs == nil { + // todo: remove + fmt.Printf("No output data found for task execution %v\n", rawEvent) + } + + return &event.CloudEventTaskExecution{ + RawEvent: rawEvent, + OutputData: outputs, + OutputInterface: task.Closure.CompiledTask.Template.Interface, + }, nil +} + +func (c *CloudEventWrappedPublisher) Publish(ctx context.Context, notificationType string, msg proto.Message) error { + c.systemMetrics.PublishTotal.Inc() + logger.Debugf(ctx, "Publishing the following message [%+v]", msg) + + var err error + var executionID string + var phase string + var eventTime time.Time + var finalMsg proto.Message + + switch msgType := msg.(type) { + case *admin.WorkflowExecutionEventRequest: + e := msgType.Event + executionID = e.ExecutionId.String() + phase = e.Phase.String() + eventTime = e.OccurredAt.AsTime() + + finalMsg, err = c.TransformWorkflowExecutionEvent(ctx, e) + if err != nil { + logger.Errorf(ctx, "Failed to transform workflow execution event with error: %v", err) + return err + } + + case *admin.TaskExecutionEventRequest: + e := msgType.Event + executionID = e.TaskId.String() + phase = e.Phase.String() + eventTime = e.OccurredAt.AsTime() + finalMsg, err = c.TransformTaskExecutionEvent(ctx, e) + case *admin.NodeExecutionEventRequest: + e := msgType.Event + executionID = msgType.Event.Id.String() + phase = e.Phase.String() + eventTime = e.OccurredAt.AsTime() + finalMsg, err = c.TransformNodeExecutionEvent(ctx, e) + default: + return fmt.Errorf("unsupported event types [%+v]", reflect.TypeOf(msg)) + } + + // Explicitly jsonpb marshal the proto. Otherwise, event.SetData will use json.Marshal which doesn't work well + // with proto oneof fields. + marshaler := jsonpb.Marshaler{} + buf := bytes.NewBuffer([]byte{}) + err = marshaler.Marshal(buf, finalMsg) + if err != nil { + c.systemMetrics.PublishError.Inc() + logger.Errorf(ctx, "Failed to jsonpb marshal [%v] with error: %v", msg, err) + return fmt.Errorf("failed to jsonpb marshal [%v] with error: %w", msg, err) + } + + cloudEvt := cloudevents.NewEvent() + // CloudEvent specification: https://github.com/cloudevents/spec/blob/v1.0/spec.md#required-attributes + cloudEvt.SetType(fmt.Sprintf("%v.%v", cloudEventTypePrefix, notificationType)) + cloudEvt.SetSource(cloudEventSource) + cloudEvt.SetID(fmt.Sprintf("%v.%v", executionID, phase)) + cloudEvt.SetTime(eventTime) + cloudEvt.SetExtension(jsonSchemaURLKey, jsonSchemaURL) + + if err := cloudEvt.SetData(cloudevents.ApplicationJSON, buf.Bytes()); err != nil { + c.systemMetrics.PublishError.Inc() + logger.Errorf(ctx, "Failed to encode message [%v] with error: %v", msg, err) + return err + } + + if err := c.sender.Send(ctx, notificationType, cloudEvt); err != nil { + c.systemMetrics.PublishError.Inc() + logger.Errorf(ctx, "Failed to send message [%v] with error: %v", msg, err) + return err + } + c.systemMetrics.PublishSuccess.Inc() + return nil +} + func NewCloudEventsPublisher(sender interfaces.Sender, scope promutils.Scope, eventTypes []string) interfaces.Publisher { eventSet := sets.NewString() - for _, event := range eventTypes { - if event == implementations.AllTypes || event == implementations.AllTypesShort { + for _, eventType := range eventTypes { + if eventType == implementations.AllTypes || eventType == implementations.AllTypesShort { for _, e := range implementations.SupportedEvents { eventSet = eventSet.Insert(e) } break } - if e, found := implementations.SupportedEvents[event]; found { + if e, found := implementations.SupportedEvents[eventType]; found { eventSet = eventSet.Insert(e) } else { - panic(fmt.Errorf("unsupported event type [%s] in the config", event)) + panic(fmt.Errorf("unsupported event type [%s] in the config", eventType)) } } @@ -130,3 +334,16 @@ func NewCloudEventsPublisher(sender interfaces.Sender, scope promutils.Scope, ev events: eventSet, } } + +func NewCloudEventsWrappedPublisher( + db repositoryInterfaces.Repository, sender interfaces.Sender, scope promutils.Scope, storageClient *storage.DataStore, urlData dataInterfaces.RemoteURLInterface, remoteDataConfig runtimeInterfaces.RemoteDataConfig) interfaces.Publisher { + + return &CloudEventWrappedPublisher{ + db: db, + sender: sender, + systemMetrics: implementations.NewEventPublisherSystemMetrics(scope.NewSubScope("cloudevents_publisher")), + storageClient: storageClient, + urlData: urlData, + remoteDataConfig: remoteDataConfig, + } +} diff --git a/flyteadmin/pkg/async/cloudevent/redis/redis_publisher.go b/flyteadmin/pkg/async/cloudevent/redis/redis_publisher.go new file mode 100644 index 0000000000..5c3c6e77c2 --- /dev/null +++ b/flyteadmin/pkg/async/cloudevent/redis/redis_publisher.go @@ -0,0 +1,62 @@ +package redis + +import ( + "context" + "fmt" + "github.com/flyteorg/flytestdlib/logger" + + "github.com/flyteorg/flyteadmin/pkg/runtime/interfaces" + "github.com/golang/protobuf/proto" + redisAPI "github.com/redis/go-redis/v9" +) + +// Publisher satisfies the gizmo/pubsub.Publisher interface. +type Publisher struct { + config interfaces.RedisConfig + client *redisAPI.Client + topicName string +} + +func (p *Publisher) Publish(ctx context.Context, topic string, msg proto.Message) error { + if len(topic) == 0 { + topic = p.topicName + } + logger.Debugf(ctx, "Publishing message to topic [%s]", topic) + + msgBytes, err := proto.Marshal(msg) + if err != nil { + return fmt.Errorf("failed to marshal message: %w", err) + } + + res := p.client.Publish(ctx, topic, msgBytes) + if res.Err() != nil { + return fmt.Errorf("failed to publish message to topic [%s]: %w", topic, res.Err()) + } + return nil +} + +func (p *Publisher) PublishRaw(ctx context.Context, topic string, msgBytes []byte) error { + if len(topic) == 0 { + topic = p.topicName + } + logger.Debugf(ctx, "Publishing raw message to topic [%s]", topic) + + res := p.client.Publish(ctx, topic, msgBytes) + if res.Err() != nil { + return fmt.Errorf("failed to publish raw message to topic [%s]: %w", topic, res.Err()) + } + return nil +} + +func NewPublisher(config interfaces.RedisConfig) (*Publisher, error) { + client := redisAPI.NewClient(&redisAPI.Options{ + Addr: config.Addr, + Password: config.Password, + DB: config.DB, + }) + + return &Publisher{ + config: config, + client: client, + }, nil +} diff --git a/flyteadmin/pkg/async/cloudevent/redis/redis_publisher_test.go b/flyteadmin/pkg/async/cloudevent/redis/redis_publisher_test.go new file mode 100644 index 0000000000..74a9776b4e --- /dev/null +++ b/flyteadmin/pkg/async/cloudevent/redis/redis_publisher_test.go @@ -0,0 +1,33 @@ +package redis + +import ( + "context" + "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/core" + "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/event" + "github.com/golang/protobuf/proto" + "github.com/stretchr/testify/assert" + "testing" + + redisAPI "github.com/redis/go-redis/v9" +) + +func TestRjkl(t *testing.T) { + ctx := context.TODO() + + client := redisAPI.NewClient(&redisAPI.Options{ + Addr: "localhost:6379", + }) + + e := event.WorkflowExecutionEvent{ + ExecutionId: &core.WorkflowExecutionIdentifier{ + Project: "project", + Domain: "domain", + Name: "name", + }, + ProducerId: "", + Phase: 0, + } + ee, _ := proto.Marshal(&e) + r := client.Publish(ctx, "channel007", ee) + assert.NoError(t, r.Err()) +} diff --git a/flyteadmin/pkg/common/cloud.go b/flyteadmin/pkg/common/cloud.go index cba0a68793..5e1ca47738 100644 --- a/flyteadmin/pkg/common/cloud.go +++ b/flyteadmin/pkg/common/cloud.go @@ -8,5 +8,6 @@ const ( AWS CloudProvider = "aws" GCP CloudProvider = "gcp" Local CloudProvider = "local" + Redis CloudProvider = "redis" None CloudProvider = "none" ) diff --git a/flyteadmin/pkg/common/flyte_url.go b/flyteadmin/pkg/common/flyte_url.go index 1b87d05f31..2611a8f1cc 100644 --- a/flyteadmin/pkg/common/flyte_url.go +++ b/flyteadmin/pkg/common/flyte_url.go @@ -139,6 +139,13 @@ func FlyteURLsFromNodeExecutionID(nodeExecutionID core.NodeExecutionIdentifier, return res } +// FlyteURLKeyFromNodeExecutionIDAndOutput is a modified version of the function above. +func FlyteURLKeyFromNodeExecutionIDAndOutput(nodeExecutionID core.NodeExecutionIdentifier, artifactType ArtifactType, outputName string) string { + res := fmt.Sprintf("%s/%s/%s/%s", nodeExecutionID.ExecutionId.Name, nodeExecutionID.NodeId, artifactType, outputName) + + return res +} + func FlyteURLsFromTaskExecutionID(taskExecutionID core.TaskExecutionIdentifier, deck bool) *admin.FlyteURLs { base := fmt.Sprintf("flyte://v1/%s/%s/%s/%s/%s", taskExecutionID.NodeExecutionId.ExecutionId.Project, taskExecutionID.NodeExecutionId.ExecutionId.Domain, taskExecutionID.NodeExecutionId.ExecutionId.Name, taskExecutionID.NodeExecutionId.NodeId, strconv.Itoa(int(taskExecutionID.RetryAttempt))) diff --git a/flyteadmin/pkg/manager/impl/execution_manager.go b/flyteadmin/pkg/manager/impl/execution_manager.go index 5a31d7d5bc..e1e5b28046 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager.go +++ b/flyteadmin/pkg/manager/impl/execution_manager.go @@ -3,8 +3,6 @@ package impl import ( "context" "fmt" - "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/artifact" - "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/event" "strconv" "time" @@ -1221,62 +1219,127 @@ func (m *ExecutionManager) emitOverallWorkflowExecutionTime( watch.Observe(*executionModel.ExecutionCreatedAt, terminalEventTime) } -func (m *ExecutionManager) tempHandleArtifactEventEmitting(ctx context.Context, request admin.WorkflowExecutionEventRequest) { - // Print out what the catalog service will eventually do. Can all this be retrieved just from the raw event? No. - // Missing: Artifact name and other info declared in the wf decorator. - var outputs *core.LiteralMap - var err error - if request.Event.GetOutputData() != nil { - fmt.Printf("Got output data") - outputs = request.Event.GetOutputData() - } else if len(request.Event.GetOutputUri()) > 0 { - fmt.Printf("Got output URI") - // GetInputs actually fetches the data, even though this is an output - outputs, _, err = util.GetInputs(ctx, m.urlData, m.config.ApplicationConfiguration().GetRemoteDataConfig(), - m.storageClient, request.Event.GetOutputUri()) - if err != nil { - fmt.Printf("Error fetching output literal map %v", request.Event) - } - } else { - fmt.Printf("No output data found for %v\n", request.Event) - } - if outputs != nil { - nodeExecutionID := core.NodeExecutionIdentifier{ - NodeId: "end-node", - ExecutionId: request.Event.ExecutionId, - } - urls := common.FlyteURLsFromNodeExecutionID(nodeExecutionID, false) - outputURLs := common.AppendLinksForLiteralMap(urls.GetInputs(), *outputs) - - for k, v := range outputs.Literals { - as := artifact.ArtifactSpec{ - Value: v, - // Type, tags and aliases will need to be filled in later - Source: &artifact.ArtifactSpec_Execution{ - Execution: request.Event.ExecutionId, - }, - } - ak := core.ArtifactKey{ - Project: request.Event.ExecutionId.Project, - Domain: request.Event.ExecutionId.Domain, - // This will need to be filled in later, will need to pull from task template, or set to - // something pretty unique, like the task ID. - Name: "", - } - - a := artifact.CreateArtifactRequest{ - ArtifactKey: &ak, - Version: request.Event.ExecutionId.Name, - Uri: outputURLs[k], - Spec: &as, - } - e := event.ArtifactCreateEvent{ - CreateRequest: &a, - } - print(fmt.Sprintf("Output %s, becomes artifact request: %v\n", k, e)) - } - } -} +//// getAliases creates a list of aliases for a given output in a workflow execution. It should be called once per +//// output for a given workflow execution. +//func (m *ExecutionManager) getAliases(workflowID core.Identifier, execID core.WorkflowExecutionIdentifier, typedInterface core.TypedInterface, outputName string) ([]*artifact.Alias, error) { +// +// if v, ok := typedInterface.Outputs.Variables[outputName]; ok { +// defaultAlias := &artifact.Alias{ +// Name: fmt.Sprintf("%s/%s", workflowID.Name, outputName), +// Value: execID.Name, +// } +// +// if v.Artifact != nil && len(v.Artifact.Spec.Aliases) > 0 { +// aliases := make([]*artifact.Alias, 0, len(v.Artifact.Spec.Aliases)+1) +// aliases = append(aliases, defaultAlias) +// for _, a := range v.Artifact.Spec.Aliases { +// aliases = append(aliases, &artifact.Alias{ +// Name: a.Name, +// Value: a.Value, +// }) +// } +// return aliases, nil +// } +// +// // If nothing specified by the user, just return the default alias. +// return []*artifact.Alias{defaultAlias}, nil +// } +// return nil, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "output [%s] not found in workflow interface [%v] for workflow [%v]", outputName, typedInterface, workflowID) +//} +// +//func (m *ExecutionManager) handleArtifactEventEmitting(ctx context.Context, request admin.WorkflowExecutionEventRequest) { +// // Basic error checking +// if request.Event.ExecutionId == nil { +// logger.Warningf(ctx, "nil execution id in event request [%+v]", request) +// return +// } +// +// // TODO: Make this one call to the DB instead of two. +// executionModel, err := m.db.ExecutionRepo().Get(ctx, repositoryInterfaces.Identifier{ +// Project: request.Event.ExecutionId.Project, +// Domain: request.Event.ExecutionId.Domain, +// Name: request.Event.ExecutionId.Name, +// }) +// ex, err := transformers.FromExecutionModel(ctx, executionModel, nil) +// if ex.Closure.WorkflowId == nil { +// logger.Warningf(ctx, "workflow id is nil for execution [%+v]", ex) +// return +// } +// workflowModel, err := m.db.WorkflowRepo().Get(ctx, repositoryInterfaces.Identifier{ +// Project: ex.Closure.WorkflowId.Project, +// Domain: ex.Closure.WorkflowId.Domain, +// Name: ex.Closure.WorkflowId.Name, +// Version: ex.Closure.WorkflowId.Version, +// }) +// var workflowInterface core.TypedInterface +// if workflowModel.TypedInterface != nil && len(workflowModel.TypedInterface) > 0 { +// err = proto.Unmarshal(workflowModel.TypedInterface, &workflowInterface) +// if err != nil { +// logger.Errorf(ctx, +// "Artifact eventing - failed to unmarshal TypedInterface for workflow [%+v] with err: %v", +// workflowModel.ID, err) +// return +// } +// } +// +// var outputs *core.LiteralMap +// if request.Event.GetOutputData() != nil { +// fmt.Printf("remove this - Got output data") +// outputs = request.Event.GetOutputData() +// } else if len(request.Event.GetOutputUri()) > 0 { +// fmt.Printf("remove this - Got output URI") +// // GetInputs actually fetches the data, even though this is an output +// outputs, _, err = util.GetInputs(ctx, m.urlData, m.config.ApplicationConfiguration().GetRemoteDataConfig(), +// m.storageClient, request.Event.GetOutputUri()) +// if err != nil { +// // TODO: metric this +// logger.Warningf(ctx, "Error fetching output literal map %v", request.Event) +// } +// } else { +// logger.Debugf(ctx, "Neither output data nor uri found for %v", request.Event) +// return +// } +// if outputs == nil { +// logger.Debugf(ctx, "Output data was nil for %v", request.Event) +// return +// } +// +// nodeExecutionID := core.NodeExecutionIdentifier{ +// NodeId: "end-node", +// ExecutionId: request.Event.ExecutionId, +// } +// +// for k, v := range outputs.Literals { +// // Use input type because workflow outputs are inputs to the end node. +// artifactKeySuffix := common.FlyteURLKeyFromNodeExecutionIDAndOutput(nodeExecutionID, common.ArtifactTypeI, k) +// +// aliases, err := m.getAliases(*ex.Closure.WorkflowId, *request.Event.ExecutionId, workflowInterface, k) +// if err != nil { +// logger.Errorf(ctx, "Failed getting alias for [%s] in workflow [%v], err: %v", k, ex.Closure.WorkflowId, err) +// } +// as := artifact.ArtifactSpec{ +// Value: v, +// Source: &artifact.ArtifactSpec_Execution{ +// Execution: request.Event.ExecutionId, +// }, +// Aliases: aliases, +// } +// ak := core.ArtifactKey{ +// Project: request.Event.ExecutionId.Project, +// Domain: request.Event.ExecutionId.Domain, +// Suffix: artifactKeySuffix, +// } +// +// a := artifact.CreateArtifactRequest{ +// ArtifactKey: &ak, +// Spec: &as, +// } +// e := event.ArtifactCreateEvent{ +// CreateRequest: &a, +// } +// print(fmt.Sprintf("Output %s, becomes artifact request: %v\n", k, e)) +// } +//} func (m *ExecutionManager) CreateWorkflowEvent(ctx context.Context, request admin.WorkflowExecutionEventRequest) ( *admin.WorkflowExecutionEventResponse, error) { @@ -1363,7 +1426,10 @@ func (m *ExecutionManager) CreateWorkflowEvent(ctx context.Context, request admi if request.Event.GetOutputData() != nil { m.userMetrics.WorkflowExecutionOutputBytes.Observe(float64(proto.Size(request.Event.GetOutputData()))) } - m.tempHandleArtifactEventEmitting(ctx, request) + //go func() { + // logger.Debugf(ctx, "Emitting workflow success artifact event flow for [%+v]", request) + // m.handleArtifactEventEmitting(ctx, request) + //}() err = m.publishNotifications(ctx, request, *executionModel) if err != nil { diff --git a/flyteadmin/pkg/manager/impl/task_execution_manager.go b/flyteadmin/pkg/manager/impl/task_execution_manager.go index 832cee54c5..06fef6489e 100644 --- a/flyteadmin/pkg/manager/impl/task_execution_manager.go +++ b/flyteadmin/pkg/manager/impl/task_execution_manager.go @@ -3,7 +3,6 @@ package impl import ( "context" "fmt" - "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/artifact" "strconv" cloudeventInterfaces "github.com/flyteorg/flyteadmin/pkg/async/cloudevent/interfaces" @@ -32,7 +31,6 @@ import ( runtimeInterfaces "github.com/flyteorg/flyteadmin/pkg/runtime/interfaces" "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/admin" "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/core" - "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/event" "github.com/flyteorg/flytestdlib/logger" "google.golang.org/grpc/codes" ) @@ -131,57 +129,69 @@ func (m *TaskExecutionManager) updateTaskExecutionModelState( return *existingTaskExecution, nil } -func (m *TaskExecutionManager) tempHandleArtifactEventEmitting(ctx context.Context, request admin.TaskExecutionEventRequest, taskExecutionID core.TaskExecutionIdentifier) { - // Print out what the catalog service will eventually do. Can all this be retrieved just from the raw event? No. - // Missing is: tags/aliases/given name - var outputs *core.LiteralMap - var err error - if request.Event.GetOutputData() != nil { - fmt.Printf("Got output data") - outputs = request.Event.GetOutputData() - } else if len(request.Event.GetOutputUri()) > 0 { - fmt.Printf("Got output URI") - // GetInputs actually fetches the data, even though this is an output - outputs, _, err = util.GetInputs(ctx, m.urlData, m.config.ApplicationConfiguration().GetRemoteDataConfig(), - m.storageClient, request.Event.GetOutputUri()) - if err != nil { - fmt.Printf("Error fetching output literal map %v", request.Event) - } - } else { - fmt.Printf("No output data found for %v\n", request.Event) - } - if outputs != nil { - urls := common.FlyteURLsFromTaskExecutionID(taskExecutionID, false) - outputURLs := common.AppendLinksForLiteralMap(urls.GetOutputs(), *outputs) - for k, v := range outputs.Literals { - as := artifact.ArtifactSpec{ - Value: v, - // Type, tags and aliases will need to be filled in later - Source: &artifact.ArtifactSpec_TaskExecution{ - TaskExecution: &taskExecutionID, - }, - } - ak := core.ArtifactKey{ - Project: request.Event.ParentNodeExecutionId.ExecutionId.Project, - Domain: request.Event.ParentNodeExecutionId.ExecutionId.Domain, - // This will need to be filled in later, will need to pull from task template, or set to - // something pretty unique, like the task ID. - Name: "", - } - - a := artifact.CreateArtifactRequest{ - ArtifactKey: &ak, - Version: request.Event.ParentNodeExecutionId.ExecutionId.Name, - Uri: outputURLs[k], - Spec: &as, - } - e := event.ArtifactCreateEvent{ - CreateRequest: &a, - } - print(fmt.Sprintf("Output %s, becomes artifact request: %v\n", k, e)) - } - } -} +//func (m *TaskExecutionManager) handleArtifactEventEmitting(ctx context.Context, request admin.TaskExecutionEventRequest, taskExecutionID core.TaskExecutionIdentifier) { +// +// taskModel, err := m.db.TaskRepo().Get(ctx, repoInterfaces.Identifier{ +// Project: request.Event.TaskId.Project, +// Domain: request.Event.TaskId.Domain, +// Name: request.Event.TaskId.Name, +// Version: request.Event.TaskId.Version, +// }) +// if err != nil { +// // TODO: metric this +// logger.Debugf(ctx, "Failed to get task with task id [%+v] with err %v", request.Event.TaskId, err) +// return +// } +// task, err := transformers.FromTaskModel(taskModel) +// task.Closure.CompiledTask.Template.Interface +// +// var outputs *core.LiteralMap +// if request.Event.GetOutputData() != nil { +// fmt.Printf("remove this - Got output data") +// outputs = request.Event.GetOutputData() +// } else if len(request.Event.GetOutputUri()) > 0 { +// fmt.Printf("remove this - Got output URI") +// // GetInputs actually fetches the data, even though this is an output +// outputs, _, err = util.GetInputs(ctx, m.urlData, m.config.ApplicationConfiguration().GetRemoteDataConfig(), +// m.storageClient, request.Event.GetOutputUri()) +// if err != nil { +// fmt.Printf("Error fetching output literal map %v", request.Event) +// } +// } else { +// fmt.Printf("No output data found for %v\n", request.Event) +// } +// if outputs != nil { +// urls := common.FlyteURLsFromTaskExecutionID(taskExecutionID, false) +// outputURLs := common.AppendLinksForLiteralMap(urls.GetOutputs(), *outputs) +// for k, v := range outputs.Literals { +// as := artifact.ArtifactSpec{ +// Value: v, +// // Type, tags and aliases will need to be filled in later +// Source: &artifact.ArtifactSpec_TaskExecution{ +// TaskExecution: &taskExecutionID, +// }, +// } +// ak := core.ArtifactKey{ +// Project: request.Event.ParentNodeExecutionId.ExecutionId.Project, +// Domain: request.Event.ParentNodeExecutionId.ExecutionId.Domain, +// // This will need to be filled in later, will need to pull from task template, or set to +// // something pretty unique, like the task ID. +// Name: "", +// } +// +// a := artifact.CreateArtifactRequest{ +// ArtifactKey: &ak, +// Version: request.Event.ParentNodeExecutionId.ExecutionId.Name, +// Uri: outputURLs[k], +// Spec: &as, +// } +// e := event.ArtifactCreateEvent{ +// CreateRequest: &a, +// } +// print(fmt.Sprintf("Output %s, becomes artifact request: %v\n", k, e)) +// } +// } +//} func (m *TaskExecutionManager) CreateTaskExecutionEvent(ctx context.Context, request admin.TaskExecutionEventRequest) ( *admin.TaskExecutionEventResponse, error) { @@ -256,7 +266,10 @@ func (m *TaskExecutionManager) CreateTaskExecutionEvent(ctx context.Context, req if request.Event.GetOutputData() != nil { m.metrics.TaskExecutionOutputBytes.Observe(float64(proto.Size(request.Event.GetOutputData()))) } - m.tempHandleArtifactEventEmitting(ctx, request, taskExecutionID) + //go func() { + // logger.Debugf(ctx, "Emitting task execution artifacts for [%+v] [%+v]", taskExecutionID, request) + // m.handleArtifactEventEmitting(ctx, request, taskExecutionID) + //}() } if err = m.notificationClient.Publish(ctx, proto.MessageName(&request), &request); err != nil { diff --git a/flyteadmin/pkg/rpc/adminservice/base.go b/flyteadmin/pkg/rpc/adminservice/base.go index 77c78f480e..4e3ee7f8aa 100644 --- a/flyteadmin/pkg/rpc/adminservice/base.go +++ b/flyteadmin/pkg/rpc/adminservice/base.go @@ -101,7 +101,6 @@ func NewAdminServer(ctx context.Context, pluginRegistry *plugins.Registry, confi publisher := notifications.NewNotificationsPublisher(*configuration.ApplicationConfiguration().GetNotificationsConfig(), adminScope) processor := notifications.NewNotificationsProcessor(*configuration.ApplicationConfiguration().GetNotificationsConfig(), adminScope) eventPublisher := notifications.NewEventsPublisher(*configuration.ApplicationConfiguration().GetExternalEventsConfig(), adminScope) - cloudEventPublisher := cloudevent.NewCloudEventsPublisher(ctx, *configuration.ApplicationConfiguration().GetCloudEventsConfig(), adminScope) go func() { logger.Info(ctx, "Started processing notifications.") processor.StartProcessing() @@ -130,6 +129,8 @@ func NewAdminServer(ctx context.Context, pluginRegistry *plugins.Registry, confi RemoteDataStoreClient: dataStorageClient, }).GetRemoteURLInterface() + cloudEventPublisher := cloudevent.NewCloudEventsPublisher(ctx, repo, dataStorageClient, urlData, *configuration.ApplicationConfiguration().GetCloudEventsConfig(), *configuration.ApplicationConfiguration().GetRemoteDataConfig(), adminScope) + workflowManager := manager.NewWorkflowManager( repo, configuration, workflowengineImpl.NewCompiler(), dataStorageClient, applicationConfiguration.GetMetadataStoragePrefix(), adminScope.NewSubScope("workflow_manager")) diff --git a/flyteadmin/pkg/runtime/interfaces/application_configuration.go b/flyteadmin/pkg/runtime/interfaces/application_configuration.go index cf9bf2e9ed..aeb0ab34ec 100644 --- a/flyteadmin/pkg/runtime/interfaces/application_configuration.go +++ b/flyteadmin/pkg/runtime/interfaces/application_configuration.go @@ -226,6 +226,23 @@ type KafkaConfig struct { Brokers []string `json:"brokers"` } +// RedisConfig is basically a subset of the client options in the Redis library +type RedisConfig struct { + // host:port address. + Addr string `json:"addr"` + // Use the specified Username to authenticate the current connection + // with one of the connections defined in the ACL list when connecting + // to a Redis 6.0 instance, or greater, that is using the Redis ACL system. + Username string `json:"username"` + // Optional password. Must match the password specified in the + // requirepass server configuration option (if connecting to a Redis 5.0 instance, or lower), + // or the User Password when connecting to a Redis 6.0 instance, or greater, + // that is using the Redis ACL system. + Password string `json:"password"` + // Database to be selected after connecting to the server. + DB int `json:"db"` +} + // This section holds configuration for the event scheduler used to schedule workflow executions. type EventSchedulerConfig struct { // Defines the cloud provider that backs the scheduler. In the absence of a specification the no-op, 'local' @@ -526,12 +543,15 @@ type CloudEventsConfig struct { AWSConfig AWSConfig `json:"aws"` GCPConfig GCPConfig `json:"gcp"` KafkaConfig KafkaConfig `json:"kafka"` + RedisConfig RedisConfig `json:"redis"` // Publish events to a pubsub tops EventsPublisherConfig EventsPublisherConfig `json:"eventsPublisher"` // Number of times to attempt recreating a notifications processor client should there be any disruptions. ReconnectAttempts int `json:"reconnectAttempts"` // Specifies the time interval to wait before attempting to reconnect the notifications processor client. ReconnectDelaySeconds int `json:"reconnectDelaySeconds"` + // Transform the raw events into the fuller cloudevent events before publishing + TransformToCloudEvents bool `json:"transformToCloudEvents"` } // Configuration specific to notifications handling From c208b12752630d3f79c5a4aae509b11caf28324d Mon Sep 17 00:00:00 2001 From: Yee Hing Tong Date: Mon, 24 Jul 2023 11:31:17 -0700 Subject: [PATCH 04/47] rename events, only transform on succeeded, background context, receiving on redis side Signed-off-by: Yee Hing Tong --- flyteadmin/flyteadmin_config.yaml | 1 + flyteadmin/pkg/async/cloudevent/factory.go | 1 + .../implementations/cloudevent_publisher.go | 29 +++++++++++++++++-- .../pkg/manager/impl/execution_manager.go | 3 +- .../manager/impl/task_execution_manager.go | 3 +- .../repositories/transformers/execution.go | 6 ++++ 6 files changed, 38 insertions(+), 5 deletions(-) diff --git a/flyteadmin/flyteadmin_config.yaml b/flyteadmin/flyteadmin_config.yaml index 0632f00457..ab56c88953 100644 --- a/flyteadmin/flyteadmin_config.yaml +++ b/flyteadmin/flyteadmin_config.yaml @@ -113,6 +113,7 @@ externalEvents: topicName: "bar" eventTypes: all cloudEvents: + enable: true type: redis redis: addr: "localhost:6379" diff --git a/flyteadmin/pkg/async/cloudevent/factory.go b/flyteadmin/pkg/async/cloudevent/factory.go index 728e92e3a5..8166c60727 100644 --- a/flyteadmin/pkg/async/cloudevent/factory.go +++ b/flyteadmin/pkg/async/cloudevent/factory.go @@ -96,6 +96,7 @@ func NewCloudEventsPublisher(ctx context.Context, db repositoryInterfaces.Reposi publisher, err = redisPublisher.NewPublisher(cloudEventsConfig.RedisConfig) return err }) + logger.Infof(ctx, "Using Redis cloud events publisher [%v]", publisher) // Persistent errors should hard fail if err != nil { diff --git a/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go b/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go index fb3bb603e0..44a29b1ac7 100644 --- a/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go +++ b/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go @@ -134,13 +134,22 @@ func (c *CloudEventWrappedPublisher) TransformWorkflowExecutionEvent(ctx context return nil, fmt.Errorf("nil execution id in event [%+v]", rawEvent) } + // For now, don't append any additional information unless succeeded + if rawEvent.Phase != core.WorkflowExecution_SUCCEEDED { + return &event.CloudEventWorkflowExecution{ + RawEvent: rawEvent, + OutputData: nil, + OutputInterface: nil, + }, nil + } + // TODO: Make this one call to the DB instead of two. executionModel, err := c.db.ExecutionRepo().Get(ctx, repositoryInterfaces.Identifier{ Project: rawEvent.ExecutionId.Project, Domain: rawEvent.ExecutionId.Domain, Name: rawEvent.ExecutionId.Name, }) - ex, err := transformers.FromExecutionModel(ctx, executionModel, nil) + ex, err := transformers.FromExecutionModel(ctx, executionModel, transformers.DefaultExecutionTransformerOptions) if ex.Closure.WorkflowId == nil { logger.Warningf(ctx, "workflow id is nil for execution [%+v]", ex) return nil, fmt.Errorf("workflow id is nil for execution [%+v]", ex) @@ -199,6 +208,15 @@ func (c *CloudEventWrappedPublisher) TransformTaskExecutionEvent(ctx context.Con return nil, fmt.Errorf("nothing to publish, TaskExecution event is nil") } + // For now, don't append any additional information unless succeeded + if rawEvent.Phase != core.TaskExecution_SUCCEEDED { + return &event.CloudEventTaskExecution{ + RawEvent: rawEvent, + OutputData: nil, + OutputInterface: nil, + }, nil + } + taskModel, err := c.db.TaskRepo().Get(ctx, repositoryInterfaces.Identifier{ Project: rawEvent.TaskId.Project, Domain: rawEvent.TaskId.Domain, @@ -247,9 +265,12 @@ func (c *CloudEventWrappedPublisher) Publish(ctx context.Context, notificationTy var phase string var eventTime time.Time var finalMsg proto.Message + // this is a modified notification type. will be used for both event type and publishing topic. + var topic string switch msgType := msg.(type) { case *admin.WorkflowExecutionEventRequest: + topic = "cloudevents.WorkflowExecution" e := msgType.Event executionID = e.ExecutionId.String() phase = e.Phase.String() @@ -262,12 +283,14 @@ func (c *CloudEventWrappedPublisher) Publish(ctx context.Context, notificationTy } case *admin.TaskExecutionEventRequest: + topic = "cloudevents.TaskExecution" e := msgType.Event executionID = e.TaskId.String() phase = e.Phase.String() eventTime = e.OccurredAt.AsTime() finalMsg, err = c.TransformTaskExecutionEvent(ctx, e) case *admin.NodeExecutionEventRequest: + topic = "cloudevents.NodeExecution" e := msgType.Event executionID = msgType.Event.Id.String() phase = e.Phase.String() @@ -290,7 +313,7 @@ func (c *CloudEventWrappedPublisher) Publish(ctx context.Context, notificationTy cloudEvt := cloudevents.NewEvent() // CloudEvent specification: https://github.com/cloudevents/spec/blob/v1.0/spec.md#required-attributes - cloudEvt.SetType(fmt.Sprintf("%v.%v", cloudEventTypePrefix, notificationType)) + cloudEvt.SetType(fmt.Sprintf("%v.%v", cloudEventTypePrefix, topic)) cloudEvt.SetSource(cloudEventSource) cloudEvt.SetID(fmt.Sprintf("%v.%v", executionID, phase)) cloudEvt.SetTime(eventTime) @@ -302,7 +325,7 @@ func (c *CloudEventWrappedPublisher) Publish(ctx context.Context, notificationTy return err } - if err := c.sender.Send(ctx, notificationType, cloudEvt); err != nil { + if err := c.sender.Send(ctx, topic, cloudEvt); err != nil { c.systemMetrics.PublishError.Inc() logger.Errorf(ctx, "Failed to send message [%v] with error: %v", msg, err) return err diff --git a/flyteadmin/pkg/manager/impl/execution_manager.go b/flyteadmin/pkg/manager/impl/execution_manager.go index e1e5b28046..0f5da69fb1 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager.go +++ b/flyteadmin/pkg/manager/impl/execution_manager.go @@ -1447,7 +1447,8 @@ func (m *ExecutionManager) CreateWorkflowEvent(ctx context.Context, request admi } go func() { - if err := m.cloudEventPublisher.Publish(ctx, proto.MessageName(&request), &request); err != nil { + ceCtx := context.TODO() + if err := m.cloudEventPublisher.Publish(ceCtx, proto.MessageName(&request), &request); err != nil { m.systemMetrics.PublishEventError.Inc() logger.Infof(ctx, "error publishing cloud event [%+v] with err: [%v]", request.RequestId, err) } diff --git a/flyteadmin/pkg/manager/impl/task_execution_manager.go b/flyteadmin/pkg/manager/impl/task_execution_manager.go index 06fef6489e..9378006a92 100644 --- a/flyteadmin/pkg/manager/impl/task_execution_manager.go +++ b/flyteadmin/pkg/manager/impl/task_execution_manager.go @@ -278,7 +278,8 @@ func (m *TaskExecutionManager) CreateTaskExecutionEvent(ctx context.Context, req } go func() { - if err := m.cloudEventsPublisher.Publish(ctx, proto.MessageName(&request), &request); err != nil { + ceCtx := context.TODO() + if err := m.cloudEventsPublisher.Publish(ceCtx, proto.MessageName(&request), &request); err != nil { logger.Infof(ctx, "error publishing cloud event [%+v] with err: [%v]", request.RequestId, err) } }() diff --git a/flyteadmin/pkg/repositories/transformers/execution.go b/flyteadmin/pkg/repositories/transformers/execution.go index de0d986afa..eb54cb9c23 100644 --- a/flyteadmin/pkg/repositories/transformers/execution.go +++ b/flyteadmin/pkg/repositories/transformers/execution.go @@ -322,6 +322,12 @@ func GetExecutionIdentifier(executionModel *models.Execution) core.WorkflowExecu func FromExecutionModel(ctx context.Context, executionModel models.Execution, opts *ExecutionTransformerOptions) (*admin.Execution, error) { var spec admin.ExecutionSpec var err error + if executionModel.Spec == nil { + fmt.Println("!!@ executionModel.Spec is nil") + } + if opts == nil { + fmt.Println("!!@ opts is nil") + } if err = proto.Unmarshal(executionModel.Spec, &spec); err != nil { return nil, errors.NewFlyteAdminErrorf(codes.Internal, "failed to unmarshal spec") } From 43cc5d868e0d1afb1a6e52bba4e401e991ee18e2 Mon Sep 17 00:00:00 2001 From: Yee Hing Tong Date: Tue, 25 Jul 2023 15:42:38 -0700 Subject: [PATCH 05/47] marshal by json instead of bytes, remove helper function, add new key functions, update the source field Signed-off-by: Yee Hing Tong --- .../implementations/cloudevent_publisher.go | 18 ++++++++++++++- .../cloudevent/implementations/sender.go | 4 ++-- flyteadmin/pkg/common/flyte_url.go | 22 +++++++++---------- .../manager/impl/node_execution_manager.go | 3 ++- 4 files changed, 31 insertions(+), 16 deletions(-) diff --git a/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go b/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go index 44a29b1ac7..fda8e75bd4 100644 --- a/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go +++ b/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go @@ -4,6 +4,7 @@ import ( "bytes" "context" "fmt" + "github.com/flyteorg/flyteadmin/pkg/common" "reflect" "time" @@ -267,6 +268,7 @@ func (c *CloudEventWrappedPublisher) Publish(ctx context.Context, notificationTy var finalMsg proto.Message // this is a modified notification type. will be used for both event type and publishing topic. var topic string + var eventSource = cloudEventSource switch msgType := msg.(type) { case *admin.WorkflowExecutionEventRequest: @@ -276,6 +278,11 @@ func (c *CloudEventWrappedPublisher) Publish(ctx context.Context, notificationTy phase = e.Phase.String() eventTime = e.OccurredAt.AsTime() + dummyNodeExecutionID := core.NodeExecutionIdentifier{ + NodeId: "end-node", + ExecutionId: e.ExecutionId, + } + eventSource = common.FlyteURLKeyFromNodeExecutionID(dummyNodeExecutionID, common.ArtifactTypeI) finalMsg, err = c.TransformWorkflowExecutionEvent(ctx, e) if err != nil { logger.Errorf(ctx, "Failed to transform workflow execution event with error: %v", err) @@ -288,6 +295,12 @@ func (c *CloudEventWrappedPublisher) Publish(ctx context.Context, notificationTy executionID = e.TaskId.String() phase = e.Phase.String() eventTime = e.OccurredAt.AsTime() + + if e.ParentNodeExecutionId == nil { + return fmt.Errorf("parent node execution id is nil for task execution [%+v]", e) + } + eventSource = common.FlyteURLKeyFromNodeExecutionIDRetry(*e.ParentNodeExecutionId, + int(e.RetryAttempt), common.ArtifactTypeO) finalMsg, err = c.TransformTaskExecutionEvent(ctx, e) case *admin.NodeExecutionEventRequest: topic = "cloudevents.NodeExecution" @@ -314,7 +327,10 @@ func (c *CloudEventWrappedPublisher) Publish(ctx context.Context, notificationTy cloudEvt := cloudevents.NewEvent() // CloudEvent specification: https://github.com/cloudevents/spec/blob/v1.0/spec.md#required-attributes cloudEvt.SetType(fmt.Sprintf("%v.%v", cloudEventTypePrefix, topic)) - cloudEvt.SetSource(cloudEventSource) + // According to the spec, the combination of source and id should be unique. + // Artifact service's uniqueness is project/domain/suffix. project/domain are available from the execution id. + // so set the suffix as the source. Can ignore ID since Artifact will only listen to succeeded events. + cloudEvt.SetSource(eventSource) cloudEvt.SetID(fmt.Sprintf("%v.%v", executionID, phase)) cloudEvt.SetTime(eventTime) cloudEvt.SetExtension(jsonSchemaURLKey, jsonSchemaURL) diff --git a/flyteadmin/pkg/async/cloudevent/implementations/sender.go b/flyteadmin/pkg/async/cloudevent/implementations/sender.go index 0b0c6f9ebf..66bacbbaaf 100644 --- a/flyteadmin/pkg/async/cloudevent/implementations/sender.go +++ b/flyteadmin/pkg/async/cloudevent/implementations/sender.go @@ -2,11 +2,11 @@ package implementations import ( "context" + "encoding/json" "fmt" "github.com/NYTimes/gizmo/pubsub" "github.com/Shopify/sarama" - pbcloudevents "github.com/cloudevents/sdk-go/binding/format/protobuf/v2" "github.com/cloudevents/sdk-go/protocol/kafka_sarama/v2" cloudevents "github.com/cloudevents/sdk-go/v2" "github.com/flyteorg/flytestdlib/logger" @@ -24,7 +24,7 @@ type PubSubSender struct { } func (s *PubSubSender) Send(ctx context.Context, notificationType string, event cloudevents.Event) error { - eventByte, err := pbcloudevents.Protobuf.Marshal(&event) + eventByte, err := json.Marshal(&event) if err != nil { logger.Errorf(ctx, "Failed to marshal cloudevent with error: %v", err) return err diff --git a/flyteadmin/pkg/common/flyte_url.go b/flyteadmin/pkg/common/flyte_url.go index 2611a8f1cc..c8dd7c68c2 100644 --- a/flyteadmin/pkg/common/flyte_url.go +++ b/flyteadmin/pkg/common/flyte_url.go @@ -139,9 +139,16 @@ func FlyteURLsFromNodeExecutionID(nodeExecutionID core.NodeExecutionIdentifier, return res } -// FlyteURLKeyFromNodeExecutionIDAndOutput is a modified version of the function above. -func FlyteURLKeyFromNodeExecutionIDAndOutput(nodeExecutionID core.NodeExecutionIdentifier, artifactType ArtifactType, outputName string) string { - res := fmt.Sprintf("%s/%s/%s/%s", nodeExecutionID.ExecutionId.Name, nodeExecutionID.NodeId, artifactType, outputName) +// FlyteURLKeyFromNodeExecutionID is a modified version of the function above. +func FlyteURLKeyFromNodeExecutionID(nodeExecutionID core.NodeExecutionIdentifier, artifactType ArtifactType) string { + res := fmt.Sprintf("%s/%s/%s", nodeExecutionID.ExecutionId.Name, nodeExecutionID.NodeId, artifactType) + + return res +} + +// FlyteURLKeyFromNodeExecutionID is a modified version of the function above. +func FlyteURLKeyFromNodeExecutionIDRetry(nodeExecutionID core.NodeExecutionIdentifier, retry int, artifactType ArtifactType) string { + res := fmt.Sprintf("%s/%s/%s/%s", nodeExecutionID.ExecutionId.Name, nodeExecutionID.NodeId, strconv.Itoa(retry), artifactType) return res } @@ -159,12 +166,3 @@ func FlyteURLsFromTaskExecutionID(taskExecutionID core.TaskExecutionIdentifier, } return res } - -// AppendLinksForLiteralMap returns a map of URLs for each output in the supplied literal map. -func AppendLinksForLiteralMap(baseOutputURL string, literalMap core.LiteralMap) map[string]string { - res := make(map[string]string, len(literalMap.Literals)) - for k, _ := range literalMap.Literals { - res[k] = fmt.Sprintf("%s/%s", baseOutputURL, k) - } - return res -} diff --git a/flyteadmin/pkg/manager/impl/node_execution_manager.go b/flyteadmin/pkg/manager/impl/node_execution_manager.go index bcc4362dbd..e638aaa4cd 100644 --- a/flyteadmin/pkg/manager/impl/node_execution_manager.go +++ b/flyteadmin/pkg/manager/impl/node_execution_manager.go @@ -297,7 +297,8 @@ func (m *NodeExecutionManager) CreateNodeEvent(ctx context.Context, request admi } go func() { - if err := m.cloudEventPublisher.Publish(ctx, proto.MessageName(&request), &request); err != nil { + ceCtx := context.TODO() + if err := m.cloudEventPublisher.Publish(ceCtx, proto.MessageName(&request), &request); err != nil { logger.Infof(ctx, "error publishing cloud event [%+v] with err: [%v]", request.RequestId, err) } }() From 878cbccc54ac909b12b518304d323a182c1ef5d3 Mon Sep 17 00:00:00 2001 From: Yee Hing Tong Date: Tue, 25 Jul 2023 15:44:05 -0700 Subject: [PATCH 06/47] remove code that used to handle creation of artifact events Signed-off-by: Yee Hing Tong --- .../pkg/manager/impl/execution_manager.go | 126 ------------------ .../manager/impl/task_execution_manager.go | 68 ---------- 2 files changed, 194 deletions(-) diff --git a/flyteadmin/pkg/manager/impl/execution_manager.go b/flyteadmin/pkg/manager/impl/execution_manager.go index 0f5da69fb1..429cbe1888 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager.go +++ b/flyteadmin/pkg/manager/impl/execution_manager.go @@ -1219,128 +1219,6 @@ func (m *ExecutionManager) emitOverallWorkflowExecutionTime( watch.Observe(*executionModel.ExecutionCreatedAt, terminalEventTime) } -//// getAliases creates a list of aliases for a given output in a workflow execution. It should be called once per -//// output for a given workflow execution. -//func (m *ExecutionManager) getAliases(workflowID core.Identifier, execID core.WorkflowExecutionIdentifier, typedInterface core.TypedInterface, outputName string) ([]*artifact.Alias, error) { -// -// if v, ok := typedInterface.Outputs.Variables[outputName]; ok { -// defaultAlias := &artifact.Alias{ -// Name: fmt.Sprintf("%s/%s", workflowID.Name, outputName), -// Value: execID.Name, -// } -// -// if v.Artifact != nil && len(v.Artifact.Spec.Aliases) > 0 { -// aliases := make([]*artifact.Alias, 0, len(v.Artifact.Spec.Aliases)+1) -// aliases = append(aliases, defaultAlias) -// for _, a := range v.Artifact.Spec.Aliases { -// aliases = append(aliases, &artifact.Alias{ -// Name: a.Name, -// Value: a.Value, -// }) -// } -// return aliases, nil -// } -// -// // If nothing specified by the user, just return the default alias. -// return []*artifact.Alias{defaultAlias}, nil -// } -// return nil, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "output [%s] not found in workflow interface [%v] for workflow [%v]", outputName, typedInterface, workflowID) -//} -// -//func (m *ExecutionManager) handleArtifactEventEmitting(ctx context.Context, request admin.WorkflowExecutionEventRequest) { -// // Basic error checking -// if request.Event.ExecutionId == nil { -// logger.Warningf(ctx, "nil execution id in event request [%+v]", request) -// return -// } -// -// // TODO: Make this one call to the DB instead of two. -// executionModel, err := m.db.ExecutionRepo().Get(ctx, repositoryInterfaces.Identifier{ -// Project: request.Event.ExecutionId.Project, -// Domain: request.Event.ExecutionId.Domain, -// Name: request.Event.ExecutionId.Name, -// }) -// ex, err := transformers.FromExecutionModel(ctx, executionModel, nil) -// if ex.Closure.WorkflowId == nil { -// logger.Warningf(ctx, "workflow id is nil for execution [%+v]", ex) -// return -// } -// workflowModel, err := m.db.WorkflowRepo().Get(ctx, repositoryInterfaces.Identifier{ -// Project: ex.Closure.WorkflowId.Project, -// Domain: ex.Closure.WorkflowId.Domain, -// Name: ex.Closure.WorkflowId.Name, -// Version: ex.Closure.WorkflowId.Version, -// }) -// var workflowInterface core.TypedInterface -// if workflowModel.TypedInterface != nil && len(workflowModel.TypedInterface) > 0 { -// err = proto.Unmarshal(workflowModel.TypedInterface, &workflowInterface) -// if err != nil { -// logger.Errorf(ctx, -// "Artifact eventing - failed to unmarshal TypedInterface for workflow [%+v] with err: %v", -// workflowModel.ID, err) -// return -// } -// } -// -// var outputs *core.LiteralMap -// if request.Event.GetOutputData() != nil { -// fmt.Printf("remove this - Got output data") -// outputs = request.Event.GetOutputData() -// } else if len(request.Event.GetOutputUri()) > 0 { -// fmt.Printf("remove this - Got output URI") -// // GetInputs actually fetches the data, even though this is an output -// outputs, _, err = util.GetInputs(ctx, m.urlData, m.config.ApplicationConfiguration().GetRemoteDataConfig(), -// m.storageClient, request.Event.GetOutputUri()) -// if err != nil { -// // TODO: metric this -// logger.Warningf(ctx, "Error fetching output literal map %v", request.Event) -// } -// } else { -// logger.Debugf(ctx, "Neither output data nor uri found for %v", request.Event) -// return -// } -// if outputs == nil { -// logger.Debugf(ctx, "Output data was nil for %v", request.Event) -// return -// } -// -// nodeExecutionID := core.NodeExecutionIdentifier{ -// NodeId: "end-node", -// ExecutionId: request.Event.ExecutionId, -// } -// -// for k, v := range outputs.Literals { -// // Use input type because workflow outputs are inputs to the end node. -// artifactKeySuffix := common.FlyteURLKeyFromNodeExecutionIDAndOutput(nodeExecutionID, common.ArtifactTypeI, k) -// -// aliases, err := m.getAliases(*ex.Closure.WorkflowId, *request.Event.ExecutionId, workflowInterface, k) -// if err != nil { -// logger.Errorf(ctx, "Failed getting alias for [%s] in workflow [%v], err: %v", k, ex.Closure.WorkflowId, err) -// } -// as := artifact.ArtifactSpec{ -// Value: v, -// Source: &artifact.ArtifactSpec_Execution{ -// Execution: request.Event.ExecutionId, -// }, -// Aliases: aliases, -// } -// ak := core.ArtifactKey{ -// Project: request.Event.ExecutionId.Project, -// Domain: request.Event.ExecutionId.Domain, -// Suffix: artifactKeySuffix, -// } -// -// a := artifact.CreateArtifactRequest{ -// ArtifactKey: &ak, -// Spec: &as, -// } -// e := event.ArtifactCreateEvent{ -// CreateRequest: &a, -// } -// print(fmt.Sprintf("Output %s, becomes artifact request: %v\n", k, e)) -// } -//} - func (m *ExecutionManager) CreateWorkflowEvent(ctx context.Context, request admin.WorkflowExecutionEventRequest) ( *admin.WorkflowExecutionEventResponse, error) { err := validation.ValidateCreateWorkflowEventRequest(request, m.config.ApplicationConfiguration().GetRemoteDataConfig().MaxSizeInBytes) @@ -1426,10 +1304,6 @@ func (m *ExecutionManager) CreateWorkflowEvent(ctx context.Context, request admi if request.Event.GetOutputData() != nil { m.userMetrics.WorkflowExecutionOutputBytes.Observe(float64(proto.Size(request.Event.GetOutputData()))) } - //go func() { - // logger.Debugf(ctx, "Emitting workflow success artifact event flow for [%+v]", request) - // m.handleArtifactEventEmitting(ctx, request) - //}() err = m.publishNotifications(ctx, request, *executionModel) if err != nil { diff --git a/flyteadmin/pkg/manager/impl/task_execution_manager.go b/flyteadmin/pkg/manager/impl/task_execution_manager.go index 9378006a92..8a371e8cff 100644 --- a/flyteadmin/pkg/manager/impl/task_execution_manager.go +++ b/flyteadmin/pkg/manager/impl/task_execution_manager.go @@ -129,70 +129,6 @@ func (m *TaskExecutionManager) updateTaskExecutionModelState( return *existingTaskExecution, nil } -//func (m *TaskExecutionManager) handleArtifactEventEmitting(ctx context.Context, request admin.TaskExecutionEventRequest, taskExecutionID core.TaskExecutionIdentifier) { -// -// taskModel, err := m.db.TaskRepo().Get(ctx, repoInterfaces.Identifier{ -// Project: request.Event.TaskId.Project, -// Domain: request.Event.TaskId.Domain, -// Name: request.Event.TaskId.Name, -// Version: request.Event.TaskId.Version, -// }) -// if err != nil { -// // TODO: metric this -// logger.Debugf(ctx, "Failed to get task with task id [%+v] with err %v", request.Event.TaskId, err) -// return -// } -// task, err := transformers.FromTaskModel(taskModel) -// task.Closure.CompiledTask.Template.Interface -// -// var outputs *core.LiteralMap -// if request.Event.GetOutputData() != nil { -// fmt.Printf("remove this - Got output data") -// outputs = request.Event.GetOutputData() -// } else if len(request.Event.GetOutputUri()) > 0 { -// fmt.Printf("remove this - Got output URI") -// // GetInputs actually fetches the data, even though this is an output -// outputs, _, err = util.GetInputs(ctx, m.urlData, m.config.ApplicationConfiguration().GetRemoteDataConfig(), -// m.storageClient, request.Event.GetOutputUri()) -// if err != nil { -// fmt.Printf("Error fetching output literal map %v", request.Event) -// } -// } else { -// fmt.Printf("No output data found for %v\n", request.Event) -// } -// if outputs != nil { -// urls := common.FlyteURLsFromTaskExecutionID(taskExecutionID, false) -// outputURLs := common.AppendLinksForLiteralMap(urls.GetOutputs(), *outputs) -// for k, v := range outputs.Literals { -// as := artifact.ArtifactSpec{ -// Value: v, -// // Type, tags and aliases will need to be filled in later -// Source: &artifact.ArtifactSpec_TaskExecution{ -// TaskExecution: &taskExecutionID, -// }, -// } -// ak := core.ArtifactKey{ -// Project: request.Event.ParentNodeExecutionId.ExecutionId.Project, -// Domain: request.Event.ParentNodeExecutionId.ExecutionId.Domain, -// // This will need to be filled in later, will need to pull from task template, or set to -// // something pretty unique, like the task ID. -// Name: "", -// } -// -// a := artifact.CreateArtifactRequest{ -// ArtifactKey: &ak, -// Version: request.Event.ParentNodeExecutionId.ExecutionId.Name, -// Uri: outputURLs[k], -// Spec: &as, -// } -// e := event.ArtifactCreateEvent{ -// CreateRequest: &a, -// } -// print(fmt.Sprintf("Output %s, becomes artifact request: %v\n", k, e)) -// } -// } -//} - func (m *TaskExecutionManager) CreateTaskExecutionEvent(ctx context.Context, request admin.TaskExecutionEventRequest) ( *admin.TaskExecutionEventResponse, error) { if err := validation.ValidateTaskExecutionRequest(request, m.config.ApplicationConfiguration().GetRemoteDataConfig().MaxSizeInBytes); err != nil { @@ -266,10 +202,6 @@ func (m *TaskExecutionManager) CreateTaskExecutionEvent(ctx context.Context, req if request.Event.GetOutputData() != nil { m.metrics.TaskExecutionOutputBytes.Observe(float64(proto.Size(request.Event.GetOutputData()))) } - //go func() { - // logger.Debugf(ctx, "Emitting task execution artifacts for [%+v] [%+v]", taskExecutionID, request) - // m.handleArtifactEventEmitting(ctx, request, taskExecutionID) - //}() } if err = m.notificationClient.Publish(ctx, proto.MessageName(&request), &request); err != nil { From 6b99adb9335dc9c5ebf29e0e31db58380f420487 Mon Sep 17 00:00:00 2001 From: Yee Hing Tong Date: Tue, 1 Aug 2023 11:20:07 -0700 Subject: [PATCH 07/47] parameter and literal map construction wrong Signed-off-by: Yee Hing Tong --- flyteadmin/flyteadmin_config.yaml | 4 + flyteadmin/pkg/artifacts/artifact_client.go | 37 ++++ flyteadmin/pkg/artifacts/config.go | 7 + .../pkg/manager/impl/execution_manager.go | 183 ++++++++++++++---- .../impl/validation/execution_validator.go | 22 +-- flyteadmin/pkg/rpc/adminservice/base.go | 12 +- .../runtime/application_config_provider.go | 8 + .../interfaces/application_configuration.go | 2 + 8 files changed, 217 insertions(+), 58 deletions(-) create mode 100644 flyteadmin/pkg/artifacts/artifact_client.go create mode 100644 flyteadmin/pkg/artifacts/config.go diff --git a/flyteadmin/flyteadmin_config.yaml b/flyteadmin/flyteadmin_config.yaml index ab56c88953..b42b742d68 100644 --- a/flyteadmin/flyteadmin_config.yaml +++ b/flyteadmin/flyteadmin_config.yaml @@ -60,6 +60,10 @@ flyteadmin: - "metadata" - "admin" useOffloadedWorkflowClosure: false +artifacts: + host: localhost + port: 50051 + insecure: true database: postgres: port: 30001 diff --git a/flyteadmin/pkg/artifacts/artifact_client.go b/flyteadmin/pkg/artifacts/artifact_client.go new file mode 100644 index 0000000000..b29ebc1414 --- /dev/null +++ b/flyteadmin/pkg/artifacts/artifact_client.go @@ -0,0 +1,37 @@ +package artifacts + +import ( + "context" + "crypto/tls" + "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/artifact" + "github.com/flyteorg/flytestdlib/logger" + "google.golang.org/grpc" + "google.golang.org/grpc/credentials" +) + +func NewArtifactConnection(_ context.Context, cfg *Config, opts ...grpc.DialOption) (*grpc.ClientConn, error) { + if opts == nil { + // Initialize opts list to the potential number of options we will add. Initialization optimizes memory + // allocation. + opts = make([]grpc.DialOption, 0, 5) + } + + if cfg.Insecure { + opts = append(opts, grpc.WithInsecure()) + } else { + tlsConfig := &tls.Config{} //nolint + creds := credentials.NewTLS(tlsConfig) + opts = append(opts, grpc.WithTransportCredentials(creds)) + } + + return grpc.Dial(cfg.Host, opts...) +} + +func InitializeArtifactClient(ctx context.Context, cfg *Config, opts ...grpc.DialOption) artifact.ArtifactRegistryClient { + conn, err := NewArtifactConnection(ctx, cfg, opts...) + if err != nil { + logger.Panicf(ctx, "failed to initialize Artifact connection. Err: %s", err.Error()) + panic(err) + } + return artifact.NewArtifactRegistryClient(conn) +} diff --git a/flyteadmin/pkg/artifacts/config.go b/flyteadmin/pkg/artifacts/config.go new file mode 100644 index 0000000000..addeedaf66 --- /dev/null +++ b/flyteadmin/pkg/artifacts/config.go @@ -0,0 +1,7 @@ +package artifacts + +type Config struct { + Host string `json:"host"` + Port int `json:"port"` + Insecure bool `json:"insecure"` +} diff --git a/flyteadmin/pkg/manager/impl/execution_manager.go b/flyteadmin/pkg/manager/impl/execution_manager.go index 429cbe1888..5fc3f5db1f 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager.go +++ b/flyteadmin/pkg/manager/impl/execution_manager.go @@ -43,6 +43,7 @@ import ( runtimeInterfaces "github.com/flyteorg/flyteadmin/pkg/runtime/interfaces" workflowengineInterfaces "github.com/flyteorg/flyteadmin/pkg/workflowengine/interfaces" "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/admin" + "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/artifact" "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/core" "google.golang.org/grpc/codes" @@ -99,6 +100,7 @@ type ExecutionManager struct { cloudEventPublisher notificationInterfaces.Publisher dbEventWriter eventWriter.WorkflowExecutionEventWriter pluginRegistry *plugins.Registry + artifactClient *artifact.ArtifactRegistryClient } func getExecutionContext(ctx context.Context, id *core.WorkflowExecutionIdentifier) context.Context { @@ -450,7 +452,7 @@ func (m *ExecutionManager) getClusterAssignment(ctx context.Context, request *ad func (m *ExecutionManager) launchSingleTaskExecution( ctx context.Context, request admin.ExecutionCreateRequest, requestedAt time.Time) ( - context.Context, *models.Execution, map[string]*core.ArtifactID, error) { + context.Context, *models.Execution, error) { taskModel, err := m.db.TaskRepo().Get(ctx, repositoryInterfaces.Identifier{ Project: request.Spec.LaunchPlan.Project, @@ -459,11 +461,11 @@ func (m *ExecutionManager) launchSingleTaskExecution( Version: request.Spec.LaunchPlan.Version, }) if err != nil { - return nil, nil, nil, err + return nil, nil, err } task, err := transformers.FromTaskModel(taskModel) if err != nil { - return nil, nil, nil, err + return nil, nil, err } // Prepare a skeleton workflow @@ -472,15 +474,15 @@ func (m *ExecutionManager) launchSingleTaskExecution( util.CreateOrGetWorkflowModel(ctx, request, m.db, m.workflowManager, m.namedEntityManager, taskIdentifier, &task) if err != nil { logger.Debugf(ctx, "Failed to created skeleton workflow for [%+v] with err: %v", taskIdentifier, err) - return nil, nil, nil, err + return nil, nil, err } workflow, err := transformers.FromWorkflowModel(*workflowModel) if err != nil { - return nil, nil, nil, err + return nil, nil, err } closure, err := util.FetchAndGetWorkflowClosure(ctx, m.storageClient, workflowModel.RemoteClosureIdentifier) if err != nil { - return nil, nil, nil, err + return nil, nil, err } closure.CreatedAt = workflow.Closure.CreatedAt workflow.Closure = closure @@ -488,10 +490,10 @@ func (m *ExecutionManager) launchSingleTaskExecution( launchPlan, err := util.CreateOrGetLaunchPlan(ctx, m.db, m.config, taskIdentifier, workflow.Closure.CompiledWorkflow.Primary.Template.Interface, workflowModel.ID, request.Spec) if err != nil { - return nil, nil, nil, err + return nil, nil, err } - executionInputs, resolvedArtifactMap, err := validation.CheckAndFetchInputsForExecution( + executionInputs, err := validation.CheckAndFetchInputsForExecution( request.Inputs, launchPlan.Spec.FixedInputs, launchPlan.Closure.ExpectedInputs, @@ -500,7 +502,7 @@ func (m *ExecutionManager) launchSingleTaskExecution( logger.Debugf(ctx, "Failed to CheckAndFetchInputsForExecution with request.Inputs: %+v"+ "fixed inputs: %+v and expected inputs: %+v with err %v", request.Inputs, launchPlan.Spec.FixedInputs, launchPlan.Closure.ExpectedInputs, err) - return nil, nil, nil, err + return nil, nil, err } name := util.GetExecutionName(request) @@ -518,14 +520,14 @@ func (m *ExecutionManager) launchSingleTaskExecution( requestSpec.Metadata = &admin.ExecutionMetadata{} } requestSpec.Metadata.Principal = getUser(ctx) - requestSpec.Metadata.ArtifactIds = resolvedArtifactMap + //requestSpec.Metadata.ArtifactIds = resolvedArtifactMap // Get the node execution (if any) that launched this execution var parentNodeExecutionID uint var sourceExecutionID uint parentNodeExecutionID, sourceExecutionID, err = m.getInheritedExecMetadata(ctx, requestSpec, &workflowExecutionID) if err != nil { - return nil, nil, nil, err + return nil, nil, err } // Dynamically assign task resource defaults. @@ -539,15 +541,15 @@ func (m *ExecutionManager) launchSingleTaskExecution( inputsURI, err := common.OffloadLiteralMap(ctx, m.storageClient, request.Inputs, workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.Inputs) if err != nil { - return nil, nil, nil, err + return nil, nil, err } userInputsURI, err := common.OffloadLiteralMap(ctx, m.storageClient, request.Inputs, workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.UserInputs) if err != nil { - return nil, nil, nil, err + return nil, nil, err } executionConfig, err := m.getExecutionConfig(ctx, &request, nil) if err != nil { - return nil, nil, nil, err + return nil, nil, err } var labels map[string]string @@ -557,7 +559,7 @@ func (m *ExecutionManager) launchSingleTaskExecution( labels, err = m.addProjectLabels(ctx, request.Project, labels) if err != nil { - return nil, nil, nil, err + return nil, nil, err } var annotations map[string]string @@ -572,7 +574,7 @@ func (m *ExecutionManager) launchSingleTaskExecution( clusterAssignment, err := m.getClusterAssignment(ctx, &request) if err != nil { - return nil, nil, nil, err + return nil, nil, err } executionParameters := workflowengineInterfaces.ExecutionParameters{ @@ -590,7 +592,7 @@ func (m *ExecutionManager) launchSingleTaskExecution( overrides, err := m.addPluginOverrides(ctx, &workflowExecutionID, workflowExecutionID.Name, "") if err != nil { - return nil, nil, nil, err + return nil, nil, err } if overrides != nil { executionParameters.TaskPluginOverrides = overrides @@ -615,7 +617,7 @@ func (m *ExecutionManager) launchSingleTaskExecution( m.systemMetrics.PropellerFailures.Inc() logger.Infof(ctx, "Failed to execute workflow %+v with execution id %+v and inputs %+v with err %v", request, workflowExecutionID, request.Inputs, err) - return nil, nil, nil, err + return nil, nil, err } executionCreatedAt := time.Now() acceptanceDelay := executionCreatedAt.Sub(requestedAt) @@ -656,10 +658,10 @@ func (m *ExecutionManager) launchSingleTaskExecution( if err != nil { logger.Infof(ctx, "Failed to create execution model in transformer for id: [%+v] with err: %v", workflowExecutionID, err) - return nil, nil, nil, err + return nil, nil, err } m.userMetrics.WorkflowExecutionInputBytes.Observe(float64(proto.Size(request.Inputs))) - return ctx, executionModel, resolvedArtifactMap, nil + return ctx, executionModel, nil } func resolveAuthRole(request *admin.ExecutionCreateRequest, launchPlan *admin.LaunchPlan) *admin.AuthRole { @@ -707,14 +709,78 @@ func resolveSecurityCtx(ctx context.Context, executionConfigSecurityCtx *core.Se } } +// ResolveLiteralMapArtifacts will go through the input literal map and resolve any artifact references to their +// literal values. +func (m *ExecutionManager) ResolveLiteralMapArtifacts(ctx context.Context, inputs *core.LiteralMap) (*core.LiteralMap, []*core.ArtifactID, error) { + // only top level replace for now. + var artifactIDs []*core.ArtifactID + outputs := map[string]*core.Literal{} + for k, v := range inputs.Literals { + if v.GetArtifactId() != nil { + if m.artifactClient == nil { + return nil, nil, errors.NewFlyteAdminErrorf(codes.Internal, "artifact client is not initialized") + } + + x := *m.artifactClient + req := &artifact.GetArtifactRequest{ + Identifier: &artifact.GetArtifactRequest_ArtifactId{ArtifactId: v.GetArtifactId()}, + Details: false, + } + resp, err := x.GetArtifact(ctx, req) + if err != nil { + return nil, nil, err + } + artifactIDs = append(artifactIDs, resp.Artifact.GetArtifactId()) + logger.Debugf(ctx, "Resolved artifact for [%s] to [%+v]", k, resp.GetArtifact().ArtifactId) + outputs[k] = resp.Artifact.Spec.Value + } else { + outputs[k] = v + } + } + lm := &core.LiteralMap{Literals: outputs} + return lm, artifactIDs, nil + +} + +// ResolveParameterMapArtifacts will go through the parameter map, and resolve any artifact queries. +func (m *ExecutionManager) ResolveParameterMapArtifacts(ctx context.Context, inputs *core.ParameterMap) (*core.ParameterMap, []*core.ArtifactID, error) { + // only top level replace for now. + var artifactIDs []*core.ArtifactID + outputs := map[string]*core.Parameter{} + x := *m.artifactClient + + for k, v := range inputs.Parameters { + if v.GetArtifactQuery() != nil { + if m.artifactClient == nil { + return nil, nil, errors.NewFlyteAdminErrorf(codes.Internal, "artifact client is not initialized, can't resolve queries") + } + + req := &artifact.GetArtifactRequest{ + Identifier: &artifact.GetArtifactRequest_Query{Query: v.GetArtifactQuery()}, + Details: false, + } + + resp, err := x.GetArtifact(ctx, req) + if err != nil { + return nil, nil, err + } + artifactIDs = append(artifactIDs, resp.Artifact.GetArtifactId()) + logger.Debugf(ctx, "Resolved query for [%s] to [%+v]", k, resp.Artifact.ArtifactId) + outputs[k] = &core.Parameter{ + Var: v.Var, + Behavior: &core.Parameter_Default{Default: resp.Artifact.Spec.Value}, + } + } else { + outputs[k] = v + } + } + pm := &core.ParameterMap{Parameters: outputs} + return pm, artifactIDs, nil +} + func (m *ExecutionManager) launchExecutionAndPrepareModel( ctx context.Context, request admin.ExecutionCreateRequest, requestedAt time.Time) ( - context.Context, *models.Execution, map[string]*core.ArtifactID, error) { - - // Resolve artifacts. - // two sources of artifacts: launch plan and create execute request. - // - within the launch plan, the artifact will be in the Parameter map, and can come in the Literal, - // or as an ArtifactQuery. + context.Context, *models.Execution, []*core.ArtifactID, error) { err := validation.ValidateExecutionRequest(ctx, request, m.db, m.config.ApplicationConfiguration()) if err != nil { @@ -723,7 +789,10 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( } if request.Spec.LaunchPlan.ResourceType == core.ResourceType_TASK { logger.Debugf(ctx, "Launching single task execution with [%+v]", request.Spec.LaunchPlan) - return m.launchSingleTaskExecution(ctx, request, requestedAt) + // When tasks can have defaults this will need to handle Artifacts as well. + ctx, model, err := m.launchSingleTaskExecution(ctx, request, requestedAt) + // Since single task doesn't leverage artifact yet, inject a nil artifact list. + return ctx, model, nil, err } launchPlanModel, err := util.GetLaunchPlanModel(ctx, m.db, *request.Spec.LaunchPlan) @@ -736,18 +805,51 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( logger.Debugf(ctx, "Failed to transform launch plan model %+v with err %v", launchPlanModel, err) return nil, nil, nil, err } + + // Resolve artifacts. + // two sources of artifacts: launch plan and create execute request. + // - within the create request, artifacts will be pinned in the Literals. + // - within the launch plan, the artifact will be in the Parameter map, and can come in the Literal, + // or as an ArtifactQuery. + // All three components that comprise the inputs may contain artifacts. + var foundArtifacts []*core.ArtifactID + resolvedRequestInputs, as, err := m.ResolveLiteralMapArtifacts(ctx, request.Inputs) + if err != nil { + logger.Errorf(ctx, "Error looking up request.Inputs for artifacts: %v", err) + return nil, nil, nil, err + } + foundArtifacts = append(foundArtifacts, as...) + resolvedFixedInputs, as, err := m.ResolveLiteralMapArtifacts(ctx, launchPlan.Spec.FixedInputs) + if err != nil { + logger.Errorf(ctx, "Error looking up launch plan fixed inputs for artifacts: %v", err) + return nil, nil, nil, err + } + foundArtifacts = append(foundArtifacts, as...) + resolvedExpectedInputs, as, err := m.ResolveParameterMapArtifacts(ctx, launchPlan.Closure.ExpectedInputs) + if err != nil { + logger.Errorf(ctx, "Error looking up launch plan closure parameter map: %v", err) + return nil, nil, nil, err + } + foundArtifacts = append(foundArtifacts, as...) + if len(foundArtifacts) > 0 { + logger.Debugf(ctx, "Resolved request.Inputs from [%+v] to [%+v]", request.Inputs, resolvedRequestInputs) + logger.Debugf(ctx, "Resolved launch plan fixed inputs from [%+v] to [%+v]", launchPlan.Spec.FixedInputs, resolvedFixedInputs) + logger.Debugf(ctx, "Resolved launch plan closure expected inputs from [%+v] to [%+v]", launchPlan.Closure.ExpectedInputs, resolvedExpectedInputs) + logger.Debugf(ctx, "Found artifacts: %v", foundArtifacts) + } + // Artifacts retrieved will need to be stored somewhere to ensure that we can re-emit events if necessary // in the future, and also to make sure that relaunch and recover can use it if necessary. - executionInputs, resolvedArtifactMap, err := validation.CheckAndFetchInputsForExecution( - request.Inputs, - launchPlan.Spec.FixedInputs, - launchPlan.Closure.ExpectedInputs, + executionInputs, err := validation.CheckAndFetchInputsForExecution( + resolvedRequestInputs, + resolvedFixedInputs, + resolvedExpectedInputs, ) if err != nil { - logger.Debugf(ctx, "Failed to CheckAndFetchInputsForExecution with request.Inputs: %+v"+ + logger.Debugf(ctx, "Failed to CheckAndFetchInputsForExecution with resolvedRequestInputs: %+v"+ "fixed inputs: %+v and expected inputs: %+v with err %v", - request.Inputs, launchPlan.Spec.FixedInputs, launchPlan.Closure.ExpectedInputs, err) + resolvedRequestInputs, resolvedFixedInputs, resolvedExpectedInputs, err) return nil, nil, nil, err } @@ -781,7 +883,7 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( requestSpec.Metadata = &admin.ExecutionMetadata{} } requestSpec.Metadata.Principal = getUser(ctx) - requestSpec.Metadata.ArtifactIds = resolvedArtifactMap + requestSpec.Metadata.ArtifactIds = foundArtifacts // Get the node and parent execution (if any) that launched this execution var parentNodeExecutionID uint @@ -804,7 +906,7 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( if err != nil { return nil, nil, nil, err } - userInputsURI, err := common.OffloadLiteralMap(ctx, m.storageClient, request.Inputs, workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.UserInputs) + userInputsURI, err := common.OffloadLiteralMap(ctx, m.storageClient, resolvedRequestInputs, workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.UserInputs) if err != nil { return nil, nil, nil, err } @@ -923,7 +1025,7 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( workflowExecutionID, err) return nil, nil, nil, err } - return ctx, executionModel, resolvedArtifactMap, nil + return ctx, executionModel, foundArtifacts, nil } // Inserts an execution model into the database store and emits platform metrics. @@ -947,7 +1049,8 @@ func (m *ExecutionManager) createExecutionModel( return &workflowExecutionIdentifier, nil } -func (m *ExecutionManager) handleArtifactEvents(artifactIDs map[string]*core.ArtifactID, wfExecID core.WorkflowExecutionIdentifier) { +func (m *ExecutionManager) handleArtifactEvents(artifactIDs []*core.ArtifactID, wfExecID core.WorkflowExecutionIdentifier) { + // todo: Proper events need to be created for this. if artifactIDs != nil { fmt.Printf("WF exec used %v", wfExecID.String()) for _, artifactID := range artifactIDs { @@ -967,7 +1070,7 @@ func (m *ExecutionManager) CreateExecution( } var executionModel *models.Execution var err error - var artifactIDs map[string]*core.ArtifactID + var artifactIDs []*core.ArtifactID ctx, executionModel, artifactIDs, err = m.launchExecutionAndPrepareModel(ctx, request, requestedAt) if err != nil { return nil, err @@ -1659,7 +1762,8 @@ func NewExecutionManager(db repositoryInterfaces.Repository, pluginRegistry *plu publisher notificationInterfaces.Publisher, urlData dataInterfaces.RemoteURLInterface, workflowManager interfaces.WorkflowInterface, namedEntityManager interfaces.NamedEntityInterface, eventPublisher notificationInterfaces.Publisher, cloudEventPublisher cloudeventInterfaces.Publisher, - eventWriter eventWriter.WorkflowExecutionEventWriter) interfaces.ExecutionInterface { + eventWriter eventWriter.WorkflowExecutionEventWriter, artifactClient *artifact.ArtifactRegistryClient) interfaces.ExecutionInterface { + queueAllocator := executions.NewQueueAllocator(config, db) systemMetrics := newExecutionSystemMetrics(systemScope) @@ -1692,6 +1796,7 @@ func NewExecutionManager(db repositoryInterfaces.Repository, pluginRegistry *plu cloudEventPublisher: cloudEventPublisher, dbEventWriter: eventWriter, pluginRegistry: pluginRegistry, + artifactClient: artifactClient, } } diff --git a/flyteadmin/pkg/manager/impl/validation/execution_validator.go b/flyteadmin/pkg/manager/impl/validation/execution_validator.go index 6920f44e49..a1c2a1514c 100644 --- a/flyteadmin/pkg/manager/impl/validation/execution_validator.go +++ b/flyteadmin/pkg/manager/impl/validation/execution_validator.go @@ -79,11 +79,10 @@ func ValidateExecutionRequest(ctx context.Context, request admin.ExecutionCreate // CheckAndFetchInputsForExecution will merge inputs and also resolve any artifacts that are required. // A map will be returned for all artifacts used. func CheckAndFetchInputsForExecution( - userInputs *core.LiteralMap, fixedInputs *core.LiteralMap, expectedInputs *core.ParameterMap) (*core.LiteralMap, map[string]*core.ArtifactID, error) { + userInputs *core.LiteralMap, fixedInputs *core.LiteralMap, expectedInputs *core.ParameterMap) (*core.LiteralMap, error) { executionInputMap := map[string]*core.Literal{} expectedInputMap := map[string]*core.Parameter{} - resolvedArtifactMap := map[string]*core.ArtifactID{} if expectedInputs != nil && len(expectedInputs.GetParameters()) > 0 { expectedInputMap = expectedInputs.GetParameters() @@ -92,7 +91,7 @@ func CheckAndFetchInputsForExecution( if userInputs != nil && len(userInputs.GetLiterals()) > 0 { for name, value := range userInputs.GetLiterals() { if _, ok := expectedInputMap[name]; !ok { - return nil, resolvedArtifactMap, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "invalid input %s", name) + return nil, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "invalid input %s", name) } executionInputMap[name] = value } @@ -101,7 +100,7 @@ func CheckAndFetchInputsForExecution( for name, expectedInput := range expectedInputMap { if _, ok := executionInputMap[name]; !ok { if expectedInput.GetRequired() { - return nil, resolvedArtifactMap, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "%s %s missing", shared.ExpectedInputs, name) + return nil, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "%s %s missing", shared.ExpectedInputs, name) } // Look up from Artifact service if necessary if expectedInput.GetArtifactQuery() != nil { @@ -114,7 +113,7 @@ func CheckAndFetchInputsForExecution( } else { inputType := validators.LiteralTypeForLiteral(executionInputMap[name]) if !validators.AreTypesCastable(inputType, expectedInput.GetVar().GetType()) { - return nil, resolvedArtifactMap, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "invalid %s input wrong type. Expected %s, but got %s", name, expectedInput.GetVar().GetType(), inputType) + return nil, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "invalid %s input wrong type. Expected %s, but got %s", name, expectedInput.GetVar().GetType(), inputType) } } } @@ -122,24 +121,15 @@ func CheckAndFetchInputsForExecution( if fixedInputs != nil && len(fixedInputs.GetLiterals()) > 0 { for name, fixedInput := range fixedInputs.GetLiterals() { if _, ok := executionInputMap[name]; ok { - return nil, resolvedArtifactMap, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "%s %s cannot be overridden", shared.FixedInputs, name) + return nil, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "%s %s cannot be overridden", shared.FixedInputs, name) } executionInputMap[name] = fixedInput } } - // Resolve any artifacts that are required. - for name, input := range executionInputMap { - if input.GetArtifactId() != nil { - resolvedArtifactMap[name] = input.GetArtifactId() - // Replace the reference with the actual literal - // executionInputMap[name] = artifactService.GetArtifact(input.GetArtifactId()) - } - } - return &core.LiteralMap{ Literals: executionInputMap, - }, resolvedArtifactMap, nil + }, nil } func CheckValidExecutionID(executionID, fieldName string) error { diff --git a/flyteadmin/pkg/rpc/adminservice/base.go b/flyteadmin/pkg/rpc/adminservice/base.go index 4e3ee7f8aa..d206e182c3 100644 --- a/flyteadmin/pkg/rpc/adminservice/base.go +++ b/flyteadmin/pkg/rpc/adminservice/base.go @@ -14,10 +14,11 @@ import ( eventWriter "github.com/flyteorg/flyteadmin/pkg/async/events/implementations" - "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/service" - "github.com/flyteorg/flyteadmin/pkg/manager/impl/resources" + "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/artifact" + "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/service" + artifactClient "github.com/flyteorg/flyteadmin/pkg/artifacts" "github.com/flyteorg/flyteadmin/pkg/async/notifications" "github.com/flyteorg/flyteadmin/pkg/async/schedule" "github.com/flyteorg/flyteadmin/pkg/data" @@ -142,9 +143,14 @@ func NewAdminServer(ctx context.Context, pluginRegistry *plugins.Registry, confi executionEventWriter.Run() }() + var artifactsClient *artifact.ArtifactRegistryClient + if configuration.ApplicationConfiguration().GetArtifactsConfig() != nil { + c := artifactClient.InitializeArtifactClient(ctx, configuration.ApplicationConfiguration().GetArtifactsConfig()) + artifactsClient = &c + } executionManager := manager.NewExecutionManager(repo, pluginRegistry, configuration, dataStorageClient, adminScope.NewSubScope("execution_manager"), adminScope.NewSubScope("user_execution_metrics"), - publisher, urlData, workflowManager, namedEntityManager, eventPublisher, cloudEventPublisher, executionEventWriter) + publisher, urlData, workflowManager, namedEntityManager, eventPublisher, cloudEventPublisher, executionEventWriter, artifactsClient) versionManager := manager.NewVersionManager() scheduledWorkflowExecutor := workflowScheduler.GetWorkflowExecutor(executionManager, launchPlanManager) diff --git a/flyteadmin/pkg/runtime/application_config_provider.go b/flyteadmin/pkg/runtime/application_config_provider.go index 3b8b0a2707..b708ba837c 100644 --- a/flyteadmin/pkg/runtime/application_config_provider.go +++ b/flyteadmin/pkg/runtime/application_config_provider.go @@ -1,6 +1,7 @@ package runtime import ( + artifactsClient "github.com/flyteorg/flyteadmin/pkg/artifacts" "github.com/flyteorg/flyteadmin/pkg/common" "github.com/flyteorg/flyteadmin/pkg/runtime/interfaces" "github.com/flyteorg/flytestdlib/config" @@ -15,6 +16,7 @@ const notifications = "notifications" const domains = "domains" const externalEvents = "externalEvents" const cloudEvents = "cloudEvents" +const artifact = "artifacts" const metricPort = 10254 const KB = 1024 @@ -84,6 +86,8 @@ var cloudEventsConfig = config.MustRegisterSection(cloudEvents, &interfaces.Clou Type: common.Local, }) +var artifactsConfig = config.MustRegisterSection(artifact, &artifactsClient.Config{}) + // Implementation of an interfaces.ApplicationConfiguration type ApplicationConfigurationProvider struct{} @@ -119,6 +123,10 @@ func (p *ApplicationConfigurationProvider) GetCloudEventsConfig() *interfaces.Cl return cloudEventsConfig.GetConfig().(*interfaces.CloudEventsConfig) } +func (p *ApplicationConfigurationProvider) GetArtifactsConfig() *artifactsClient.Config { + return artifactsConfig.GetConfig().(*artifactsClient.Config) +} + func NewApplicationConfigurationProvider() interfaces.ApplicationConfiguration { return &ApplicationConfigurationProvider{} } diff --git a/flyteadmin/pkg/runtime/interfaces/application_configuration.go b/flyteadmin/pkg/runtime/interfaces/application_configuration.go index aeb0ab34ec..8b59d1404b 100644 --- a/flyteadmin/pkg/runtime/interfaces/application_configuration.go +++ b/flyteadmin/pkg/runtime/interfaces/application_configuration.go @@ -1,6 +1,7 @@ package interfaces import ( + artifactsClient "github.com/flyteorg/flyteadmin/pkg/artifacts" "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/admin" "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/core" "github.com/flyteorg/flytestdlib/config" @@ -592,4 +593,5 @@ type ApplicationConfiguration interface { GetDomainsConfig() *DomainsConfig GetExternalEventsConfig() *ExternalEventsConfig GetCloudEventsConfig() *CloudEventsConfig + GetArtifactsConfig() *artifactsClient.Config } From 2c2ff30121970faa4bd1e10bca69c0b6a0df46aa Mon Sep 17 00:00:00 2001 From: Yee Hing Tong Date: Tue, 1 Aug 2023 14:00:55 -0700 Subject: [PATCH 08/47] add port, add nil checks Signed-off-by: Yee Hing Tong --- flyteadmin/pkg/artifacts/artifact_client.go | 3 ++- flyteadmin/pkg/manager/impl/execution_manager.go | 8 +++++++- flyteadmin/pkg/manager/impl/validation/validation.go | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/flyteadmin/pkg/artifacts/artifact_client.go b/flyteadmin/pkg/artifacts/artifact_client.go index b29ebc1414..48cb30591d 100644 --- a/flyteadmin/pkg/artifacts/artifact_client.go +++ b/flyteadmin/pkg/artifacts/artifact_client.go @@ -3,6 +3,7 @@ package artifacts import ( "context" "crypto/tls" + "fmt" "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/artifact" "github.com/flyteorg/flytestdlib/logger" "google.golang.org/grpc" @@ -24,7 +25,7 @@ func NewArtifactConnection(_ context.Context, cfg *Config, opts ...grpc.DialOpti opts = append(opts, grpc.WithTransportCredentials(creds)) } - return grpc.Dial(cfg.Host, opts...) + return grpc.Dial(fmt.Sprintf("%s:%d", cfg.Host, cfg.Port), opts...) } func InitializeArtifactClient(ctx context.Context, cfg *Config, opts ...grpc.DialOption) artifact.ArtifactRegistryClient { diff --git a/flyteadmin/pkg/manager/impl/execution_manager.go b/flyteadmin/pkg/manager/impl/execution_manager.go index 5fc3f5db1f..757b83c904 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager.go +++ b/flyteadmin/pkg/manager/impl/execution_manager.go @@ -712,8 +712,11 @@ func resolveSecurityCtx(ctx context.Context, executionConfigSecurityCtx *core.Se // ResolveLiteralMapArtifacts will go through the input literal map and resolve any artifact references to their // literal values. func (m *ExecutionManager) ResolveLiteralMapArtifacts(ctx context.Context, inputs *core.LiteralMap) (*core.LiteralMap, []*core.ArtifactID, error) { - // only top level replace for now. var artifactIDs []*core.ArtifactID + if inputs == nil { + return nil, artifactIDs, nil + } + // only top level replace for now. outputs := map[string]*core.Literal{} for k, v := range inputs.Literals { if v.GetArtifactId() != nil { @@ -746,6 +749,9 @@ func (m *ExecutionManager) ResolveLiteralMapArtifacts(ctx context.Context, input func (m *ExecutionManager) ResolveParameterMapArtifacts(ctx context.Context, inputs *core.ParameterMap) (*core.ParameterMap, []*core.ArtifactID, error) { // only top level replace for now. var artifactIDs []*core.ArtifactID + if inputs == nil { + return nil, artifactIDs, nil + } outputs := map[string]*core.Parameter{} x := *m.artifactClient diff --git a/flyteadmin/pkg/manager/impl/validation/validation.go b/flyteadmin/pkg/manager/impl/validation/validation.go index e6c7cfae2f..6df3044256 100644 --- a/flyteadmin/pkg/manager/impl/validation/validation.go +++ b/flyteadmin/pkg/manager/impl/validation/validation.go @@ -256,7 +256,7 @@ func validateParameterMap(inputMap *core.ParameterMap, fieldName string) error { "The Variable component of the Parameter %s in %s either is missing, or has a missing Type", name, fieldName) } - if defaultInput.GetDefault() == nil && !defaultInput.GetRequired() { + if defaultInput.GetDefault() == nil && defaultInput.GetArtifactQuery() == nil && !defaultInput.GetRequired() { return errors.NewFlyteAdminErrorf(codes.InvalidArgument, "Invalid variable %s in %s - variable has neither default, nor is required. "+ "One must be specified", name, fieldName) From 8c67a4e55284cade2fc64b9072992c89be92fcdf Mon Sep 17 00:00:00 2001 From: Yee Hing Tong Date: Tue, 8 Aug 2023 18:08:27 -0700 Subject: [PATCH 09/47] compiling Signed-off-by: Yee Hing Tong --- flyteadmin/dataproxy/service.go | 1 - flyteadmin/pkg/common/flyte_url.go | 3 + .../pkg/manager/impl/execution_manager.go | 68 +++++++++++++------ .../impl/validation/execution_validator.go | 11 +-- .../repositories/transformers/execution.go | 12 ++-- 5 files changed, 59 insertions(+), 36 deletions(-) diff --git a/flyteadmin/dataproxy/service.go b/flyteadmin/dataproxy/service.go index 4f651bac84..34445b018b 100644 --- a/flyteadmin/dataproxy/service.go +++ b/flyteadmin/dataproxy/service.go @@ -164,7 +164,6 @@ func (s Service) CreateUploadLocation(ctx context.Context, req *service.CreateUp Domain: req.Domain, }, }, - Uri: "flyte://random/returned/url", Spec: req.GetArtifactSpec(), }, }, nil diff --git a/flyteadmin/pkg/common/flyte_url.go b/flyteadmin/pkg/common/flyte_url.go index c8dd7c68c2..6a4fd44feb 100644 --- a/flyteadmin/pkg/common/flyte_url.go +++ b/flyteadmin/pkg/common/flyte_url.go @@ -140,6 +140,8 @@ func FlyteURLsFromNodeExecutionID(nodeExecutionID core.NodeExecutionIdentifier, } // FlyteURLKeyFromNodeExecutionID is a modified version of the function above. +// This constructs a fully unique prefix, and when post-pended with the output name, forms a fully unique name for +// the artifact service (including the project/domain of course, which the artifact service will add). func FlyteURLKeyFromNodeExecutionID(nodeExecutionID core.NodeExecutionIdentifier, artifactType ArtifactType) string { res := fmt.Sprintf("%s/%s/%s", nodeExecutionID.ExecutionId.Name, nodeExecutionID.NodeId, artifactType) @@ -147,6 +149,7 @@ func FlyteURLKeyFromNodeExecutionID(nodeExecutionID core.NodeExecutionIdentifier } // FlyteURLKeyFromNodeExecutionID is a modified version of the function above. +// See the uniqueness comment above. func FlyteURLKeyFromNodeExecutionIDRetry(nodeExecutionID core.NodeExecutionIdentifier, retry int, artifactType ArtifactType) string { res := fmt.Sprintf("%s/%s/%s/%s", nodeExecutionID.ExecutionId.Name, nodeExecutionID.NodeId, strconv.Itoa(retry), artifactType) diff --git a/flyteadmin/pkg/manager/impl/execution_manager.go b/flyteadmin/pkg/manager/impl/execution_manager.go index 757b83c904..5a0e7de1db 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager.go +++ b/flyteadmin/pkg/manager/impl/execution_manager.go @@ -711,8 +711,8 @@ func resolveSecurityCtx(ctx context.Context, executionConfigSecurityCtx *core.Se // ResolveLiteralMapArtifacts will go through the input literal map and resolve any artifact references to their // literal values. -func (m *ExecutionManager) ResolveLiteralMapArtifacts(ctx context.Context, inputs *core.LiteralMap) (*core.LiteralMap, []*core.ArtifactID, error) { - var artifactIDs []*core.ArtifactID +func (m *ExecutionManager) ResolveLiteralMapArtifacts(ctx context.Context, inputs *core.LiteralMap) (*core.LiteralMap, map[string]*core.ArtifactID, error) { + var artifactIDs = make(map[string]*core.ArtifactID) if inputs == nil { return nil, artifactIDs, nil } @@ -726,14 +726,17 @@ func (m *ExecutionManager) ResolveLiteralMapArtifacts(ctx context.Context, input x := *m.artifactClient req := &artifact.GetArtifactRequest{ - Identifier: &artifact.GetArtifactRequest_ArtifactId{ArtifactId: v.GetArtifactId()}, - Details: false, + Query: &core.ArtifactQuery{ + Identifier: &core.ArtifactQuery_ArtifactId{ArtifactId: v.GetArtifactId()}, + }, + Details: false, } resp, err := x.GetArtifact(ctx, req) if err != nil { + logger.Errorf(ctx, "Failed to find artifact by ID [%+v]", v.GetArtifactId()) return nil, nil, err } - artifactIDs = append(artifactIDs, resp.Artifact.GetArtifactId()) + artifactIDs[k] = resp.Artifact.GetArtifactId() logger.Debugf(ctx, "Resolved artifact for [%s] to [%+v]", k, resp.GetArtifact().ArtifactId) outputs[k] = resp.Artifact.Spec.Value } else { @@ -746,9 +749,9 @@ func (m *ExecutionManager) ResolveLiteralMapArtifacts(ctx context.Context, input } // ResolveParameterMapArtifacts will go through the parameter map, and resolve any artifact queries. -func (m *ExecutionManager) ResolveParameterMapArtifacts(ctx context.Context, inputs *core.ParameterMap) (*core.ParameterMap, []*core.ArtifactID, error) { +func (m *ExecutionManager) ResolveParameterMapArtifacts(ctx context.Context, inputs *core.ParameterMap, fulfilled map[string]*core.ArtifactID) (*core.ParameterMap, map[string]*core.ArtifactID, error) { // only top level replace for now. - var artifactIDs []*core.ArtifactID + var artifactIDs = make(map[string]*core.ArtifactID) if inputs == nil { return nil, artifactIDs, nil } @@ -756,21 +759,33 @@ func (m *ExecutionManager) ResolveParameterMapArtifacts(ctx context.Context, inp x := *m.artifactClient for k, v := range inputs.Parameters { + if fulfilled != nil { + if _, ok := fulfilled[k]; ok { + // Pretend it's required since it's already been found. + // CheckAndFetchInputsForExecution should be fine. + // todo: clean this up later + outputs[k] = &core.Parameter{ + Var: v.Var, + Behavior: &core.Parameter_Required{Required: true}, + } + continue + } + } if v.GetArtifactQuery() != nil { if m.artifactClient == nil { return nil, nil, errors.NewFlyteAdminErrorf(codes.Internal, "artifact client is not initialized, can't resolve queries") } req := &artifact.GetArtifactRequest{ - Identifier: &artifact.GetArtifactRequest_Query{Query: v.GetArtifactQuery()}, - Details: false, + Query: v.GetArtifactQuery(), + Details: false, } resp, err := x.GetArtifact(ctx, req) if err != nil { return nil, nil, err } - artifactIDs = append(artifactIDs, resp.Artifact.GetArtifactId()) + artifactIDs[k] = resp.Artifact.GetArtifactId() logger.Debugf(ctx, "Resolved query for [%s] to [%+v]", k, resp.Artifact.ArtifactId) outputs[k] = &core.Parameter{ Var: v.Var, @@ -815,28 +830,38 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( // Resolve artifacts. // two sources of artifacts: launch plan and create execute request. // - within the create request, artifacts will be pinned in the Literals. - // - within the launch plan, the artifact will be in the Parameter map, and can come in the Literal, - // or as an ArtifactQuery. + // - within the launch plan, the artifact will be in the Parameter map, and can come in form of a Literal + // in the default, or as an ArtifactQuery. // All three components that comprise the inputs may contain artifacts. - var foundArtifacts []*core.ArtifactID + // The results of the first two need to be passed to the ParameterMap resolution - this is because for inputs + // that are already satisfied in the request, we don't want to perform the search (maybe the search doesn't even + // return anything yet). + var foundArtifacts = make(map[string]*core.ArtifactID) resolvedRequestInputs, as, err := m.ResolveLiteralMapArtifacts(ctx, request.Inputs) if err != nil { logger.Errorf(ctx, "Error looking up request.Inputs for artifacts: %v", err) return nil, nil, nil, err } - foundArtifacts = append(foundArtifacts, as...) + for k, v := range as { + foundArtifacts[k] = v + } resolvedFixedInputs, as, err := m.ResolveLiteralMapArtifacts(ctx, launchPlan.Spec.FixedInputs) if err != nil { logger.Errorf(ctx, "Error looking up launch plan fixed inputs for artifacts: %v", err) return nil, nil, nil, err } - foundArtifacts = append(foundArtifacts, as...) - resolvedExpectedInputs, as, err := m.ResolveParameterMapArtifacts(ctx, launchPlan.Closure.ExpectedInputs) + for k, v := range as { + foundArtifacts[k] = v + } + resolvedExpectedInputs, as, err := m.ResolveParameterMapArtifacts(ctx, launchPlan.Closure.ExpectedInputs, foundArtifacts) if err != nil { logger.Errorf(ctx, "Error looking up launch plan closure parameter map: %v", err) return nil, nil, nil, err } - foundArtifacts = append(foundArtifacts, as...) + for k, v := range as { + foundArtifacts[k] = v + } + if len(foundArtifacts) > 0 { logger.Debugf(ctx, "Resolved request.Inputs from [%+v] to [%+v]", request.Inputs, resolvedRequestInputs) logger.Debugf(ctx, "Resolved launch plan fixed inputs from [%+v] to [%+v]", launchPlan.Spec.FixedInputs, resolvedFixedInputs) @@ -889,7 +914,12 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( requestSpec.Metadata = &admin.ExecutionMetadata{} } requestSpec.Metadata.Principal = getUser(ctx) - requestSpec.Metadata.ArtifactIds = foundArtifacts + // Construct a list of the values for saving. + artifactIDs := make([]*core.ArtifactID, 0, len(foundArtifacts)) + for _, value := range foundArtifacts { + artifactIDs = append(artifactIDs, value) + } + requestSpec.Metadata.ArtifactIds = artifactIDs // Get the node and parent execution (if any) that launched this execution var parentNodeExecutionID uint @@ -1031,7 +1061,7 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( workflowExecutionID, err) return nil, nil, nil, err } - return ctx, executionModel, foundArtifacts, nil + return ctx, executionModel, artifactIDs, nil } // Inserts an execution model into the database store and emits platform metrics. diff --git a/flyteadmin/pkg/manager/impl/validation/execution_validator.go b/flyteadmin/pkg/manager/impl/validation/execution_validator.go index a1c2a1514c..73c31e1cc6 100644 --- a/flyteadmin/pkg/manager/impl/validation/execution_validator.go +++ b/flyteadmin/pkg/manager/impl/validation/execution_validator.go @@ -76,8 +76,6 @@ func ValidateExecutionRequest(ctx context.Context, request admin.ExecutionCreate return nil } -// CheckAndFetchInputsForExecution will merge inputs and also resolve any artifacts that are required. -// A map will be returned for all artifacts used. func CheckAndFetchInputsForExecution( userInputs *core.LiteralMap, fixedInputs *core.LiteralMap, expectedInputs *core.ParameterMap) (*core.LiteralMap, error) { @@ -102,14 +100,7 @@ func CheckAndFetchInputsForExecution( if expectedInput.GetRequired() { return nil, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "%s %s missing", shared.ExpectedInputs, name) } - // Look up from Artifact service if necessary - if expectedInput.GetArtifactQuery() != nil { - // should be executionInputMap[name] = artifactService.query(expectedInput.GetArtifactQuery()) - executionInputMap[name] = expectedInput.GetDefault() - } else { - // At this point, the Literal returned by GetDefault might still be an ArtifactID - executionInputMap[name] = expectedInput.GetDefault() - } + executionInputMap[name] = expectedInput.GetDefault() } else { inputType := validators.LiteralTypeForLiteral(executionInputMap[name]) if !validators.AreTypesCastable(inputType, expectedInput.GetVar().GetType()) { diff --git a/flyteadmin/pkg/repositories/transformers/execution.go b/flyteadmin/pkg/repositories/transformers/execution.go index eb54cb9c23..c6fb77b475 100644 --- a/flyteadmin/pkg/repositories/transformers/execution.go +++ b/flyteadmin/pkg/repositories/transformers/execution.go @@ -322,12 +322,12 @@ func GetExecutionIdentifier(executionModel *models.Execution) core.WorkflowExecu func FromExecutionModel(ctx context.Context, executionModel models.Execution, opts *ExecutionTransformerOptions) (*admin.Execution, error) { var spec admin.ExecutionSpec var err error - if executionModel.Spec == nil { - fmt.Println("!!@ executionModel.Spec is nil") - } - if opts == nil { - fmt.Println("!!@ opts is nil") - } + //if executionModel.Spec == nil { + // fmt.Println("!!@ executionModel.Spec is nil") + //} + //if opts == nil { + // fmt.Println("!!@ opts is nil") + //} if err = proto.Unmarshal(executionModel.Spec, &spec); err != nil { return nil, errors.NewFlyteAdminErrorf(codes.Internal, "failed to unmarshal spec") } From cf2fd0efb7ccf74794740e0f81bf7c53096661a7 Mon Sep 17 00:00:00 2001 From: Yee Hing Tong Date: Wed, 9 Aug 2023 13:13:01 -0700 Subject: [PATCH 10/47] added some fields Signed-off-by: Yee Hing Tong --- .../implementations/cloudevent_publisher.go | 68 +++++++++++++++++-- .../pkg/manager/impl/execution_manager.go | 3 +- 2 files changed, 64 insertions(+), 7 deletions(-) diff --git a/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go b/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go index fda8e75bd4..685c721e67 100644 --- a/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go +++ b/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go @@ -171,6 +171,21 @@ func (c *CloudEventWrappedPublisher) TransformWorkflowExecutionEvent(ctx context } } + // Get inputs to the workflow execution + var inputs *core.LiteralMap + inputs, _, err = util.GetInputs(ctx, c.urlData, &c.remoteDataConfig, + c.storageClient, executionModel.InputsURI.String()) + if err != nil { + logger.Warningf(ctx, "Error fetching input literal map %s", executionModel.InputsURI.String()) + } + // The spec is used to retrieve metadata fields + spec := &admin.ExecutionSpec{} + err = proto.Unmarshal(executionModel.Spec, spec) + if err != nil { + fmt.Printf("there was an error with spec %v %v", err, executionModel.Spec) + } + + // Get outputs from the workflow execution var outputs *core.LiteralMap if rawEvent.GetOutputData() != nil { fmt.Printf("remove this - Got output data") @@ -192,9 +207,14 @@ func (c *CloudEventWrappedPublisher) TransformWorkflowExecutionEvent(ctx context } return &event.CloudEventWorkflowExecution{ - RawEvent: rawEvent, - OutputData: outputs, - OutputInterface: &workflowInterface, + RawEvent: rawEvent, + OutputData: outputs, + OutputInterface: &workflowInterface, + InputData: inputs, + ScheduledAt: spec.GetMetadata().GetScheduledAt(), + ArtifactIds: spec.GetMetadata().GetArtifactIds(), + ParentNodeExecution: spec.GetMetadata().GetParentNodeExecution(), + ReferenceExecution: spec.GetMetadata().GetReferenceExecution(), }, nil } @@ -205,6 +225,7 @@ func (c *CloudEventWrappedPublisher) TransformNodeExecutionEvent(ctx context.Con } func (c *CloudEventWrappedPublisher) TransformTaskExecutionEvent(ctx context.Context, rawEvent *event.TaskExecutionEvent) (*event.CloudEventTaskExecution, error) { + if rawEvent == nil { return nil, fmt.Errorf("nothing to publish, TaskExecution event is nil") } @@ -218,6 +239,23 @@ func (c *CloudEventWrappedPublisher) TransformTaskExecutionEvent(ctx context.Con }, nil } + // This gets the parent workflow execution metadata + executionModel, err := c.db.ExecutionRepo().Get(ctx, repositoryInterfaces.Identifier{ + Project: rawEvent.ParentNodeExecutionId.ExecutionId.Project, + Domain: rawEvent.ParentNodeExecutionId.ExecutionId.Domain, + Name: rawEvent.ParentNodeExecutionId.ExecutionId.Name, + }) + if err != nil { + logger.Infof(ctx, "couldn't find execution [%+v] to save termination cause", rawEvent.ParentNodeExecutionId) + return nil, err + } + + spec := &admin.ExecutionSpec{} + err = proto.Unmarshal(executionModel.Spec, spec) + if err != nil { + fmt.Printf("there was an error with spec %v %v", err, executionModel.Spec) + } + taskModel, err := c.db.TaskRepo().Get(ctx, repositoryInterfaces.Identifier{ Project: rawEvent.TaskId.Project, Domain: rawEvent.TaskId.Domain, @@ -231,6 +269,19 @@ func (c *CloudEventWrappedPublisher) TransformTaskExecutionEvent(ctx context.Con } task, err := transformers.FromTaskModel(taskModel) + var inputs *core.LiteralMap + if rawEvent.GetInputData() != nil { + inputs = rawEvent.GetInputData() + } else if len(rawEvent.GetInputUri()) > 0 { + inputs, _, err = util.GetInputs(ctx, c.urlData, &c.remoteDataConfig, + c.storageClient, rawEvent.GetInputUri()) + if err != nil { + fmt.Printf("Error fetching input literal map %v", rawEvent) + } + } else { + logger.Infof(ctx, "Task execution for node exec [%+v] has no input data", rawEvent.ParentNodeExecutionId) + } + var outputs *core.LiteralMap if rawEvent.GetOutputData() != nil { fmt.Printf("remove this - task Got output data") @@ -251,9 +302,14 @@ func (c *CloudEventWrappedPublisher) TransformTaskExecutionEvent(ctx context.Con } return &event.CloudEventTaskExecution{ - RawEvent: rawEvent, - OutputData: outputs, - OutputInterface: task.Closure.CompiledTask.Template.Interface, + RawEvent: rawEvent, + OutputData: outputs, + OutputInterface: task.Closure.CompiledTask.Template.Interface, + InputData: inputs, + ScheduledAt: spec.GetMetadata().GetScheduledAt(), + ArtifactIds: spec.GetMetadata().GetArtifactIds(), + ParentNodeExecution: spec.GetMetadata().GetParentNodeExecution(), + ReferenceExecution: spec.GetMetadata().GetReferenceExecution(), }, nil } diff --git a/flyteadmin/pkg/manager/impl/execution_manager.go b/flyteadmin/pkg/manager/impl/execution_manager.go index 5a0e7de1db..8ce76586e2 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager.go +++ b/flyteadmin/pkg/manager/impl/execution_manager.go @@ -726,6 +726,7 @@ func (m *ExecutionManager) ResolveLiteralMapArtifacts(ctx context.Context, input x := *m.artifactClient req := &artifact.GetArtifactRequest{ + // TODO: Do all the templating work for querying. Query: &core.ArtifactQuery{ Identifier: &core.ArtifactQuery_ArtifactId{ArtifactId: v.GetArtifactId()}, }, @@ -775,7 +776,7 @@ func (m *ExecutionManager) ResolveParameterMapArtifacts(ctx context.Context, inp if m.artifactClient == nil { return nil, nil, errors.NewFlyteAdminErrorf(codes.Internal, "artifact client is not initialized, can't resolve queries") } - + // TODO: Do all the templating work for querying. req := &artifact.GetArtifactRequest{ Query: v.GetArtifactQuery(), Details: false, From 85243b4b82ff332288783f9932098cf3c24ddd9e Mon Sep 17 00:00:00 2001 From: Yee Hing Tong Date: Wed, 9 Aug 2023 20:35:58 -0700 Subject: [PATCH 11/47] some manual templating Signed-off-by: Yee Hing Tong --- .../pkg/manager/impl/execution_manager.go | 155 +++++++++++++++++- 1 file changed, 146 insertions(+), 9 deletions(-) diff --git a/flyteadmin/pkg/manager/impl/execution_manager.go b/flyteadmin/pkg/manager/impl/execution_manager.go index 8ce76586e2..74688bd06a 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager.go +++ b/flyteadmin/pkg/manager/impl/execution_manager.go @@ -3,7 +3,9 @@ package impl import ( "context" "fmt" + "regexp" "strconv" + "strings" "time" "github.com/flyteorg/flytestdlib/promutils/labeled" @@ -726,7 +728,6 @@ func (m *ExecutionManager) ResolveLiteralMapArtifacts(ctx context.Context, input x := *m.artifactClient req := &artifact.GetArtifactRequest{ - // TODO: Do all the templating work for querying. Query: &core.ArtifactQuery{ Identifier: &core.ArtifactQuery_ArtifactId{ArtifactId: v.GetArtifactId()}, }, @@ -746,18 +747,134 @@ func (m *ExecutionManager) ResolveLiteralMapArtifacts(ctx context.Context, input } lm := &core.LiteralMap{Literals: outputs} return lm, artifactIDs, nil +} + +var re = regexp.MustCompile(`.*({{\s*\.inputs\.([a-zA-Z0-9_]+)\s*}}).*`) + +// templateInputString uses regex to take a string that looks like "{{ .inputs.var1 }}" and replace it with the +// string value of var1 +func (m *ExecutionManager) templateInputString(ctx context.Context, input string, inputs map[string]*core.Literal) (string, error) { + // todo: fill this in + if input == "{{ .execution.kickoff_time }}" { + return "2023-08-58", nil + } + matches := re.FindStringSubmatch(input) + if len(matches) == 3 { + val, ok := inputs[matches[2]] + if !ok { + return input, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "input var [%s] not found", matches[2]) + } + if val.GetScalar() == nil || val.GetScalar().GetPrimitive() == nil { + return "", errors.NewFlyteAdminErrorf(codes.InvalidArgument, "invalid input value [%+v]", val) + } + x := strings.Replace(input, matches[1], val.GetScalar().GetPrimitive().GetStringValue(), -1) + return x, nil + } else { + logger.Debugf(ctx, "No matches found for input string [%s]", input) + return input, nil + } +} + +func (m *ExecutionManager) fillInTemplateArgs(ctx context.Context, query core.ArtifactQuery, inputs map[string]*core.Literal) (core.ArtifactQuery, error) { + if query.GetUri() != "" { + // If a query string, then just pass it through, nothing to fill in. + return query, nil + } else if query.GetArtifactTag() != nil { + t := query.GetArtifactTag() + ak := t.GetArtifactKey() + if ak == nil { + return query, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "tag doesn't have key") + } + var project, domain string + if ak.GetProject() == "" { + project = contextutils.Value(ctx, contextutils.ProjectKey) + } else { + project = ak.GetProject() + } + if ak.GetDomain() == "" { + domain = contextutils.Value(ctx, contextutils.DomainKey) + } else { + domain = ak.GetDomain() + } + + newValue, err := m.templateInputString(ctx, t.GetValue(), inputs) + if err != nil { + logger.Errorf(ctx, "Failed to template input string [%s] [%v]", t.GetValue(), err) + return query, err + } + + return core.ArtifactQuery{ + Identifier: &core.ArtifactQuery_ArtifactTag{ + ArtifactTag: &core.ArtifactTag{ + ArtifactKey: &core.ArtifactKey{ + Project: project, + Domain: domain, + Name: ak.GetName(), + }, + Value: newValue, + }, + }, + }, nil + } else if query.GetArtifactId() != nil { + artifactID := query.GetArtifactId() + ak := artifactID.GetArtifactKey() + if ak == nil { + return query, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "id doesn't have key") + } + var project, domain string + if ak.GetProject() == "" { + project = contextutils.Value(ctx, contextutils.ProjectKey) + } else { + project = ak.GetProject() + } + if ak.GetDomain() == "" { + domain = contextutils.Value(ctx, contextutils.DomainKey) + } else { + domain = ak.GetDomain() + } + + var partitions map[string]string + if artifactID.GetPartitions() != nil { + partitions = make(map[string]string, len(artifactID.GetPartitions().Value)) + for k, v := range artifactID.GetPartitions().Value { + newValue, err := m.templateInputString(ctx, v, inputs) + if err != nil { + logger.Errorf(ctx, "Failed to template input string [%s] [%v]", v, err) + return query, err + } + partitions[k] = newValue + } + } + return core.ArtifactQuery{ + Identifier: &core.ArtifactQuery_ArtifactId{ + ArtifactId: &core.ArtifactID{ + ArtifactKey: &core.ArtifactKey{ + Project: project, + Domain: domain, + Name: ak.GetName(), + }, + Dimensions: &core.ArtifactID_Partitions{ + Partitions: &core.Partitions{ + Value: partitions, + }, + }, + }, + }, + }, nil + } + return query, errors.NewFlyteAdminErrorf(codes.InvalidArgument, "query doesn't have uri, tag, or id") } // ResolveParameterMapArtifacts will go through the parameter map, and resolve any artifact queries. -func (m *ExecutionManager) ResolveParameterMapArtifacts(ctx context.Context, inputs *core.ParameterMap, fulfilled map[string]*core.ArtifactID) (*core.ParameterMap, map[string]*core.ArtifactID, error) { +func (m *ExecutionManager) ResolveParameterMapArtifacts(ctx context.Context, inputs *core.ParameterMap, fulfilled map[string]*core.ArtifactID, inputsForQueryTemplating map[string]*core.Literal) (*core.ParameterMap, map[string]*core.ArtifactID, error) { // only top level replace for now. var artifactIDs = make(map[string]*core.ArtifactID) if inputs == nil { return nil, artifactIDs, nil } outputs := map[string]*core.Parameter{} - x := *m.artifactClient + client := *m.artifactClient for k, v := range inputs.Parameters { if fulfilled != nil { @@ -776,13 +893,17 @@ func (m *ExecutionManager) ResolveParameterMapArtifacts(ctx context.Context, inp if m.artifactClient == nil { return nil, nil, errors.NewFlyteAdminErrorf(codes.Internal, "artifact client is not initialized, can't resolve queries") } - // TODO: Do all the templating work for querying. + filledInQuery, err := m.fillInTemplateArgs(ctx, *v.GetArtifactQuery(), inputsForQueryTemplating) + if err != nil { + logger.Errorf(ctx, "Failed to fill in template args for [%s] [%v]", k, err) + return nil, nil, err + } req := &artifact.GetArtifactRequest{ - Query: v.GetArtifactQuery(), + Query: &filledInQuery, Details: false, } - resp, err := x.GetArtifact(ctx, req) + resp, err := client.GetArtifact(ctx, req) if err != nil { return nil, nil, err } @@ -804,6 +925,8 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( ctx context.Context, request admin.ExecutionCreateRequest, requestedAt time.Time) ( context.Context, *models.Execution, []*core.ArtifactID, error) { + ctxPD := contextutils.WithProjectDomain(ctx, request.Project, request.Domain) + err := validation.ValidateExecutionRequest(ctx, request, m.db, m.config.ApplicationConfiguration()) if err != nil { logger.Debugf(ctx, "Failed to validate ExecutionCreateRequest %+v with err %v", request, err) @@ -838,7 +961,7 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( // that are already satisfied in the request, we don't want to perform the search (maybe the search doesn't even // return anything yet). var foundArtifacts = make(map[string]*core.ArtifactID) - resolvedRequestInputs, as, err := m.ResolveLiteralMapArtifacts(ctx, request.Inputs) + resolvedRequestInputs, as, err := m.ResolveLiteralMapArtifacts(ctxPD, request.Inputs) if err != nil { logger.Errorf(ctx, "Error looking up request.Inputs for artifacts: %v", err) return nil, nil, nil, err @@ -846,7 +969,7 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( for k, v := range as { foundArtifacts[k] = v } - resolvedFixedInputs, as, err := m.ResolveLiteralMapArtifacts(ctx, launchPlan.Spec.FixedInputs) + resolvedFixedInputs, as, err := m.ResolveLiteralMapArtifacts(ctxPD, launchPlan.Spec.FixedInputs) if err != nil { logger.Errorf(ctx, "Error looking up launch plan fixed inputs for artifacts: %v", err) return nil, nil, nil, err @@ -854,7 +977,20 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( for k, v := range as { foundArtifacts[k] = v } - resolvedExpectedInputs, as, err := m.ResolveParameterMapArtifacts(ctx, launchPlan.Closure.ExpectedInputs, foundArtifacts) + // Put together the inputs that we've already resolved so that the artifact querying bit can fill them in. + var inputsForQueryTemplating = make(map[string]*core.Literal) + if resolvedRequestInputs != nil { + for k, v := range resolvedRequestInputs.Literals { + inputsForQueryTemplating[k] = v + } + } + if resolvedFixedInputs != nil { + for k, v := range resolvedFixedInputs.Literals { + inputsForQueryTemplating[k] = v + } + } + + resolvedExpectedInputs, as, err := m.ResolveParameterMapArtifacts(ctxPD, launchPlan.Closure.ExpectedInputs, foundArtifacts, inputsForQueryTemplating) if err != nil { logger.Errorf(ctx, "Error looking up launch plan closure parameter map: %v", err) return nil, nil, nil, err @@ -1101,6 +1237,7 @@ func (m *ExecutionManager) handleArtifactEvents(artifactIDs []*core.ArtifactID, func (m *ExecutionManager) CreateExecution( ctx context.Context, request admin.ExecutionCreateRequest, requestedAt time.Time) ( *admin.ExecutionCreateResponse, error) { + // Prior to flyteidl v0.15.0, Inputs was held in ExecutionSpec. Ensure older clients continue to work. if request.Inputs == nil || len(request.Inputs.Literals) == 0 { request.Inputs = request.GetSpec().GetInputs() From a2c074eace34835383f2bf1fddcd5b6819698530 Mon Sep 17 00:00:00 2001 From: Yee Hing Tong Date: Thu, 10 Aug 2023 13:36:48 -0700 Subject: [PATCH 12/47] remove the external artifact eventing, add better execution hack Signed-off-by: Yee Hing Tong --- .../pkg/manager/impl/execution_manager.go | 125 +++++++++--------- 1 file changed, 66 insertions(+), 59 deletions(-) diff --git a/flyteadmin/pkg/manager/impl/execution_manager.go b/flyteadmin/pkg/manager/impl/execution_manager.go index 74688bd06a..dbc650eccd 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager.go +++ b/flyteadmin/pkg/manager/impl/execution_manager.go @@ -750,14 +750,12 @@ func (m *ExecutionManager) ResolveLiteralMapArtifacts(ctx context.Context, input } var re = regexp.MustCompile(`.*({{\s*\.inputs\.([a-zA-Z0-9_]+)\s*}}).*`) +var reExecutionMetadata = regexp.MustCompile(`.*({{\s*\.execution\.([a-zA-Z0-9_]+)\s*}}).*`) // templateInputString uses regex to take a string that looks like "{{ .inputs.var1 }}" and replace it with the // string value of var1 -func (m *ExecutionManager) templateInputString(ctx context.Context, input string, inputs map[string]*core.Literal) (string, error) { - // todo: fill this in - if input == "{{ .execution.kickoff_time }}" { - return "2023-08-58", nil - } +func (m *ExecutionManager) templateInputString(ctx context.Context, input string, inputs map[string]*core.Literal, metadata *admin.ExecutionMetadata) (string, error) { + matches := re.FindStringSubmatch(input) if len(matches) == 3 { val, ok := inputs[matches[2]] @@ -770,12 +768,35 @@ func (m *ExecutionManager) templateInputString(ctx context.Context, input string x := strings.Replace(input, matches[1], val.GetScalar().GetPrimitive().GetStringValue(), -1) return x, nil } else { - logger.Debugf(ctx, "No matches found for input string [%s]", input) - return input, nil + logger.Debugf(ctx, "No input matches found for input string [%s]", input) } + + matches = reExecutionMetadata.FindStringSubmatch(input) + if len(matches) == 3 { + metadataKey := matches[2] + if metadataKey == "kickoff_time" { + // timestamp formatting datetime is harder in the current proto library we're using. + // manually convert + var customFormattedTime string + if metadata != nil && metadata.ScheduledAt != nil { + t := time.Unix(metadata.ScheduledAt.GetSeconds(), 0) + customFormattedTime = fmt.Sprintf("%d-%02d-%02d", t.Year(), int(t.Month()), t.Second()) + } else { + customFormattedTime = "2023-08-58" + } + x := strings.Replace(input, matches[1], customFormattedTime, -1) + return x, nil + } else { + logger.Warningf(ctx, "unknown execution templating key found [%s], leaving unchanged [%s]", metadataKey, input) + } + } + + // By default just return the original string + return input, nil } -func (m *ExecutionManager) fillInTemplateArgs(ctx context.Context, query core.ArtifactQuery, inputs map[string]*core.Literal) (core.ArtifactQuery, error) { +func (m *ExecutionManager) fillInTemplateArgs(ctx context.Context, query core.ArtifactQuery, inputs map[string]*core.Literal, metadata *admin.ExecutionMetadata) (core.ArtifactQuery, error) { + if query.GetUri() != "" { // If a query string, then just pass it through, nothing to fill in. return query, nil @@ -797,7 +818,7 @@ func (m *ExecutionManager) fillInTemplateArgs(ctx context.Context, query core.Ar domain = ak.GetDomain() } - newValue, err := m.templateInputString(ctx, t.GetValue(), inputs) + newValue, err := m.templateInputString(ctx, t.GetValue(), inputs, metadata) if err != nil { logger.Errorf(ctx, "Failed to template input string [%s] [%v]", t.GetValue(), err) return query, err @@ -838,7 +859,7 @@ func (m *ExecutionManager) fillInTemplateArgs(ctx context.Context, query core.Ar if artifactID.GetPartitions() != nil { partitions = make(map[string]string, len(artifactID.GetPartitions().Value)) for k, v := range artifactID.GetPartitions().Value { - newValue, err := m.templateInputString(ctx, v, inputs) + newValue, err := m.templateInputString(ctx, v, inputs, metadata) if err != nil { logger.Errorf(ctx, "Failed to template input string [%s] [%v]", v, err) return query, err @@ -867,8 +888,9 @@ func (m *ExecutionManager) fillInTemplateArgs(ctx context.Context, query core.Ar } // ResolveParameterMapArtifacts will go through the parameter map, and resolve any artifact queries. -func (m *ExecutionManager) ResolveParameterMapArtifacts(ctx context.Context, inputs *core.ParameterMap, fulfilled map[string]*core.ArtifactID, inputsForQueryTemplating map[string]*core.Literal) (*core.ParameterMap, map[string]*core.ArtifactID, error) { - // only top level replace for now. +func (m *ExecutionManager) ResolveParameterMapArtifacts(ctx context.Context, inputs *core.ParameterMap, fulfilled map[string]*core.ArtifactID, inputsForQueryTemplating map[string]*core.Literal, metadata *admin.ExecutionMetadata) (*core.ParameterMap, map[string]*core.ArtifactID, error) { + + // only top level replace for now. Need to make this recursive var artifactIDs = make(map[string]*core.ArtifactID) if inputs == nil { return nil, artifactIDs, nil @@ -893,7 +915,7 @@ func (m *ExecutionManager) ResolveParameterMapArtifacts(ctx context.Context, inp if m.artifactClient == nil { return nil, nil, errors.NewFlyteAdminErrorf(codes.Internal, "artifact client is not initialized, can't resolve queries") } - filledInQuery, err := m.fillInTemplateArgs(ctx, *v.GetArtifactQuery(), inputsForQueryTemplating) + filledInQuery, err := m.fillInTemplateArgs(ctx, *v.GetArtifactQuery(), inputsForQueryTemplating, metadata) if err != nil { logger.Errorf(ctx, "Failed to fill in template args for [%s] [%v]", k, err) return nil, nil, err @@ -923,32 +945,31 @@ func (m *ExecutionManager) ResolveParameterMapArtifacts(ctx context.Context, inp func (m *ExecutionManager) launchExecutionAndPrepareModel( ctx context.Context, request admin.ExecutionCreateRequest, requestedAt time.Time) ( - context.Context, *models.Execution, []*core.ArtifactID, error) { + context.Context, *models.Execution, error) { ctxPD := contextutils.WithProjectDomain(ctx, request.Project, request.Domain) err := validation.ValidateExecutionRequest(ctx, request, m.db, m.config.ApplicationConfiguration()) if err != nil { logger.Debugf(ctx, "Failed to validate ExecutionCreateRequest %+v with err %v", request, err) - return nil, nil, nil, err + return nil, nil, err } if request.Spec.LaunchPlan.ResourceType == core.ResourceType_TASK { logger.Debugf(ctx, "Launching single task execution with [%+v]", request.Spec.LaunchPlan) // When tasks can have defaults this will need to handle Artifacts as well. ctx, model, err := m.launchSingleTaskExecution(ctx, request, requestedAt) - // Since single task doesn't leverage artifact yet, inject a nil artifact list. - return ctx, model, nil, err + return ctx, model, err } launchPlanModel, err := util.GetLaunchPlanModel(ctx, m.db, *request.Spec.LaunchPlan) if err != nil { logger.Debugf(ctx, "Failed to get launch plan model for ExecutionCreateRequest %+v with err %v", request, err) - return nil, nil, nil, err + return nil, nil, err } launchPlan, err := transformers.FromLaunchPlanModel(launchPlanModel) if err != nil { logger.Debugf(ctx, "Failed to transform launch plan model %+v with err %v", launchPlanModel, err) - return nil, nil, nil, err + return nil, nil, err } // Resolve artifacts. @@ -964,7 +985,7 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( resolvedRequestInputs, as, err := m.ResolveLiteralMapArtifacts(ctxPD, request.Inputs) if err != nil { logger.Errorf(ctx, "Error looking up request.Inputs for artifacts: %v", err) - return nil, nil, nil, err + return nil, nil, err } for k, v := range as { foundArtifacts[k] = v @@ -972,7 +993,7 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( resolvedFixedInputs, as, err := m.ResolveLiteralMapArtifacts(ctxPD, launchPlan.Spec.FixedInputs) if err != nil { logger.Errorf(ctx, "Error looking up launch plan fixed inputs for artifacts: %v", err) - return nil, nil, nil, err + return nil, nil, err } for k, v := range as { foundArtifacts[k] = v @@ -990,10 +1011,10 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( } } - resolvedExpectedInputs, as, err := m.ResolveParameterMapArtifacts(ctxPD, launchPlan.Closure.ExpectedInputs, foundArtifacts, inputsForQueryTemplating) + resolvedExpectedInputs, as, err := m.ResolveParameterMapArtifacts(ctxPD, launchPlan.Closure.ExpectedInputs, foundArtifacts, inputsForQueryTemplating, request.Spec.Metadata) if err != nil { logger.Errorf(ctx, "Error looking up launch plan closure parameter map: %v", err) - return nil, nil, nil, err + return nil, nil, err } for k, v := range as { foundArtifacts[k] = v @@ -1018,23 +1039,23 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( logger.Debugf(ctx, "Failed to CheckAndFetchInputsForExecution with resolvedRequestInputs: %+v"+ "fixed inputs: %+v and expected inputs: %+v with err %v", resolvedRequestInputs, resolvedFixedInputs, resolvedExpectedInputs, err) - return nil, nil, nil, err + return nil, nil, err } workflowModel, err := util.GetWorkflowModel(ctx, m.db, *launchPlan.Spec.WorkflowId) if err != nil { logger.Debugf(ctx, "Failed to get workflow with id %+v with err %v", launchPlan.Spec.WorkflowId, err) - return nil, nil, nil, err + return nil, nil, err } workflow, err := transformers.FromWorkflowModel(workflowModel) if err != nil { logger.Debugf(ctx, "Failed to get workflow with id %+v with err %v", launchPlan.Spec.WorkflowId, err) - return nil, nil, nil, err + return nil, nil, err } closure, err := util.FetchAndGetWorkflowClosure(ctx, m.storageClient, workflowModel.RemoteClosureIdentifier) if err != nil { logger.Debugf(ctx, "Failed to get workflow with id %+v with err %v", launchPlan.Spec.WorkflowId, err) - return nil, nil, nil, err + return nil, nil, err } closure.CreatedAt = workflow.Closure.CreatedAt workflow.Closure = closure @@ -1051,7 +1072,8 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( requestSpec.Metadata = &admin.ExecutionMetadata{} } requestSpec.Metadata.Principal = getUser(ctx) - // Construct a list of the values for saving. + // Construct a list of the values and save to request spec metadata. + // Avoids going through the model creation step. artifactIDs := make([]*core.ArtifactID, 0, len(foundArtifacts)) for _, value := range foundArtifacts { artifactIDs = append(artifactIDs, value) @@ -1063,7 +1085,7 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( var sourceExecutionID uint parentNodeExecutionID, sourceExecutionID, err = m.getInheritedExecMetadata(ctx, requestSpec, &workflowExecutionID) if err != nil { - return nil, nil, nil, err + return nil, nil, err } // Dynamically assign task resource defaults. @@ -1077,16 +1099,16 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( inputsURI, err := common.OffloadLiteralMap(ctx, m.storageClient, executionInputs, workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.Inputs) if err != nil { - return nil, nil, nil, err + return nil, nil, err } userInputsURI, err := common.OffloadLiteralMap(ctx, m.storageClient, resolvedRequestInputs, workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.UserInputs) if err != nil { - return nil, nil, nil, err + return nil, nil, err } executionConfig, err := m.getExecutionConfig(ctx, &request, launchPlan) if err != nil { - return nil, nil, nil, err + return nil, nil, err } namespace := common.GetNamespaceName( @@ -1094,15 +1116,15 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( labels, err := resolveStringMap(executionConfig.GetLabels(), launchPlan.Spec.Labels, "labels", m.config.RegistrationValidationConfiguration().GetMaxLabelEntries()) if err != nil { - return nil, nil, nil, err + return nil, nil, err } labels, err = m.addProjectLabels(ctx, request.Project, labels) if err != nil { - return nil, nil, nil, err + return nil, nil, err } annotations, err := resolveStringMap(executionConfig.GetAnnotations(), launchPlan.Spec.Annotations, "annotations", m.config.RegistrationValidationConfiguration().GetMaxAnnotationEntries()) if err != nil { - return nil, nil, nil, err + return nil, nil, err } var rawOutputDataConfig *admin.RawOutputDataConfig if executionConfig.RawOutputDataConfig != nil { @@ -1111,7 +1133,7 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( clusterAssignment, err := m.getClusterAssignment(ctx, &request) if err != nil { - return nil, nil, nil, err + return nil, nil, err } executionParameters := workflowengineInterfaces.ExecutionParameters{ @@ -1129,7 +1151,7 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( overrides, err := m.addPluginOverrides(ctx, &workflowExecutionID, launchPlan.GetSpec().WorkflowId.Name, launchPlan.Id.Name) if err != nil { - return nil, nil, nil, err + return nil, nil, err } if overrides != nil { executionParameters.TaskPluginOverrides = overrides @@ -1155,7 +1177,7 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( m.systemMetrics.PropellerFailures.Inc() logger.Infof(ctx, "Failed to execute workflow %+v with execution id %+v and inputs %+v with err %v", request, workflowExecutionID, executionInputs, err) - return nil, nil, nil, err + return nil, nil, err } executionCreatedAt := time.Now() acceptanceDelay := executionCreatedAt.Sub(requestedAt) @@ -1196,9 +1218,9 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( if err != nil { logger.Infof(ctx, "Failed to create execution model in transformer for id: [%+v] with err: %v", workflowExecutionID, err) - return nil, nil, nil, err + return nil, nil, err } - return ctx, executionModel, artifactIDs, nil + return ctx, executionModel, nil } // Inserts an execution model into the database store and emits platform metrics. @@ -1222,30 +1244,17 @@ func (m *ExecutionManager) createExecutionModel( return &workflowExecutionIdentifier, nil } -func (m *ExecutionManager) handleArtifactEvents(artifactIDs []*core.ArtifactID, wfExecID core.WorkflowExecutionIdentifier) { - // todo: Proper events need to be created for this. - if artifactIDs != nil { - fmt.Printf("WF exec used %v", wfExecID.String()) - for _, artifactID := range artifactIDs { - if artifactID != nil { - fmt.Printf("artifactID: %v\n", artifactID) - } - } - } -} - func (m *ExecutionManager) CreateExecution( ctx context.Context, request admin.ExecutionCreateRequest, requestedAt time.Time) ( *admin.ExecutionCreateResponse, error) { - // Prior to flyteidl v0.15.0, Inputs was held in ExecutionSpec. Ensure older clients continue to work. + // Prior to flyteidl v0.15.0, Inputs was held in ExecutionSpec. Ensure older clients continue to work. if request.Inputs == nil || len(request.Inputs.Literals) == 0 { request.Inputs = request.GetSpec().GetInputs() } var executionModel *models.Execution var err error - var artifactIDs []*core.ArtifactID - ctx, executionModel, artifactIDs, err = m.launchExecutionAndPrepareModel(ctx, request, requestedAt) + ctx, executionModel, err = m.launchExecutionAndPrepareModel(ctx, request, requestedAt) if err != nil { return nil, err } @@ -1253,7 +1262,6 @@ func (m *ExecutionManager) CreateExecution( if err != nil { return nil, err } - m.handleArtifactEvents(artifactIDs, *workflowExecutionIdentifier) return &admin.ExecutionCreateResponse{ Id: workflowExecutionIdentifier, }, nil @@ -1295,7 +1303,7 @@ func (m *ExecutionManager) RelaunchExecution( executionSpec.Metadata.ReferenceExecution = existingExecution.Id executionSpec.OverwriteCache = request.GetOverwriteCache() var executionModel *models.Execution - ctx, executionModel, artifactIDs, err := m.launchExecutionAndPrepareModel(ctx, admin.ExecutionCreateRequest{ + ctx, executionModel, err = m.launchExecutionAndPrepareModel(ctx, admin.ExecutionCreateRequest{ Project: request.Id.Project, Domain: request.Id.Domain, Name: request.Name, @@ -1310,7 +1318,6 @@ func (m *ExecutionManager) RelaunchExecution( if err != nil { return nil, err } - m.handleArtifactEvents(artifactIDs, *workflowExecutionIdentifier) logger.Debugf(ctx, "Successfully relaunched [%+v] as [%+v]", request.Id, workflowExecutionIdentifier) return &admin.ExecutionCreateResponse{ Id: workflowExecutionIdentifier, @@ -1347,7 +1354,7 @@ func (m *ExecutionManager) RecoverExecution( executionSpec.Metadata.Mode = admin.ExecutionMetadata_RECOVERED executionSpec.Metadata.ReferenceExecution = existingExecution.Id var executionModel *models.Execution - ctx, executionModel, _, err = m.launchExecutionAndPrepareModel(ctx, admin.ExecutionCreateRequest{ + ctx, executionModel, err = m.launchExecutionAndPrepareModel(ctx, admin.ExecutionCreateRequest{ Project: request.Id.Project, Domain: request.Id.Domain, Name: request.Name, From 424009619f526c141028d06aa88f1c5c74fb1413 Mon Sep 17 00:00:00 2001 From: Yee Hing Tong Date: Mon, 4 Sep 2023 11:25:47 -0700 Subject: [PATCH 13/47] Remove artifactid from literal (#6) Signed-off-by: Yee Hing Tong --- .../implementations/cloudevent_publisher.go | 6 +++-- flyteadmin/pkg/common/flyte_url.go | 8 +++--- .../pkg/manager/impl/execution_manager.go | 26 +++++-------------- 3 files changed, 15 insertions(+), 25 deletions(-) diff --git a/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go b/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go index 685c721e67..568725e9c3 100644 --- a/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go +++ b/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go @@ -338,7 +338,9 @@ func (c *CloudEventWrappedPublisher) Publish(ctx context.Context, notificationTy NodeId: "end-node", ExecutionId: e.ExecutionId, } - eventSource = common.FlyteURLKeyFromNodeExecutionID(dummyNodeExecutionID, common.ArtifactTypeI) + // This forms part of the key in the Artifact store, + // but it should probably be entirely derived by that service instead. + eventSource = common.FlyteURLKeyFromNodeExecutionID(dummyNodeExecutionID) finalMsg, err = c.TransformWorkflowExecutionEvent(ctx, e) if err != nil { logger.Errorf(ctx, "Failed to transform workflow execution event with error: %v", err) @@ -356,7 +358,7 @@ func (c *CloudEventWrappedPublisher) Publish(ctx context.Context, notificationTy return fmt.Errorf("parent node execution id is nil for task execution [%+v]", e) } eventSource = common.FlyteURLKeyFromNodeExecutionIDRetry(*e.ParentNodeExecutionId, - int(e.RetryAttempt), common.ArtifactTypeO) + int(e.RetryAttempt)) finalMsg, err = c.TransformTaskExecutionEvent(ctx, e) case *admin.NodeExecutionEventRequest: topic = "cloudevents.NodeExecution" diff --git a/flyteadmin/pkg/common/flyte_url.go b/flyteadmin/pkg/common/flyte_url.go index 6a4fd44feb..e72a84e129 100644 --- a/flyteadmin/pkg/common/flyte_url.go +++ b/flyteadmin/pkg/common/flyte_url.go @@ -142,16 +142,16 @@ func FlyteURLsFromNodeExecutionID(nodeExecutionID core.NodeExecutionIdentifier, // FlyteURLKeyFromNodeExecutionID is a modified version of the function above. // This constructs a fully unique prefix, and when post-pended with the output name, forms a fully unique name for // the artifact service (including the project/domain of course, which the artifact service will add). -func FlyteURLKeyFromNodeExecutionID(nodeExecutionID core.NodeExecutionIdentifier, artifactType ArtifactType) string { - res := fmt.Sprintf("%s/%s/%s", nodeExecutionID.ExecutionId.Name, nodeExecutionID.NodeId, artifactType) +func FlyteURLKeyFromNodeExecutionID(nodeExecutionID core.NodeExecutionIdentifier) string { + res := fmt.Sprintf("%s/%s", nodeExecutionID.ExecutionId.Name, nodeExecutionID.NodeId) return res } // FlyteURLKeyFromNodeExecutionID is a modified version of the function above. // See the uniqueness comment above. -func FlyteURLKeyFromNodeExecutionIDRetry(nodeExecutionID core.NodeExecutionIdentifier, retry int, artifactType ArtifactType) string { - res := fmt.Sprintf("%s/%s/%s/%s", nodeExecutionID.ExecutionId.Name, nodeExecutionID.NodeId, strconv.Itoa(retry), artifactType) +func FlyteURLKeyFromNodeExecutionIDRetry(nodeExecutionID core.NodeExecutionIdentifier, retry int) string { + res := fmt.Sprintf("%s/%s/%s", nodeExecutionID.ExecutionId.Name, nodeExecutionID.NodeId, strconv.Itoa(retry)) return res } diff --git a/flyteadmin/pkg/manager/impl/execution_manager.go b/flyteadmin/pkg/manager/impl/execution_manager.go index dbc650eccd..9bde047761 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager.go +++ b/flyteadmin/pkg/manager/impl/execution_manager.go @@ -721,26 +721,14 @@ func (m *ExecutionManager) ResolveLiteralMapArtifacts(ctx context.Context, input // only top level replace for now. outputs := map[string]*core.Literal{} for k, v := range inputs.Literals { - if v.GetArtifactId() != nil { - if m.artifactClient == nil { - return nil, nil, errors.NewFlyteAdminErrorf(codes.Internal, "artifact client is not initialized") - } - - x := *m.artifactClient - req := &artifact.GetArtifactRequest{ - Query: &core.ArtifactQuery{ - Identifier: &core.ArtifactQuery_ArtifactId{ArtifactId: v.GetArtifactId()}, - }, - Details: false, - } - resp, err := x.GetArtifact(ctx, req) - if err != nil { - logger.Errorf(ctx, "Failed to find artifact by ID [%+v]", v.GetArtifactId()) - return nil, nil, err + if v.GetMetadata() != nil { + for k, v := range v.GetMetadata() { + if k == "_ua" { + // TODO: Update the signature of this function and return these keys in the + // yet to be created new execution kickoff event. + logger.Warningf(ctx, "Using artifact with metadata %s, to be recorded later", v) + } } - artifactIDs[k] = resp.Artifact.GetArtifactId() - logger.Debugf(ctx, "Resolved artifact for [%s] to [%+v]", k, resp.GetArtifact().ArtifactId) - outputs[k] = resp.Artifact.Spec.Value } else { outputs[k] = v } From a2d473540a3efe4f5da409a41e74c1a369670460 Mon Sep 17 00:00:00 2001 From: Yee Hing Tong Date: Tue, 5 Sep 2023 11:23:59 -0700 Subject: [PATCH 14/47] Emit event for execution time lineage (#8) Also clean up the logic around resolving parameter and literal map a bit more. --- .../implementations/cloudevent_publisher.go | 12 +- flyteadmin/pkg/common/flyte_url.go | 2 +- .../pkg/manager/impl/execution_manager.go | 185 ++++++++++-------- .../repositories/transformers/execution.go | 6 - 4 files changed, 120 insertions(+), 85 deletions(-) diff --git a/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go b/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go index 568725e9c3..80379e75f3 100644 --- a/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go +++ b/flyteadmin/pkg/async/cloudevent/implementations/cloudevent_publisher.go @@ -324,6 +324,7 @@ func (c *CloudEventWrappedPublisher) Publish(ctx context.Context, notificationTy var finalMsg proto.Message // this is a modified notification type. will be used for both event type and publishing topic. var topic string + var eventID string var eventSource = cloudEventSource switch msgType := msg.(type) { @@ -346,6 +347,7 @@ func (c *CloudEventWrappedPublisher) Publish(ctx context.Context, notificationTy logger.Errorf(ctx, "Failed to transform workflow execution event with error: %v", err) return err } + eventID = fmt.Sprintf("%v.%v", executionID, phase) case *admin.TaskExecutionEventRequest: topic = "cloudevents.TaskExecution" @@ -353,6 +355,7 @@ func (c *CloudEventWrappedPublisher) Publish(ctx context.Context, notificationTy executionID = e.TaskId.String() phase = e.Phase.String() eventTime = e.OccurredAt.AsTime() + eventID = fmt.Sprintf("%v.%v", executionID, phase) if e.ParentNodeExecutionId == nil { return fmt.Errorf("parent node execution id is nil for task execution [%+v]", e) @@ -366,7 +369,14 @@ func (c *CloudEventWrappedPublisher) Publish(ctx context.Context, notificationTy executionID = msgType.Event.Id.String() phase = e.Phase.String() eventTime = e.OccurredAt.AsTime() + eventID = fmt.Sprintf("%v.%v", executionID, phase) finalMsg, err = c.TransformNodeExecutionEvent(ctx, e) + case *event.CloudEventExecutionStart: + topic = "cloudevents.ExecutionStart" + executionID = msgType.ExecutionId.String() + eventID = fmt.Sprintf("%v", executionID) + eventTime = time.Now() + finalMsg = msgType default: return fmt.Errorf("unsupported event types [%+v]", reflect.TypeOf(msg)) } @@ -389,7 +399,7 @@ func (c *CloudEventWrappedPublisher) Publish(ctx context.Context, notificationTy // Artifact service's uniqueness is project/domain/suffix. project/domain are available from the execution id. // so set the suffix as the source. Can ignore ID since Artifact will only listen to succeeded events. cloudEvt.SetSource(eventSource) - cloudEvt.SetID(fmt.Sprintf("%v.%v", executionID, phase)) + cloudEvt.SetID(eventID) cloudEvt.SetTime(eventTime) cloudEvt.SetExtension(jsonSchemaURLKey, jsonSchemaURL) diff --git a/flyteadmin/pkg/common/flyte_url.go b/flyteadmin/pkg/common/flyte_url.go index e72a84e129..7a30988271 100644 --- a/flyteadmin/pkg/common/flyte_url.go +++ b/flyteadmin/pkg/common/flyte_url.go @@ -148,7 +148,7 @@ func FlyteURLKeyFromNodeExecutionID(nodeExecutionID core.NodeExecutionIdentifier return res } -// FlyteURLKeyFromNodeExecutionID is a modified version of the function above. +// FlyteURLKeyFromNodeExecutionIDRetry is a modified version of the function above. // See the uniqueness comment above. func FlyteURLKeyFromNodeExecutionIDRetry(nodeExecutionID core.NodeExecutionIdentifier, retry int) string { res := fmt.Sprintf("%s/%s/%s", nodeExecutionID.ExecutionId.Name, nodeExecutionID.NodeId, strconv.Itoa(retry)) diff --git a/flyteadmin/pkg/manager/impl/execution_manager.go b/flyteadmin/pkg/manager/impl/execution_manager.go index 9bde047761..28cb4eece9 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager.go +++ b/flyteadmin/pkg/manager/impl/execution_manager.go @@ -3,6 +3,7 @@ package impl import ( "context" "fmt" + "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/event" "regexp" "strconv" "strings" @@ -711,30 +712,31 @@ func resolveSecurityCtx(ctx context.Context, executionConfigSecurityCtx *core.Se } } -// ResolveLiteralMapArtifacts will go through the input literal map and resolve any artifact references to their -// literal values. -func (m *ExecutionManager) ResolveLiteralMapArtifacts(ctx context.Context, inputs *core.LiteralMap) (*core.LiteralMap, map[string]*core.ArtifactID, error) { - var artifactIDs = make(map[string]*core.ArtifactID) - if inputs == nil { - return nil, artifactIDs, nil +// ExtractArtifactKeys pulls out artifact keys from Literals for lineage +func (m *ExecutionManager) ExtractArtifactKeys(input *core.Literal) []string { + var artifactKeys []string + + if input == nil { + return artifactKeys } - // only top level replace for now. - outputs := map[string]*core.Literal{} - for k, v := range inputs.Literals { - if v.GetMetadata() != nil { - for k, v := range v.GetMetadata() { - if k == "_ua" { - // TODO: Update the signature of this function and return these keys in the - // yet to be created new execution kickoff event. - logger.Warningf(ctx, "Using artifact with metadata %s, to be recorded later", v) - } - } - } else { - outputs[k] = v + if input.GetMetadata() != nil { + if artifactKey, ok := input.GetMetadata()["_ua"]; ok { + artifactKeys = append(artifactKeys, artifactKey) + } + } + if input.GetCollection() != nil { + // TODO: Make recursive + for _, v := range input.GetCollection().Literals { + mapKeys := m.ExtractArtifactKeys(v) + artifactKeys = append(artifactKeys, mapKeys...) + } + } else if input.GetMap() != nil { + for _, v := range input.GetMap().Literals { + mapKeys := m.ExtractArtifactKeys(v) + artifactKeys = append(artifactKeys, mapKeys...) } } - lm := &core.LiteralMap{Literals: outputs} - return lm, artifactIDs, nil + return artifactKeys } var re = regexp.MustCompile(`.*({{\s*\.inputs\.([a-zA-Z0-9_]+)\s*}}).*`) @@ -759,6 +761,7 @@ func (m *ExecutionManager) templateInputString(ctx context.Context, input string logger.Debugf(ctx, "No input matches found for input string [%s]", input) } + // TODO: This whole block/regex is just demo code and should be removed until there is user demand. matches = reExecutionMetadata.FindStringSubmatch(input) if len(matches) == 3 { metadataKey := matches[2] @@ -770,7 +773,7 @@ func (m *ExecutionManager) templateInputString(ctx context.Context, input string t := time.Unix(metadata.ScheduledAt.GetSeconds(), 0) customFormattedTime = fmt.Sprintf("%d-%02d-%02d", t.Year(), int(t.Month()), t.Second()) } else { - customFormattedTime = "2023-08-58" + customFormattedTime = "2023-09-58" } x := strings.Replace(input, matches[1], customFormattedTime, -1) return x, nil @@ -876,7 +879,7 @@ func (m *ExecutionManager) fillInTemplateArgs(ctx context.Context, query core.Ar } // ResolveParameterMapArtifacts will go through the parameter map, and resolve any artifact queries. -func (m *ExecutionManager) ResolveParameterMapArtifacts(ctx context.Context, inputs *core.ParameterMap, fulfilled map[string]*core.ArtifactID, inputsForQueryTemplating map[string]*core.Literal, metadata *admin.ExecutionMetadata) (*core.ParameterMap, map[string]*core.ArtifactID, error) { +func (m *ExecutionManager) ResolveParameterMapArtifacts(ctx context.Context, inputs *core.ParameterMap, inputsForQueryTemplating map[string]*core.Literal, metadata *admin.ExecutionMetadata) (*core.ParameterMap, map[string]*core.ArtifactID, error) { // only top level replace for now. Need to make this recursive var artifactIDs = make(map[string]*core.ArtifactID) @@ -887,11 +890,9 @@ func (m *ExecutionManager) ResolveParameterMapArtifacts(ctx context.Context, inp client := *m.artifactClient for k, v := range inputs.Parameters { - if fulfilled != nil { - if _, ok := fulfilled[k]; ok { - // Pretend it's required since it's already been found. - // CheckAndFetchInputsForExecution should be fine. - // todo: clean this up later + if inputsForQueryTemplating != nil { + if _, ok := inputsForQueryTemplating[k]; ok { + // Mark these as required as they're already provided by the other two LiteralMaps outputs[k] = &core.Parameter{ Var: v.Var, Behavior: &core.Parameter_Required{Required: true}, @@ -900,6 +901,7 @@ func (m *ExecutionManager) ResolveParameterMapArtifacts(ctx context.Context, inp } } if v.GetArtifactQuery() != nil { + // This case handles when an Artifact query is specified as a default value. if m.artifactClient == nil { return nil, nil, errors.NewFlyteAdminErrorf(codes.Internal, "artifact client is not initialized, can't resolve queries") } @@ -923,6 +925,26 @@ func (m *ExecutionManager) ResolveParameterMapArtifacts(ctx context.Context, inp Var: v.Var, Behavior: &core.Parameter_Default{Default: resp.Artifact.Spec.Value}, } + } else if v.GetArtifactId() != nil { + // This case is for when someone hard-codes a known ArtifactID as a default value. + req := &artifact.GetArtifactRequest{ + Query: &core.ArtifactQuery{ + Identifier: &core.ArtifactQuery_ArtifactId{ + ArtifactId: v.GetArtifactId(), + }, + }, + Details: false, + } + resp, err := client.GetArtifact(ctx, req) + if err != nil { + return nil, nil, err + } + artifactIDs[k] = v.GetArtifactId() + logger.Debugf(ctx, "Using specified artifactID for [%+v] for [%s]", v.GetArtifactId(), k) + outputs[k] = &core.Parameter{ + Var: v.Var, + Behavior: &core.Parameter_Default{Default: resp.Artifact.Spec.Value}, + } } else { outputs[k] = v } @@ -960,73 +982,57 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( return nil, nil, err } - // Resolve artifacts. - // two sources of artifacts: launch plan and create execute request. - // - within the create request, artifacts will be pinned in the Literals. - // - within the launch plan, the artifact will be in the Parameter map, and can come in form of a Literal - // in the default, or as an ArtifactQuery. - // All three components that comprise the inputs may contain artifacts. - // The results of the first two need to be passed to the ParameterMap resolution - this is because for inputs - // that are already satisfied in the request, we don't want to perform the search (maybe the search doesn't even - // return anything yet). - var foundArtifacts = make(map[string]*core.ArtifactID) - resolvedRequestInputs, as, err := m.ResolveLiteralMapArtifacts(ctxPD, request.Inputs) - if err != nil { - logger.Errorf(ctx, "Error looking up request.Inputs for artifacts: %v", err) - return nil, nil, err + // Literals may have an artifact key in the metadata field. This is something the artifact service should have + // added. Pull these back out so we can keep track of them for lineage purposes. Use a dummy wrapper object for + // easier recursion. + requestInputMap := &core.Literal{ + Value: &core.Literal_Map{Map: request.Inputs}, } - for k, v := range as { - foundArtifacts[k] = v - } - resolvedFixedInputs, as, err := m.ResolveLiteralMapArtifacts(ctxPD, launchPlan.Spec.FixedInputs) - if err != nil { - logger.Errorf(ctx, "Error looking up launch plan fixed inputs for artifacts: %v", err) - return nil, nil, err - } - for k, v := range as { - foundArtifacts[k] = v + fixedInputMap := &core.Literal{ + Value: &core.Literal_Map{Map: launchPlan.Spec.FixedInputs}, } + requestInputArtifactKeys := m.ExtractArtifactKeys(requestInputMap) + fixedInputArtifactKeys := m.ExtractArtifactKeys(fixedInputMap) + requestInputArtifactKeys = append(requestInputArtifactKeys, fixedInputArtifactKeys...) + // Put together the inputs that we've already resolved so that the artifact querying bit can fill them in. + // This is to support artifact queries that depend on other inputs using the {{ .inputs.var }} construct. var inputsForQueryTemplating = make(map[string]*core.Literal) - if resolvedRequestInputs != nil { - for k, v := range resolvedRequestInputs.Literals { - inputsForQueryTemplating[k] = v - } + for k, v := range request.Inputs.Literals { + inputsForQueryTemplating[k] = v } - if resolvedFixedInputs != nil { - for k, v := range resolvedFixedInputs.Literals { - inputsForQueryTemplating[k] = v - } + for k, v := range launchPlan.Spec.FixedInputs.Literals { + inputsForQueryTemplating[k] = v } - resolvedExpectedInputs, as, err := m.ResolveParameterMapArtifacts(ctxPD, launchPlan.Closure.ExpectedInputs, foundArtifacts, inputsForQueryTemplating, request.Spec.Metadata) + // Resolve artifact queries + // Within the launch plan, the artifact will be in the Parameter map, and can come in form of an ArtifactID, + // or as an ArtifactQuery. + // Also send in the inputsForQueryTemplating for two reasons, so we don't run queries for things we don't need to + // and so we can fill in template args. + // ArtifactIDs are also returned for lineage purposes. + resolvedExpectedInputs, usedArtifactIDs, err := m.ResolveParameterMapArtifacts(ctxPD, launchPlan.Closure.ExpectedInputs, inputsForQueryTemplating, request.Spec.Metadata) if err != nil { logger.Errorf(ctx, "Error looking up launch plan closure parameter map: %v", err) return nil, nil, err } - for k, v := range as { - foundArtifacts[k] = v - } - if len(foundArtifacts) > 0 { - logger.Debugf(ctx, "Resolved request.Inputs from [%+v] to [%+v]", request.Inputs, resolvedRequestInputs) - logger.Debugf(ctx, "Resolved launch plan fixed inputs from [%+v] to [%+v]", launchPlan.Spec.FixedInputs, resolvedFixedInputs) - logger.Debugf(ctx, "Resolved launch plan closure expected inputs from [%+v] to [%+v]", launchPlan.Closure.ExpectedInputs, resolvedExpectedInputs) - logger.Debugf(ctx, "Found artifacts: %v", foundArtifacts) - } + logger.Debugf(ctx, "Resolved launch plan closure expected inputs from [%+v] to [%+v]", launchPlan.Closure.ExpectedInputs, resolvedExpectedInputs) + logger.Debugf(ctx, "Found artifact keys: %v", requestInputArtifactKeys) + logger.Debugf(ctx, "Found artifact IDs: %v", usedArtifactIDs) // Artifacts retrieved will need to be stored somewhere to ensure that we can re-emit events if necessary // in the future, and also to make sure that relaunch and recover can use it if necessary. executionInputs, err := validation.CheckAndFetchInputsForExecution( - resolvedRequestInputs, - resolvedFixedInputs, + request.Inputs, + launchPlan.Spec.FixedInputs, resolvedExpectedInputs, ) if err != nil { - logger.Debugf(ctx, "Failed to CheckAndFetchInputsForExecution with resolvedRequestInputs: %+v"+ + logger.Debugf(ctx, "Failed to CheckAndFetchInputsForExecution with request.Inputs: %+v"+ "fixed inputs: %+v and expected inputs: %+v with err %v", - resolvedRequestInputs, resolvedFixedInputs, resolvedExpectedInputs, err) + request.Inputs, launchPlan.Spec.FixedInputs, resolvedExpectedInputs, err) return nil, nil, err } @@ -1062,8 +1068,8 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( requestSpec.Metadata.Principal = getUser(ctx) // Construct a list of the values and save to request spec metadata. // Avoids going through the model creation step. - artifactIDs := make([]*core.ArtifactID, 0, len(foundArtifacts)) - for _, value := range foundArtifacts { + artifactIDs := make([]*core.ArtifactID, 0, len(usedArtifactIDs)) + for _, value := range usedArtifactIDs { artifactIDs = append(artifactIDs, value) } requestSpec.Metadata.ArtifactIds = artifactIDs @@ -1089,7 +1095,7 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( if err != nil { return nil, nil, err } - userInputsURI, err := common.OffloadLiteralMap(ctx, m.storageClient, resolvedRequestInputs, workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.UserInputs) + userInputsURI, err := common.OffloadLiteralMap(ctx, m.storageClient, request.Inputs, workflowExecutionID.Project, workflowExecutionID.Domain, workflowExecutionID.Name, shared.UserInputs) if err != nil { return nil, nil, err } @@ -1184,6 +1190,8 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( notificationsSettings = make([]*admin.Notification, 0) } + m.publishExecutionStart(ctx, workflowExecutionID, request.Spec.LaunchPlan, workflow.Id, requestInputArtifactKeys, requestSpec.Metadata.ArtifactIds) + executionModel, err := transformers.CreateExecutionModel(transformers.CreateExecutionModelInput{ WorkflowExecutionID: workflowExecutionID, RequestSpec: requestSpec, @@ -1211,6 +1219,29 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( return ctx, executionModel, nil } +// publishExecutionStart is an event that Admin publishes for artifact lineage. +func (m *ExecutionManager) publishExecutionStart(ctx context.Context, executionID core.WorkflowExecutionIdentifier, + launchPlanID *core.Identifier, workflowID *core.Identifier, inputArtifactKeys []string, usedArtifactIDs []*core.ArtifactID) { + if len(inputArtifactKeys) > 0 || len(usedArtifactIDs) > 0 { + logger.Debugf(ctx, "Sending execution start event for execution [%+v] with input artifact keys [%+v] and used artifact ids [%+v]", executionID, inputArtifactKeys, usedArtifactIDs) + + request := event.CloudEventExecutionStart{ + ExecutionId: &executionID, + LaunchPlanId: launchPlanID, + WorkflowId: workflowID, + ArtifactIds: usedArtifactIDs, + ArtifactKeys: inputArtifactKeys, + } + go func() { + ceCtx := context.TODO() + if err := m.cloudEventPublisher.Publish(ceCtx, proto.MessageName(&request), &request); err != nil { + m.systemMetrics.PublishEventError.Inc() + logger.Infof(ctx, "error publishing cloud event [%+v] with err: [%v]", request, err) + } + }() + } +} + // Inserts an execution model into the database store and emits platform metrics. func (m *ExecutionManager) createExecutionModel( ctx context.Context, executionModel *models.Execution) (*core.WorkflowExecutionIdentifier, error) { diff --git a/flyteadmin/pkg/repositories/transformers/execution.go b/flyteadmin/pkg/repositories/transformers/execution.go index c6fb77b475..de0d986afa 100644 --- a/flyteadmin/pkg/repositories/transformers/execution.go +++ b/flyteadmin/pkg/repositories/transformers/execution.go @@ -322,12 +322,6 @@ func GetExecutionIdentifier(executionModel *models.Execution) core.WorkflowExecu func FromExecutionModel(ctx context.Context, executionModel models.Execution, opts *ExecutionTransformerOptions) (*admin.Execution, error) { var spec admin.ExecutionSpec var err error - //if executionModel.Spec == nil { - // fmt.Println("!!@ executionModel.Spec is nil") - //} - //if opts == nil { - // fmt.Println("!!@ opts is nil") - //} if err = proto.Unmarshal(executionModel.Spec, &spec); err != nil { return nil, errors.NewFlyteAdminErrorf(codes.Internal, "failed to unmarshal spec") } From 462343afd6add9b32e61336631a1ce2626d17b85 Mon Sep 17 00:00:00 2001 From: Yee Hing Tong Date: Thu, 7 Sep 2023 15:44:10 -0700 Subject: [PATCH 15/47] Add workflow and task sending (#9) --- flyteadmin/pkg/artifacts/artifact_client.go | 4 ++ flyteadmin/pkg/artifacts/registry.go | 61 +++++++++++++++++++ .../pkg/manager/impl/execution_manager.go | 15 +++-- .../pkg/manager/impl/launch_plan_manager.go | 31 +++++++--- flyteadmin/pkg/manager/impl/task_manager.go | 38 ++++++++---- .../pkg/manager/impl/workflow_manager.go | 44 ++++++++----- flyteadmin/pkg/rpc/adminservice/base.go | 23 ++++--- 7 files changed, 160 insertions(+), 56 deletions(-) create mode 100644 flyteadmin/pkg/artifacts/registry.go diff --git a/flyteadmin/pkg/artifacts/artifact_client.go b/flyteadmin/pkg/artifacts/artifact_client.go index 48cb30591d..7f6061850e 100644 --- a/flyteadmin/pkg/artifacts/artifact_client.go +++ b/flyteadmin/pkg/artifacts/artifact_client.go @@ -29,6 +29,10 @@ func NewArtifactConnection(_ context.Context, cfg *Config, opts ...grpc.DialOpti } func InitializeArtifactClient(ctx context.Context, cfg *Config, opts ...grpc.DialOption) artifact.ArtifactRegistryClient { + if cfg == nil { + logger.Warningf(ctx, "Artifact config is not set, skipping creation of client...") + return nil + } conn, err := NewArtifactConnection(ctx, cfg, opts...) if err != nil { logger.Panicf(ctx, "failed to initialize Artifact connection. Err: %s", err.Error()) diff --git a/flyteadmin/pkg/artifacts/registry.go b/flyteadmin/pkg/artifacts/registry.go new file mode 100644 index 0000000000..d727debf8d --- /dev/null +++ b/flyteadmin/pkg/artifacts/registry.go @@ -0,0 +1,61 @@ +package artifacts + +import ( + "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/artifact" + "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/core" + "github.com/flyteorg/flytestdlib/logger" + "google.golang.org/grpc" + + "context" +) + +// ArtifactRegistry contains a client to talk to an Artifact service and has helper methods +type ArtifactRegistry struct { + client artifact.ArtifactRegistryClient +} + +func (a *ArtifactRegistry) RegisterArtifactProducer(ctx context.Context, id *core.Identifier, ti core.TypedInterface) { + if a.client == nil { + logger.Debugf(ctx, "Artifact client not configured, skipping registration for task [%+v]", id) + return + } + ap := &artifact.ArtifactProducer{ + EntityId: id, + Outputs: ti.Outputs, + } + _, err := a.client.RegisterProducer(ctx, &artifact.RegisterProducerRequest{ + Producers: []*artifact.ArtifactProducer{ap}, + }) + if err != nil { + logger.Errorf(ctx, "Failed to register artifact producer for task [%+v] with err: %v", id, err) + } + logger.Debugf(ctx, "Registered artifact producer [%+v]", id) +} + +func (a *ArtifactRegistry) RegisterArtifactConsumer(ctx context.Context, id *core.Identifier, pm core.ParameterMap) { + if a.client == nil { + logger.Debugf(ctx, "Artifact client not configured, skipping registration for consumer [%+v]", id) + return + } + ac := &artifact.ArtifactConsumer{ + EntityId: id, + Inputs: &pm, + } + _, err := a.client.RegisterConsumer(ctx, &artifact.RegisterConsumerRequest{ + Consumers: []*artifact.ArtifactConsumer{ac}, + }) + if err != nil { + logger.Errorf(ctx, "Failed to register artifact consumer for entity [%+v] with err: %v", id, err) + } + logger.Debugf(ctx, "Registered artifact consumer [%+v]", id) +} + +func (a *ArtifactRegistry) GetClient() artifact.ArtifactRegistryClient { + return a.client +} + +func NewArtifactRegistry(ctx context.Context, config *Config, opts ...grpc.DialOption) ArtifactRegistry { + return ArtifactRegistry{ + client: InitializeArtifactClient(ctx, config, opts...), + } +} diff --git a/flyteadmin/pkg/manager/impl/execution_manager.go b/flyteadmin/pkg/manager/impl/execution_manager.go index 28cb4eece9..17e9a5d12e 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager.go +++ b/flyteadmin/pkg/manager/impl/execution_manager.go @@ -3,6 +3,7 @@ package impl import ( "context" "fmt" + "github.com/flyteorg/flyteadmin/pkg/artifacts" "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/event" "regexp" "strconv" @@ -103,7 +104,7 @@ type ExecutionManager struct { cloudEventPublisher notificationInterfaces.Publisher dbEventWriter eventWriter.WorkflowExecutionEventWriter pluginRegistry *plugins.Registry - artifactClient *artifact.ArtifactRegistryClient + artifactRegistry artifacts.ArtifactRegistry } func getExecutionContext(ctx context.Context, id *core.WorkflowExecutionIdentifier) context.Context { @@ -523,7 +524,6 @@ func (m *ExecutionManager) launchSingleTaskExecution( requestSpec.Metadata = &admin.ExecutionMetadata{} } requestSpec.Metadata.Principal = getUser(ctx) - //requestSpec.Metadata.ArtifactIds = resolvedArtifactMap // Get the node execution (if any) that launched this execution var parentNodeExecutionID uint @@ -887,7 +887,6 @@ func (m *ExecutionManager) ResolveParameterMapArtifacts(ctx context.Context, inp return nil, artifactIDs, nil } outputs := map[string]*core.Parameter{} - client := *m.artifactClient for k, v := range inputs.Parameters { if inputsForQueryTemplating != nil { @@ -902,7 +901,7 @@ func (m *ExecutionManager) ResolveParameterMapArtifacts(ctx context.Context, inp } if v.GetArtifactQuery() != nil { // This case handles when an Artifact query is specified as a default value. - if m.artifactClient == nil { + if m.artifactRegistry.GetClient() == nil { return nil, nil, errors.NewFlyteAdminErrorf(codes.Internal, "artifact client is not initialized, can't resolve queries") } filledInQuery, err := m.fillInTemplateArgs(ctx, *v.GetArtifactQuery(), inputsForQueryTemplating, metadata) @@ -915,7 +914,7 @@ func (m *ExecutionManager) ResolveParameterMapArtifacts(ctx context.Context, inp Details: false, } - resp, err := client.GetArtifact(ctx, req) + resp, err := m.artifactRegistry.GetClient().GetArtifact(ctx, req) if err != nil { return nil, nil, err } @@ -935,7 +934,7 @@ func (m *ExecutionManager) ResolveParameterMapArtifacts(ctx context.Context, inp }, Details: false, } - resp, err := client.GetArtifact(ctx, req) + resp, err := m.artifactRegistry.GetClient().GetArtifact(ctx, req) if err != nil { return nil, nil, err } @@ -1962,7 +1961,7 @@ func NewExecutionManager(db repositoryInterfaces.Repository, pluginRegistry *plu publisher notificationInterfaces.Publisher, urlData dataInterfaces.RemoteURLInterface, workflowManager interfaces.WorkflowInterface, namedEntityManager interfaces.NamedEntityInterface, eventPublisher notificationInterfaces.Publisher, cloudEventPublisher cloudeventInterfaces.Publisher, - eventWriter eventWriter.WorkflowExecutionEventWriter, artifactClient *artifact.ArtifactRegistryClient) interfaces.ExecutionInterface { + eventWriter eventWriter.WorkflowExecutionEventWriter, artifactRegistry artifacts.ArtifactRegistry) interfaces.ExecutionInterface { queueAllocator := executions.NewQueueAllocator(config, db) systemMetrics := newExecutionSystemMetrics(systemScope) @@ -1996,7 +1995,7 @@ func NewExecutionManager(db repositoryInterfaces.Repository, pluginRegistry *plu cloudEventPublisher: cloudEventPublisher, dbEventWriter: eventWriter, pluginRegistry: pluginRegistry, - artifactClient: artifactClient, + artifactRegistry: artifactRegistry, } } diff --git a/flyteadmin/pkg/manager/impl/launch_plan_manager.go b/flyteadmin/pkg/manager/impl/launch_plan_manager.go index f2192b701c..bf7912e539 100644 --- a/flyteadmin/pkg/manager/impl/launch_plan_manager.go +++ b/flyteadmin/pkg/manager/impl/launch_plan_manager.go @@ -3,6 +3,7 @@ package impl import ( "bytes" "context" + "github.com/flyteorg/flyteadmin/pkg/artifacts" "strconv" "github.com/flyteorg/flytestdlib/contextutils" @@ -37,10 +38,11 @@ type launchPlanMetrics struct { } type LaunchPlanManager struct { - db repoInterfaces.Repository - config runtimeInterfaces.Configuration - scheduler scheduleInterfaces.EventScheduler - metrics launchPlanMetrics + db repoInterfaces.Repository + config runtimeInterfaces.Configuration + scheduler scheduleInterfaces.EventScheduler + metrics launchPlanMetrics + artifactRegistry artifacts.ArtifactRegistry } func getLaunchPlanContext(ctx context.Context, identifier *core.Identifier) context.Context { @@ -114,6 +116,15 @@ func (m *LaunchPlanManager) CreateLaunchPlan( } m.metrics.SpecSizeBytes.Observe(float64(len(launchPlanModel.Spec))) m.metrics.ClosureSizeBytes.Observe(float64(len(launchPlanModel.Closure))) + go func() { + ceCtx := context.TODO() + if launchPlan.Spec.DefaultInputs == nil { + logger.Debugf(ceCtx, "Insufficient fields to submit launchplan interface %v", launchPlan.Id) + return + } + m.artifactRegistry.RegisterArtifactConsumer(ceCtx, launchPlan.Id, *launchPlan.Spec.DefaultInputs) + }() + return &admin.LaunchPlanCreateResponse{}, nil } @@ -552,7 +563,8 @@ func NewLaunchPlanManager( db repoInterfaces.Repository, config runtimeInterfaces.Configuration, scheduler scheduleInterfaces.EventScheduler, - scope promutils.Scope) interfaces.LaunchPlanInterface { + scope promutils.Scope, + artifactRegistry artifacts.ArtifactRegistry) interfaces.LaunchPlanInterface { metrics := launchPlanMetrics{ Scope: scope, @@ -562,9 +574,10 @@ func NewLaunchPlanManager( ClosureSizeBytes: scope.MustNewSummary("closure_size_bytes", "size in bytes of serialized launch plan closure"), } return &LaunchPlanManager{ - db: db, - config: config, - scheduler: scheduler, - metrics: metrics, + db: db, + config: config, + scheduler: scheduler, + metrics: metrics, + artifactRegistry: artifactRegistry, } } diff --git a/flyteadmin/pkg/manager/impl/task_manager.go b/flyteadmin/pkg/manager/impl/task_manager.go index b4346fcd9a..1efea3137c 100644 --- a/flyteadmin/pkg/manager/impl/task_manager.go +++ b/flyteadmin/pkg/manager/impl/task_manager.go @@ -16,8 +16,7 @@ import ( "github.com/golang/protobuf/ptypes" - "github.com/flyteorg/flytestdlib/logger" - + "github.com/flyteorg/flyteadmin/pkg/artifacts" "github.com/flyteorg/flyteadmin/pkg/common" "github.com/flyteorg/flyteadmin/pkg/errors" "github.com/flyteorg/flyteadmin/pkg/manager/impl/resources" @@ -29,6 +28,7 @@ import ( runtimeInterfaces "github.com/flyteorg/flyteadmin/pkg/runtime/interfaces" workflowengine "github.com/flyteorg/flyteadmin/pkg/workflowengine/interfaces" "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/admin" + "github.com/flyteorg/flytestdlib/logger" "google.golang.org/grpc/codes" ) @@ -39,11 +39,12 @@ type taskMetrics struct { } type TaskManager struct { - db repoInterfaces.Repository - config runtimeInterfaces.Configuration - compiler workflowengine.Compiler - metrics taskMetrics - resourceManager interfaces.ResourceInterface + db repoInterfaces.Repository + config runtimeInterfaces.Configuration + compiler workflowengine.Compiler + metrics taskMetrics + resourceManager interfaces.ResourceInterface + artifactRegistry artifacts.ArtifactRegistry } func getTaskContext(ctx context.Context, identifier *core.Identifier) context.Context { @@ -133,6 +134,14 @@ func (t *TaskManager) CreateTask( contextWithRuntimeMeta, common.RuntimeVersionKey, finalizedRequest.Spec.Template.Metadata.Runtime.Version) t.metrics.Registered.Inc(contextWithRuntimeMeta) } + go func() { + ceCtx := context.TODO() + if finalizedRequest.Spec.Template.Interface == nil { + logger.Debugf(ceCtx, "Task [%+v] has no interface, skipping registration", finalizedRequest.Id) + return + } + t.artifactRegistry.RegisterArtifactProducer(ceCtx, finalizedRequest.Id, *finalizedRequest.Spec.Template.Interface) + }() return &admin.TaskCreateResponse{}, nil } @@ -266,7 +275,9 @@ func (t *TaskManager) ListUniqueTaskIdentifiers(ctx context.Context, request adm func NewTaskManager( db repoInterfaces.Repository, config runtimeInterfaces.Configuration, compiler workflowengine.Compiler, - scope promutils.Scope) interfaces.TaskInterface { + scope promutils.Scope, + artifactRegistry artifacts.ArtifactRegistry) interfaces.TaskInterface { + metrics := taskMetrics{ Scope: scope, ClosureSizeBytes: scope.MustNewSummary("closure_size_bytes", "size in bytes of serialized task closure"), @@ -274,10 +285,11 @@ func NewTaskManager( } resourceManager := resources.NewResourceManager(db, config.ApplicationConfiguration()) return &TaskManager{ - db: db, - config: config, - compiler: compiler, - metrics: metrics, - resourceManager: resourceManager, + db: db, + config: config, + compiler: compiler, + metrics: metrics, + resourceManager: resourceManager, + artifactRegistry: artifactRegistry, } } diff --git a/flyteadmin/pkg/manager/impl/workflow_manager.go b/flyteadmin/pkg/manager/impl/workflow_manager.go index 09d6a0db24..06e6dade43 100644 --- a/flyteadmin/pkg/manager/impl/workflow_manager.go +++ b/flyteadmin/pkg/manager/impl/workflow_manager.go @@ -3,6 +3,7 @@ package impl import ( "bytes" "context" + "github.com/flyteorg/flyteadmin/pkg/artifacts" "strconv" "time" @@ -39,12 +40,13 @@ type workflowMetrics struct { } type WorkflowManager struct { - db repoInterfaces.Repository - config runtimeInterfaces.Configuration - compiler workflowengineInterfaces.Compiler - storageClient *storage.DataStore - storagePrefix []string - metrics workflowMetrics + db repoInterfaces.Repository + config runtimeInterfaces.Configuration + compiler workflowengineInterfaces.Compiler + storageClient *storage.DataStore + storagePrefix []string + metrics workflowMetrics + artifactRegistry artifacts.ArtifactRegistry } func getWorkflowContext(ctx context.Context, identifier *core.Identifier) context.Context { @@ -217,6 +219,17 @@ func (w *WorkflowManager) CreateWorkflow( } w.metrics.TypedInterfaceSizeBytes.Observe(float64(len(workflowModel.TypedInterface))) + // Send the interface definition to Artifact service, this is so that it can statically pick up one dimension of + // lineage information + go func() { + ceCtx := context.TODO() + if workflowClosure.CompiledWorkflow == nil || workflowClosure.CompiledWorkflow.Primary == nil { + logger.Debugf(ceCtx, "Insufficient fields to submit workflow interface %v", finalizedRequest.Id) + return + } + w.artifactRegistry.RegisterArtifactProducer(ceCtx, finalizedRequest.Id, *workflowClosure.CompiledWorkflow.Primary.Template.Interface) + }() + return &admin.WorkflowCreateResponse{}, nil } @@ -234,7 +247,7 @@ func (w *WorkflowManager) GetWorkflow(ctx context.Context, request admin.ObjectG return workflow, nil } -// Returns workflows *without* a populated workflow closure. +// ListWorkflows returns workflows *without* a populated workflow closure. func (w *WorkflowManager) ListWorkflows( ctx context.Context, request admin.ResourceListRequest) (*admin.WorkflowList, error) { // Check required fields @@ -350,7 +363,9 @@ func NewWorkflowManager( compiler workflowengineInterfaces.Compiler, storageClient *storage.DataStore, storagePrefix []string, - scope promutils.Scope) interfaces.WorkflowInterface { + scope promutils.Scope, + artifactRegistry artifacts.ArtifactRegistry) interfaces.WorkflowInterface { + metrics := workflowMetrics{ Scope: scope, CompilationFailures: scope.MustNewCounter( @@ -359,11 +374,12 @@ func NewWorkflowManager( "size in bytes of serialized workflow TypedInterface"), } return &WorkflowManager{ - db: db, - config: config, - compiler: compiler, - storageClient: storageClient, - storagePrefix: storagePrefix, - metrics: metrics, + db: db, + config: config, + compiler: compiler, + storageClient: storageClient, + storagePrefix: storagePrefix, + metrics: metrics, + artifactRegistry: artifactRegistry, } } diff --git a/flyteadmin/pkg/rpc/adminservice/base.go b/flyteadmin/pkg/rpc/adminservice/base.go index d206e182c3..86050a5b90 100644 --- a/flyteadmin/pkg/rpc/adminservice/base.go +++ b/flyteadmin/pkg/rpc/adminservice/base.go @@ -3,6 +3,7 @@ package adminservice import ( "context" "fmt" + "github.com/flyteorg/flyteadmin/pkg/artifacts" "runtime/debug" "github.com/flyteorg/flyteadmin/plugins" @@ -15,10 +16,8 @@ import ( eventWriter "github.com/flyteorg/flyteadmin/pkg/async/events/implementations" "github.com/flyteorg/flyteadmin/pkg/manager/impl/resources" - "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/artifact" "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/service" - artifactClient "github.com/flyteorg/flyteadmin/pkg/artifacts" "github.com/flyteorg/flyteadmin/pkg/async/notifications" "github.com/flyteorg/flyteadmin/pkg/async/schedule" "github.com/flyteorg/flyteadmin/pkg/data" @@ -48,6 +47,7 @@ type AdminService struct { DescriptionEntityManager interfaces.DescriptionEntityInterface MetricsManager interfaces.MetricsInterface Metrics AdminMetrics + Artifacts artifacts.ArtifactRegistry } // Intercepts all admin requests to handle panics during execution. @@ -116,8 +116,11 @@ func NewAdminServer(ctx context.Context, pluginRegistry *plugins.Registry, confi }) eventScheduler := workflowScheduler.GetEventScheduler() + + artifactRegistry := artifacts.NewArtifactRegistry(ctx, configuration.ApplicationConfiguration().GetArtifactsConfig()) + launchPlanManager := manager.NewLaunchPlanManager( - repo, configuration, eventScheduler, adminScope.NewSubScope("launch_plan_manager")) + repo, configuration, eventScheduler, adminScope.NewSubScope("launch_plan_manager"), artifactRegistry) // Configure admin-specific remote data handler (separate from storage) remoteDataConfig := configuration.ApplicationConfiguration().GetRemoteDataConfig() @@ -134,7 +137,7 @@ func NewAdminServer(ctx context.Context, pluginRegistry *plugins.Registry, confi workflowManager := manager.NewWorkflowManager( repo, configuration, workflowengineImpl.NewCompiler(), dataStorageClient, applicationConfiguration.GetMetadataStoragePrefix(), - adminScope.NewSubScope("workflow_manager")) + adminScope.NewSubScope("workflow_manager"), artifactRegistry) namedEntityManager := manager.NewNamedEntityManager(repo, configuration, adminScope.NewSubScope("named_entity_manager")) descriptionEntityManager := manager.NewDescriptionEntityManager(repo, configuration, adminScope.NewSubScope("description_entity_manager")) @@ -143,14 +146,9 @@ func NewAdminServer(ctx context.Context, pluginRegistry *plugins.Registry, confi executionEventWriter.Run() }() - var artifactsClient *artifact.ArtifactRegistryClient - if configuration.ApplicationConfiguration().GetArtifactsConfig() != nil { - c := artifactClient.InitializeArtifactClient(ctx, configuration.ApplicationConfiguration().GetArtifactsConfig()) - artifactsClient = &c - } executionManager := manager.NewExecutionManager(repo, pluginRegistry, configuration, dataStorageClient, adminScope.NewSubScope("execution_manager"), adminScope.NewSubScope("user_execution_metrics"), - publisher, urlData, workflowManager, namedEntityManager, eventPublisher, cloudEventPublisher, executionEventWriter, artifactsClient) + publisher, urlData, workflowManager, namedEntityManager, eventPublisher, cloudEventPublisher, executionEventWriter, artifactRegistry) versionManager := manager.NewVersionManager() scheduledWorkflowExecutor := workflowScheduler.GetWorkflowExecutor(executionManager, launchPlanManager) @@ -173,7 +171,7 @@ func NewAdminServer(ctx context.Context, pluginRegistry *plugins.Registry, confi logger.Info(ctx, "Initializing a new AdminService") return &AdminService{ TaskManager: manager.NewTaskManager(repo, configuration, workflowengineImpl.NewCompiler(), - adminScope.NewSubScope("task_manager")), + adminScope.NewSubScope("task_manager"), artifactRegistry), WorkflowManager: workflowManager, LaunchPlanManager: launchPlanManager, ExecutionManager: executionManager, @@ -186,6 +184,7 @@ func NewAdminServer(ctx context.Context, pluginRegistry *plugins.Registry, confi ResourceManager: resources.NewResourceManager(repo, configuration.ApplicationConfiguration()), MetricsManager: manager.NewMetricsManager(workflowManager, executionManager, nodeExecutionManager, taskExecutionManager, adminScope.NewSubScope("metrics_manager")), - Metrics: InitMetrics(adminScope), + Metrics: InitMetrics(adminScope), + Artifacts: artifactRegistry, } } From cff060982edc1c27c2f702b4121903a228b0e5f4 Mon Sep 17 00:00:00 2001 From: Kevin Su Date: Fri, 8 Sep 2023 14:44:22 -0700 Subject: [PATCH 16/47] check if request.Inputs is nil (#10) Signed-off-by: Kevin Su --- flyteadmin/pkg/manager/impl/execution_manager.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/flyteadmin/pkg/manager/impl/execution_manager.go b/flyteadmin/pkg/manager/impl/execution_manager.go index 17e9a5d12e..8dafbace87 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager.go +++ b/flyteadmin/pkg/manager/impl/execution_manager.go @@ -997,8 +997,10 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( // Put together the inputs that we've already resolved so that the artifact querying bit can fill them in. // This is to support artifact queries that depend on other inputs using the {{ .inputs.var }} construct. var inputsForQueryTemplating = make(map[string]*core.Literal) - for k, v := range request.Inputs.Literals { - inputsForQueryTemplating[k] = v + if request.Inputs != nil { + for k, v := range request.Inputs.Literals { + inputsForQueryTemplating[k] = v + } } for k, v := range launchPlan.Spec.FixedInputs.Literals { inputsForQueryTemplating[k] = v From 35b5c81830ac0b1f781c62b236766a69cd8edbdf Mon Sep 17 00:00:00 2001 From: Yee Hing Tong Date: Sat, 16 Sep 2023 13:01:36 -0700 Subject: [PATCH 17/47] Pass Trigger launch plans to Artifact service (#11) Signed-off-by: Yee Hing Tong --- flyteadmin/pkg/artifacts/registry.go | 18 ++++++++++++++++++ .../pkg/manager/impl/execution_manager.go | 12 ++++++------ .../pkg/manager/impl/launch_plan_manager.go | 10 ++++++++++ 3 files changed, 34 insertions(+), 6 deletions(-) diff --git a/flyteadmin/pkg/artifacts/registry.go b/flyteadmin/pkg/artifacts/registry.go index d727debf8d..efee8db2e6 100644 --- a/flyteadmin/pkg/artifacts/registry.go +++ b/flyteadmin/pkg/artifacts/registry.go @@ -1,6 +1,8 @@ package artifacts import ( + "fmt" + "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/admin" "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/artifact" "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/core" "github.com/flyteorg/flytestdlib/logger" @@ -50,6 +52,22 @@ func (a *ArtifactRegistry) RegisterArtifactConsumer(ctx context.Context, id *cor logger.Debugf(ctx, "Registered artifact consumer [%+v]", id) } +func (a *ArtifactRegistry) RegisterTrigger(ctx context.Context, plan *admin.LaunchPlan) error { + if a.client == nil { + logger.Debugf(ctx, "Artifact client not configured, skipping trigger [%+v]", plan) + return fmt.Errorf("artifact client not configured") + } + _, err := a.client.CreateTrigger(ctx, &artifact.CreateTriggerRequest{ + TriggerLaunchPlan: plan, + }) + if err != nil { + logger.Errorf(ctx, "Failed to register trigger for [%+v] with err: %v", plan.Id, err) + return err + } + logger.Debugf(ctx, "Registered trigger for [%+v]", plan.Id) + return nil +} + func (a *ArtifactRegistry) GetClient() artifact.ArtifactRegistryClient { return a.client } diff --git a/flyteadmin/pkg/manager/impl/execution_manager.go b/flyteadmin/pkg/manager/impl/execution_manager.go index 8dafbace87..39ffafa93b 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager.go +++ b/flyteadmin/pkg/manager/impl/execution_manager.go @@ -845,17 +845,17 @@ func (m *ExecutionManager) fillInTemplateArgs(ctx context.Context, query core.Ar domain = ak.GetDomain() } - var partitions map[string]string + var partitions map[string]*core.PartitionValue - if artifactID.GetPartitions() != nil { - partitions = make(map[string]string, len(artifactID.GetPartitions().Value)) - for k, v := range artifactID.GetPartitions().Value { - newValue, err := m.templateInputString(ctx, v, inputs, metadata) + if artifactID.GetPartitions() != nil && artifactID.GetPartitions().GetValue() != nil { + partitions = make(map[string]*core.PartitionValue, len(artifactID.GetPartitions().Value)) + for k, v := range artifactID.GetPartitions().GetValue() { + newValue, err := m.templateInputString(ctx, v.StaticValue, inputs, metadata) if err != nil { logger.Errorf(ctx, "Failed to template input string [%s] [%v]", v, err) return query, err } - partitions[k] = newValue + partitions[k] = &core.PartitionValue{StaticValue: newValue} } } return core.ArtifactQuery{ diff --git a/flyteadmin/pkg/manager/impl/launch_plan_manager.go b/flyteadmin/pkg/manager/impl/launch_plan_manager.go index bf7912e539..4a4e46240d 100644 --- a/flyteadmin/pkg/manager/impl/launch_plan_manager.go +++ b/flyteadmin/pkg/manager/impl/launch_plan_manager.go @@ -90,6 +90,16 @@ func (m *LaunchPlanManager) CreateLaunchPlan( return nil, err } + // The presence of this field indicates that this is a trigger launch plan + // Return true and send this request over to the artifact registry instead + if launchPlan.Spec.GetEntityMetadata() != nil && launchPlan.Spec.GetEntityMetadata().GetLaunchConditions() != nil { + err := m.artifactRegistry.RegisterTrigger(ctx, &launchPlan) + if err != nil { + return nil, err + } + return &admin.LaunchPlanCreateResponse{}, nil + } + existingLaunchPlanModel, err := util.GetLaunchPlanModel(ctx, m.db, *request.Id) if err == nil { if bytes.Equal(existingLaunchPlanModel.Digest, launchPlanDigest) { From 52e4f5fe281d1e9d07cbbd6f6cc661ad33a9d5c1 Mon Sep 17 00:00:00 2001 From: Yee Hing Tong Date: Mon, 18 Sep 2023 17:14:12 -0700 Subject: [PATCH 18/47] fix demo code, not needed but for cleanliness (#13) Signed-off-by: Yee Hing Tong --- flyteadmin/pkg/manager/impl/execution_manager.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flyteadmin/pkg/manager/impl/execution_manager.go b/flyteadmin/pkg/manager/impl/execution_manager.go index 39ffafa93b..277ede82e2 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager.go +++ b/flyteadmin/pkg/manager/impl/execution_manager.go @@ -771,7 +771,7 @@ func (m *ExecutionManager) templateInputString(ctx context.Context, input string var customFormattedTime string if metadata != nil && metadata.ScheduledAt != nil { t := time.Unix(metadata.ScheduledAt.GetSeconds(), 0) - customFormattedTime = fmt.Sprintf("%d-%02d-%02d", t.Year(), int(t.Month()), t.Second()) + customFormattedTime = fmt.Sprintf("%d-%02d-%02d", t.Year(), int(t.Month()), t.Day()) } else { customFormattedTime = "2023-09-58" } From b721be42aba650dce5c9fe14404297dd8f33d778 Mon Sep 17 00:00:00 2001 From: Yee Hing Tong Date: Mon, 25 Sep 2023 18:55:35 -0700 Subject: [PATCH 19/47] Debug sandbox (#14) --- flyteadmin/pkg/async/cloudevent/factory.go | 3 ++- .../pkg/manager/impl/execution_manager.go | 24 +++++++++++++++++-- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/flyteadmin/pkg/async/cloudevent/factory.go b/flyteadmin/pkg/async/cloudevent/factory.go index 8166c60727..75933a6f99 100644 --- a/flyteadmin/pkg/async/cloudevent/factory.go +++ b/flyteadmin/pkg/async/cloudevent/factory.go @@ -27,6 +27,7 @@ import ( func NewCloudEventsPublisher(ctx context.Context, db repositoryInterfaces.Repository, storageClient *storage.DataStore, urlData dataInterfaces.RemoteURLInterface, cloudEventsConfig runtimeInterfaces.CloudEventsConfig, remoteDataConfig runtimeInterfaces.RemoteDataConfig, scope promutils.Scope) interfaces.Publisher { if !cloudEventsConfig.Enable { + logger.Infof(ctx, "CloudEvents are disabled, config is [+%v]", cloudEventsConfig) return implementations.NewNoopPublish() } reconnectAttempts := cloudEventsConfig.ReconnectAttempts @@ -96,7 +97,7 @@ func NewCloudEventsPublisher(ctx context.Context, db repositoryInterfaces.Reposi publisher, err = redisPublisher.NewPublisher(cloudEventsConfig.RedisConfig) return err }) - logger.Infof(ctx, "Using Redis cloud events publisher [%v]", publisher) + logger.Infof(ctx, "Using Redis cloud events publisher [%v] [%+v]", publisher, cloudEventsConfig.RedisConfig) // Persistent errors should hard fail if err != nil { diff --git a/flyteadmin/pkg/manager/impl/execution_manager.go b/flyteadmin/pkg/manager/impl/execution_manager.go index 277ede82e2..f4005781fd 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager.go +++ b/flyteadmin/pkg/manager/impl/execution_manager.go @@ -739,7 +739,7 @@ func (m *ExecutionManager) ExtractArtifactKeys(input *core.Literal) []string { return artifactKeys } -var re = regexp.MustCompile(`.*({{\s*\.inputs\.([a-zA-Z0-9_]+)\s*}}).*`) +var re = regexp.MustCompile(`.*({{\s*\.?inputs\.([a-zA-Z0-9_]+)\s*}}).*`) var reExecutionMetadata = regexp.MustCompile(`.*({{\s*\.execution\.([a-zA-Z0-9_]+)\s*}}).*`) // templateInputString uses regex to take a string that looks like "{{ .inputs.var1 }}" and replace it with the @@ -755,7 +755,26 @@ func (m *ExecutionManager) templateInputString(ctx context.Context, input string if val.GetScalar() == nil || val.GetScalar().GetPrimitive() == nil { return "", errors.NewFlyteAdminErrorf(codes.InvalidArgument, "invalid input value [%+v]", val) } - x := strings.Replace(input, matches[1], val.GetScalar().GetPrimitive().GetStringValue(), -1) + var strVal = "" + p := val.GetScalar().GetPrimitive() + switch p.GetValue().(type) { + case *core.Primitive_Integer: + strVal = fmt.Sprintf("%s", p.GetStringValue()) + case *core.Primitive_Datetime: + t := time.Unix(p.GetDatetime().Seconds, int64(p.GetDatetime().Nanos)) + strVal = t.Format("2006-01-02") + case *core.Primitive_StringValue: + strVal = fmt.Sprintf("%s", p.GetStringValue()) + case *core.Primitive_FloatValue: + strVal = fmt.Sprintf("%s", p.GetFloatValue()) + case *core.Primitive_Boolean: + strVal = fmt.Sprintf("%s", p.GetBoolean()) + default: + strVal = fmt.Sprintf("%s", p.GetValue()) + } + + logger.Debugf(ctx, "String templating returning [%s] for [%s]", strVal, input) + x := strings.Replace(input, matches[1], strVal, -1) return x, nil } else { logger.Debugf(ctx, "No input matches found for input string [%s]", input) @@ -1005,6 +1024,7 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( for k, v := range launchPlan.Spec.FixedInputs.Literals { inputsForQueryTemplating[k] = v } + logger.Debugf(ctx, "Inputs for query templating: [%+v]", inputsForQueryTemplating) // Resolve artifact queries // Within the launch plan, the artifact will be in the Parameter map, and can come in form of an ArtifactID, From 887ae90a6faa2b2c07233d44211e2db5b7b0003f Mon Sep 17 00:00:00 2001 From: Yee Hing Tong Date: Mon, 25 Sep 2023 19:02:01 -0700 Subject: [PATCH 20/47] Artifacts bundle (#7) --- docker/sandbox-bundled/Makefile | 2 +- .../manifests/complete-agent.yaml | 2613 +++++++++++++++++ .../sandbox-bundled/manifests/complete.yaml | 4 +- docker/sandbox-bundled/manifests/dev.yaml | 4 +- go.mod.main | 220 ++ go.sum | 4 + go.sum.main | 2398 +++++++++++++++ 7 files changed, 5240 insertions(+), 5 deletions(-) create mode 100644 docker/sandbox-bundled/manifests/complete-agent.yaml create mode 100644 go.mod.main create mode 100644 go.sum.main diff --git a/docker/sandbox-bundled/Makefile b/docker/sandbox-bundled/Makefile index ed92a733c4..4590906c28 100644 --- a/docker/sandbox-bundled/Makefile +++ b/docker/sandbox-bundled/Makefile @@ -34,7 +34,7 @@ manifests: kustomize/complete-agent > manifests/complete-agent.yaml .PHONY: build -build: flyte manifests +build: manifests [ -n "$(shell docker buildx ls | awk '/^flyte-sandbox / {print $$1}')" ] || \ docker buildx create --name flyte-sandbox \ --driver docker-container --driver-opt image=moby/buildkit:master \ diff --git a/docker/sandbox-bundled/manifests/complete-agent.yaml b/docker/sandbox-bundled/manifests/complete-agent.yaml new file mode 100644 index 0000000000..1495ea1c59 --- /dev/null +++ b/docker/sandbox-bundled/manifests/complete-agent.yaml @@ -0,0 +1,2613 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: flyte +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: flyte-sandbox + app.kubernetes.io/version: 1.16.0 + helm.sh/chart: flyte-binary-v0.1.10 + name: flyte-sandbox + namespace: flyte +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: kubernetes-dashboard + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: kubernetes-dashboard-6.0.0 + name: flyte-sandbox-kubernetes-dashboard + namespace: flyte +--- +apiVersion: v1 +automountServiceAccountToken: true +kind: ServiceAccount +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: minio + helm.sh/chart: minio-12.1.1 + name: flyte-sandbox-minio + namespace: flyte +secrets: +- name: flyte-sandbox-minio +--- +apiVersion: v1 +automountServiceAccountToken: true +kind: ServiceAccount +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: redis + helm.sh/chart: redis-17.15.6 + name: flyte-sandbox-redis + namespace: flyte +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app.kubernetes.io/instance: flyteagent + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: flyteagent + helm.sh/chart: flyteagent-v0.1.10 + name: flyteagent + namespace: flyte +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: kubernetes-dashboard + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: kubernetes-dashboard-6.0.0 + name: flyte-sandbox-kubernetes-dashboard + namespace: flyte +rules: +- apiGroups: + - "" + resourceNames: + - kubernetes-dashboard-key-holder + - kubernetes-dashboard-certs + - kubernetes-dashboard-csrf + resources: + - secrets + verbs: + - get + - update + - delete +- apiGroups: + - "" + resourceNames: + - kubernetes-dashboard-settings + resources: + - configmaps + verbs: + - get + - update +- apiGroups: + - "" + resourceNames: + - heapster + - dashboard-metrics-scraper + resources: + - services + verbs: + - proxy +- apiGroups: + - "" + resourceNames: + - heapster + - 'http:heapster:' + - 'https:heapster:' + - dashboard-metrics-scraper + - http:dashboard-metrics-scraper + resources: + - services/proxy + verbs: + - get +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: flyte-sandbox + app.kubernetes.io/version: 1.16.0 + helm.sh/chart: flyte-binary-v0.1.10 + name: flyte-sandbox-cluster-role + namespace: flyte +rules: +- apiGroups: + - "" + resources: + - namespaces + - resourcequotas + - secrets + verbs: + - create + - get + - list + - patch + - update +- apiGroups: + - "" + resources: + - pods + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - "" + resources: + - events + verbs: + - create + - delete + - patch + - update +- apiGroups: + - "" + resources: + - podtemplates + verbs: + - get + - list + - watch +- apiGroups: + - flyte.lyft.com + resources: + - flyteworkflows + verbs: + - create + - delete + - deletecollection + - get + - list + - patch + - post + - update + - watch +- apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + verbs: + - create + - get + - list +- apiGroups: + - admissionregistration.k8s.io + resources: + - mutatingwebhookconfigurations + verbs: + - create + - get + - list + - patch + - update +- apiGroups: + - '*' + resources: + - '*' + verbs: + - '*' +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: kubernetes-dashboard + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: kubernetes-dashboard-6.0.0 + name: flyte-sandbox-kubernetes-dashboard-readonly +rules: +- apiGroups: + - "" + resources: + - configmaps + - endpoints + - persistentvolumeclaims + - pods + - replicationcontrollers + - replicationcontrollers/scale + - serviceaccounts + - services + - nodes + - persistentvolumeclaims + - persistentvolumes + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - bindings + - events + - limitranges + - namespaces/status + - pods/log + - pods/status + - replicationcontrollers/status + - resourcequotas + - resourcequotas/status + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - namespaces + verbs: + - get + - list + - watch +- apiGroups: + - apps + resources: + - daemonsets + - deployments + - deployments/scale + - replicasets + - replicasets/scale + - statefulsets + verbs: + - get + - list + - watch +- apiGroups: + - autoscaling + resources: + - horizontalpodautoscalers + verbs: + - get + - list + - watch +- apiGroups: + - batch + resources: + - cronjobs + - jobs + verbs: + - get + - list + - watch +- apiGroups: + - extensions + resources: + - daemonsets + - deployments + - deployments/scale + - ingresses + - networkpolicies + - replicasets + - replicasets/scale + - replicationcontrollers/scale + verbs: + - get + - list + - watch +- apiGroups: + - policy + resources: + - poddisruptionbudgets + verbs: + - get + - list + - watch +- apiGroups: + - networking.k8s.io + resources: + - networkpolicies + - ingresses + verbs: + - get + - list + - watch +- apiGroups: + - storage.k8s.io + resources: + - storageclasses + - volumeattachments + verbs: + - get + - list + - watch +- apiGroups: + - rbac.authorization.k8s.io + resources: + - clusterrolebindings + - clusterroles + - roles + - rolebindings + verbs: + - get + - list + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: kubernetes-dashboard + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: kubernetes-dashboard-6.0.0 + name: flyte-sandbox-kubernetes-dashboard + namespace: flyte +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: flyte-sandbox-kubernetes-dashboard +subjects: +- kind: ServiceAccount + name: flyte-sandbox-kubernetes-dashboard + namespace: flyte +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: flyte-sandbox + app.kubernetes.io/version: 1.16.0 + helm.sh/chart: flyte-binary-v0.1.10 + name: flyte-sandbox-cluster-role-binding + namespace: flyte +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: flyte-sandbox-cluster-role +subjects: +- kind: ServiceAccount + name: flyte-sandbox + namespace: flyte +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: kubernetes-dashboard + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: kubernetes-dashboard-6.0.0 + name: flyte-sandbox-kubernetes-dashboard-readonly +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: flyte-sandbox-kubernetes-dashboard-readonly +subjects: +- kind: ServiceAccount + name: flyte-sandbox-kubernetes-dashboard + namespace: flyte +--- +apiVersion: v1 +data: + namespace.yaml: | + apiVersion: v1 + kind: Namespace + metadata: + name: '{{ namespace }}' +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: flyte-sandbox + app.kubernetes.io/version: 1.16.0 + helm.sh/chart: flyte-binary-v0.1.10 + name: flyte-sandbox-cluster-resource-templates + namespace: flyte +--- +apiVersion: v1 +data: + 000-core.yaml: | + admin: + endpoint: localhost:8089 + insecure: true + catalog-cache: + endpoint: localhost:8081 + insecure: true + type: datacatalog + cluster_resources: + standaloneDeployment: false + templatePath: /etc/flyte/cluster-resource-templates + logger: + show-source: true + level: 5 + propeller: + create-flyteworkflow-crd: true + webhook: + certDir: /var/run/flyte/certs + localCert: true + secretName: flyte-sandbox-webhook-secret + serviceName: flyte-sandbox-webhook + servicePort: 443 + flyte: + admin: + disableClusterResourceManager: false + disableScheduler: false + disabled: false + seedProjects: + - flytesnacks + dataCatalog: + disabled: false + propeller: + disableWebhook: false + disabled: false + 001-plugins.yaml: | + tasks: + task-plugins: + default-for-task-types: + container: container + container_array: k8s-array + sidecar: sidecar + enabled-plugins: + - container + - sidecar + - k8s-array + - agent-service + plugins: + logs: + kubernetes-enabled: true + kubernetes-template-uri: http://localhost:30080/kubernetes-dashboard/#/log/{{.namespace }}/{{ .podName }}/pod?namespace={{ .namespace }} + cloudwatch-enabled: false + stackdriver-enabled: false + k8s: + co-pilot: + image: "cr.flyte.org/flyteorg/flytecopilot:v1.9.4" + k8s-array: + logs: + config: + kubernetes-enabled: true + kubernetes-template-uri: http://localhost:30080/kubernetes-dashboard/#/log/{{.namespace }}/{{ .podName }}/pod?namespace={{ .namespace }} + cloudwatch-enabled: false + stackdriver-enabled: false + agent-service: + defaultAgent: + defaultTimeout: 10s + endpoint: dns:///flyteagent.flyte.svc.cluster.local:8000 + insecure: true + timeouts: + GetTask: 10s + supportedTaskTypes: + - default_task + 002-database.yaml: | + database: + postgres: + username: postgres + host: flyte-sandbox-postgresql + port: 5432 + dbname: flyte + options: "sslmode=disable" + 003-storage.yaml: | + propeller: + rawoutput-prefix: s3://my-s3-bucket/data + storage: + type: stow + stow: + kind: s3 + config: + region: us-east-1 + disable_ssl: true + v2_signing: true + endpoint: http://flyte-sandbox-minio.flyte:9000 + auth_type: accesskey + container: my-s3-bucket + 100-inline-config.yaml: | + artifacts: + host: artifact-service.flyte.svc.cluster.local + insecure: true + port: 50051 + cloudEvents: + enable: true + redis: + addr: flyte-sandbox-redis-headless.flyte.svc.cluster.local:6379 + transformToCloudEvents: true + type: redis + plugins: + k8s: + default-env-vars: + - FLYTE_AWS_ENDPOINT: http://flyte-sandbox-minio.flyte:9000 + - FLYTE_AWS_ACCESS_KEY_ID: minio + - FLYTE_AWS_SECRET_ACCESS_KEY: miniostorage + storage: + signedURL: + stowConfigOverride: + endpoint: http://localhost:30002 + task_resources: + defaults: + cpu: 500m + ephemeralStorage: 0 + gpu: 0 + memory: 1Gi + limits: + cpu: 0 + ephemeralStorage: 0 + gpu: 0 + memory: 0 +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: flyte-sandbox + app.kubernetes.io/version: 1.16.0 + helm.sh/chart: flyte-binary-v0.1.10 + name: flyte-sandbox-config + namespace: flyte +--- +apiVersion: v1 +data: + config.yml: |- + health: + storagedriver: + enabled: true + interval: 10s + threshold: 3 + http: + addr: :5000 + debug: + addr: :5001 + prometheus: + enabled: false + path: /metrics + headers: + X-Content-Type-Options: + - nosniff + log: + fields: + service: registry + storage: + cache: + blobdescriptor: inmemory + version: 0.1 +kind: ConfigMap +metadata: + labels: + app: docker-registry + chart: docker-registry-2.2.2 + heritage: Helm + release: flyte-sandbox + name: flyte-sandbox-docker-registry-config + namespace: flyte +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: flyte-sandbox-extra-cluster-resource-templates + namespace: flyte +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: flyte-sandbox-extra-config + namespace: flyte +--- +apiVersion: v1 +data: + envoy.yaml: | + admin: + access_log_path: /dev/stdout + static_resources: + listeners: + - address: + socket_address: + address: 0.0.0.0 + port_value: 8000 + filter_chains: + - filters: + - name: envoy.filters.network.http_connection_manager + typed_config: + "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager + stat_prefix: ingress_http + codec_type: AUTO + upgrade_configs: + - upgrade_type: websocket + route_config: + name: local_route + virtual_hosts: + - name: backend + domains: + - "*" + routes: + - match: + path: "/" + redirect: + path_redirect: "/console/" + - match: + prefix: "/.well-known" + route: + cluster: flyte + - match: + prefix: "/__webpack_hmr" + route: + cluster: flyte + - match: + prefix: "/api" + route: + cluster: flyte + - match: + prefix: "/callback" + route: + cluster: flyte + - match: + prefix: "/config" + route: + cluster: flyte + - match: + prefix: "/console" + route: + cluster: flyte + - match: + prefix: "/healthcheck" + route: + cluster: flyte + - match: + prefix: "/login" + route: + cluster: flyte + - match: + prefix: "/logout" + route: + cluster: flyte + - match: + prefix: "/me" + route: + cluster: flyte + - match: + prefix: "/oauth2" + route: + cluster: flyte + - match: + prefix: "/v1" + route: + cluster: flyte + - match: + prefix: "/flyteidl.service.AdminService" + route: + cluster: flyte_grpc + - match: + prefix: "/flyteidl.service.AuthMetadataService" + route: + cluster: flyte_grpc + - match: + prefix: "/flyteidl.service.DataProxyService" + route: + cluster: flyte_grpc + - match: + prefix: "/flyteidl.service.IdentityService" + route: + cluster: flyte_grpc + - match: + prefix: "/grpc.health.v1.Health" + route: + cluster: flyte_grpc + - match: + prefix: "/flyteidl.service.SignalService" + route: + cluster: flyte_grpc + - match: + prefix: "/flyteidl.artifact.ArtifactRegistry" + route: + cluster: artifact + - match: + path: "/kubernetes-dashboard" + redirect: + path_redirect: "/kubernetes-dashboard/" + - match: + prefix: "/kubernetes-dashboard/" + route: + cluster: kubernetes-dashboard + prefix_rewrite: / + - match: + path: "/minio" + redirect: + path_redirect: "/minio/" + - match: + prefix: "/minio/" + route: + cluster: minio + prefix_rewrite: / + http_filters: + - name: envoy.filters.http.router + typed_config: + "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router + clusters: + - name: flyte + connect_timeout: 0.25s + type: STRICT_DNS + lb_policy: ROUND_ROBIN + load_assignment: + cluster_name: flyte + endpoints: + - lb_endpoints: + - endpoint: + address: + socket_address: + address: flyte-sandbox-http + port_value: 8088 + - name: flyte_grpc + connect_timeout: 0.25s + type: STRICT_DNS + lb_policy: ROUND_ROBIN + http2_protocol_options: {} + load_assignment: + cluster_name: flyte_grpc + endpoints: + - lb_endpoints: + - endpoint: + address: + socket_address: + address: flyte-sandbox-grpc + port_value: 8089 + - name: kubernetes-dashboard + connect_timeout: 0.25s + type: STRICT_DNS + lb_policy: ROUND_ROBIN + load_assignment: + cluster_name: kubernetes-dashboard + endpoints: + - lb_endpoints: + - endpoint: + address: + socket_address: + address: flyte-sandbox-kubernetes-dashboard + port_value: 80 + - name: minio + connect_timeout: 0.25s + type: STRICT_DNS + lb_policy: ROUND_ROBIN + load_assignment: + cluster_name: minio + endpoints: + - lb_endpoints: + - endpoint: + address: + socket_address: + address: flyte-sandbox-minio + port_value: 9001 + - name: artifact + connect_timeout: 0.25s + type: STRICT_DNS + lb_policy: ROUND_ROBIN + http2_protocol_options: {} + load_assignment: + cluster_name: artifact + endpoints: + - lb_endpoints: + - endpoint: + address: + socket_address: + address: artifact-service + port_value: 50051 +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: flyte-sandbox + app.kubernetes.io/version: 1.16.0 + helm.sh/chart: flyte-sandbox-0.1.0 + name: flyte-sandbox-proxy-config + namespace: flyte +--- +apiVersion: v1 +data: + master.conf: |- + dir /data + # User-supplied master configuration: + rename-command FLUSHDB "" + rename-command FLUSHALL "" + # End of master configuration + redis.conf: |- + # User-supplied common configuration: + # Enable AOF https://redis.io/topics/persistence#append-only-file + appendonly yes + # Disable RDB persistence, AOF persistence already enabled. + save "" + # End of common configuration + replica.conf: |- + dir /data + # User-supplied replica configuration: + rename-command FLUSHDB "" + rename-command FLUSHALL "" + # End of replica configuration +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: redis + helm.sh/chart: redis-17.15.6 + name: flyte-sandbox-redis-configuration + namespace: flyte +--- +apiVersion: v1 +data: + ping_liveness_local.sh: |- + #!/bin/bash + + [[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")" + [[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD" + response=$( + timeout -s 15 $1 \ + redis-cli \ + -h localhost \ + -p $REDIS_PORT \ + ping + ) + if [ "$?" -eq "124" ]; then + echo "Timed out" + exit 1 + fi + responseFirstWord=$(echo $response | head -n1 | awk '{print $1;}') + if [ "$response" != "PONG" ] && [ "$responseFirstWord" != "LOADING" ] && [ "$responseFirstWord" != "MASTERDOWN" ]; then + echo "$response" + exit 1 + fi + ping_liveness_local_and_master.sh: |- + script_dir="$(dirname "$0")" + exit_status=0 + "$script_dir/ping_liveness_local.sh" $1 || exit_status=$? + "$script_dir/ping_liveness_master.sh" $1 || exit_status=$? + exit $exit_status + ping_liveness_master.sh: |- + #!/bin/bash + + [[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")" + [[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD" + response=$( + timeout -s 15 $1 \ + redis-cli \ + -h $REDIS_MASTER_HOST \ + -p $REDIS_MASTER_PORT_NUMBER \ + ping + ) + if [ "$?" -eq "124" ]; then + echo "Timed out" + exit 1 + fi + responseFirstWord=$(echo $response | head -n1 | awk '{print $1;}') + if [ "$response" != "PONG" ] && [ "$responseFirstWord" != "LOADING" ]; then + echo "$response" + exit 1 + fi + ping_readiness_local.sh: |- + #!/bin/bash + + [[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")" + [[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD" + response=$( + timeout -s 15 $1 \ + redis-cli \ + -h localhost \ + -p $REDIS_PORT \ + ping + ) + if [ "$?" -eq "124" ]; then + echo "Timed out" + exit 1 + fi + if [ "$response" != "PONG" ]; then + echo "$response" + exit 1 + fi + ping_readiness_local_and_master.sh: |- + script_dir="$(dirname "$0")" + exit_status=0 + "$script_dir/ping_readiness_local.sh" $1 || exit_status=$? + "$script_dir/ping_readiness_master.sh" $1 || exit_status=$? + exit $exit_status + ping_readiness_master.sh: |- + #!/bin/bash + + [[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")" + [[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD" + response=$( + timeout -s 15 $1 \ + redis-cli \ + -h $REDIS_MASTER_HOST \ + -p $REDIS_MASTER_PORT_NUMBER \ + ping + ) + if [ "$?" -eq "124" ]; then + echo "Timed out" + exit 1 + fi + if [ "$response" != "PONG" ]; then + echo "$response" + exit 1 + fi +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: redis + helm.sh/chart: redis-17.15.6 + name: flyte-sandbox-redis-health + namespace: flyte +--- +apiVersion: v1 +data: + start-master.sh: | + #!/bin/bash + + [[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")" + if [[ -f /opt/bitnami/redis/mounted-etc/master.conf ]];then + cp /opt/bitnami/redis/mounted-etc/master.conf /opt/bitnami/redis/etc/master.conf + fi + if [[ -f /opt/bitnami/redis/mounted-etc/redis.conf ]];then + cp /opt/bitnami/redis/mounted-etc/redis.conf /opt/bitnami/redis/etc/redis.conf + fi + ARGS=("--port" "${REDIS_PORT}") + ARGS+=("--protected-mode" "no") + ARGS+=("--include" "/opt/bitnami/redis/etc/redis.conf") + ARGS+=("--include" "/opt/bitnami/redis/etc/master.conf") + exec redis-server "${ARGS[@]}" + start-replica.sh: | + #!/bin/bash + + get_port() { + hostname="$1" + type="$2" + + port_var=$(echo "${hostname^^}_SERVICE_PORT_$type" | sed "s/-/_/g") + port=${!port_var} + + if [ -z "$port" ]; then + case $type in + "SENTINEL") + echo 26379 + ;; + "REDIS") + echo 6379 + ;; + esac + else + echo $port + fi + } + + get_full_hostname() { + hostname="$1" + full_hostname="${hostname}.${HEADLESS_SERVICE}" + echo "${full_hostname}" + } + + REDISPORT=$(get_port "$HOSTNAME" "REDIS") + HEADLESS_SERVICE="flyte-sandbox-redis-headless.flyte.svc.cluster.local" + + [[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")" + [[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")" + if [[ -f /opt/bitnami/redis/mounted-etc/replica.conf ]];then + cp /opt/bitnami/redis/mounted-etc/replica.conf /opt/bitnami/redis/etc/replica.conf + fi + if [[ -f /opt/bitnami/redis/mounted-etc/redis.conf ]];then + cp /opt/bitnami/redis/mounted-etc/redis.conf /opt/bitnami/redis/etc/redis.conf + fi + + echo "" >> /opt/bitnami/redis/etc/replica.conf + echo "replica-announce-port $REDISPORT" >> /opt/bitnami/redis/etc/replica.conf + echo "replica-announce-ip $(get_full_hostname "$HOSTNAME")" >> /opt/bitnami/redis/etc/replica.conf + ARGS=("--port" "${REDIS_PORT}") + ARGS+=("--replicaof" "${REDIS_MASTER_HOST}" "${REDIS_MASTER_PORT_NUMBER}") + ARGS+=("--protected-mode" "no") + ARGS+=("--include" "/opt/bitnami/redis/etc/redis.conf") + ARGS+=("--include" "/opt/bitnami/redis/etc/replica.conf") + exec redis-server "${ARGS[@]}" +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: redis + helm.sh/chart: redis-17.15.6 + name: flyte-sandbox-redis-scripts + namespace: flyte +--- +apiVersion: v1 +data: null +kind: ConfigMap +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: kubernetes-dashboard + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: kubernetes-dashboard-6.0.0 + name: kubernetes-dashboard-settings + namespace: flyte +--- +apiVersion: v1 +kind: Secret +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: flyte-sandbox + app.kubernetes.io/version: 1.16.0 + helm.sh/chart: flyte-binary-v0.1.10 + name: flyte-sandbox-config-secret + namespace: flyte +stringData: + 012-database-secrets.yaml: | + database: + postgres: + password: "postgres" + 013-storage-secrets.yaml: | + storage: + stow: + config: + access_key_id: "minio" + secret_key: "miniostorage" +type: Opaque +--- +apiVersion: v1 +data: + haSharedSecret: SWducTh4R2puVUFaN0RkRA== + proxyPassword: "" + proxyUsername: "" +kind: Secret +metadata: + labels: + app: docker-registry + chart: docker-registry-2.2.2 + heritage: Helm + release: flyte-sandbox + name: flyte-sandbox-docker-registry-secret + namespace: flyte +type: Opaque +--- +apiVersion: v1 +kind: Secret +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: kubernetes-dashboard + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: kubernetes-dashboard-6.0.0 + name: flyte-sandbox-kubernetes-dashboard-certs + namespace: flyte +type: Opaque +--- +apiVersion: v1 +data: + root-password: bWluaW9zdG9yYWdl + root-user: bWluaW8= +kind: Secret +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: minio + helm.sh/chart: minio-12.1.1 + name: flyte-sandbox-minio + namespace: flyte +type: Opaque +--- +apiVersion: v1 +data: + postgres-password: cG9zdGdyZXM= +kind: Secret +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: postgresql + helm.sh/chart: postgresql-12.1.9 + name: flyte-sandbox-postgresql + namespace: flyte +type: Opaque +--- +apiVersion: v1 +data: + username: User +kind: Secret +metadata: + name: flyteagent + namespace: flyte +type: Opaque +--- +apiVersion: v1 +kind: Secret +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: kubernetes-dashboard + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: kubernetes-dashboard-6.0.0 + name: kubernetes-dashboard-csrf + namespace: flyte +type: Opaque +--- +apiVersion: v1 +kind: Secret +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: kubernetes-dashboard + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: kubernetes-dashboard-6.0.0 + name: kubernetes-dashboard-key-holder + namespace: flyte +type: Opaque +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app: artifact-service + name: artifact-service + namespace: flyte +spec: + ports: + - name: grpc + port: 50051 + targetPort: 50051 + selector: + app: artifact-service + type: ClusterIP +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app: docker-registry + chart: docker-registry-2.2.2 + heritage: Helm + release: flyte-sandbox + name: flyte-sandbox-docker-registry + namespace: flyte +spec: + ports: + - name: http-5000 + nodePort: 30000 + port: 5000 + protocol: TCP + targetPort: 5000 + selector: + app: docker-registry + release: flyte-sandbox + type: NodePort +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: flyte-sandbox + app.kubernetes.io/version: 1.16.0 + helm.sh/chart: flyte-binary-v0.1.10 + name: flyte-sandbox-grpc + namespace: flyte +spec: + ports: + - name: grpc + nodePort: null + port: 8089 + targetPort: grpc + selector: + app.kubernetes.io/component: flyte-binary + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: flyte-sandbox + type: ClusterIP +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: flyte-sandbox + app.kubernetes.io/version: 1.16.0 + helm.sh/chart: flyte-binary-v0.1.10 + name: flyte-sandbox-http + namespace: flyte +spec: + ports: + - name: http + nodePort: null + port: 8088 + targetPort: http + selector: + app.kubernetes.io/component: flyte-binary + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: flyte-sandbox + type: ClusterIP +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/component: kubernetes-dashboard + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: kubernetes-dashboard + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: kubernetes-dashboard-6.0.0 + kubernetes.io/cluster-service: "true" + name: flyte-sandbox-kubernetes-dashboard + namespace: flyte +spec: + ports: + - name: http + port: 80 + targetPort: http + selector: + app.kubernetes.io/component: kubernetes-dashboard + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: kubernetes-dashboard + type: ClusterIP +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: minio + helm.sh/chart: minio-12.1.1 + name: flyte-sandbox-minio + namespace: flyte +spec: + externalTrafficPolicy: Cluster + ports: + - name: minio-api + nodePort: 30002 + port: 9000 + targetPort: minio-api + - name: minio-console + port: 9001 + targetPort: minio-console + selector: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: minio + type: NodePort +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/component: primary + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: postgresql + helm.sh/chart: postgresql-12.1.9 + name: flyte-sandbox-postgresql + namespace: flyte +spec: + externalTrafficPolicy: Cluster + ports: + - name: tcp-postgresql + nodePort: 30001 + port: 5432 + targetPort: tcp-postgresql + selector: + app.kubernetes.io/component: primary + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: postgresql + sessionAffinity: None + type: NodePort +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/component: primary + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: postgresql + helm.sh/chart: postgresql-12.1.9 + service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" + name: flyte-sandbox-postgresql-hl + namespace: flyte +spec: + clusterIP: None + ports: + - name: tcp-postgresql + port: 5432 + targetPort: tcp-postgresql + publishNotReadyAddresses: true + selector: + app.kubernetes.io/component: primary + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: postgresql + type: ClusterIP +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: flyte-sandbox + app.kubernetes.io/version: 1.16.0 + helm.sh/chart: flyte-sandbox-0.1.0 + name: flyte-sandbox-proxy + namespace: flyte +spec: + ports: + - name: http + nodePort: 30080 + port: 8000 + protocol: TCP + selector: + app.kubernetes.io/component: proxy + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: flyte-sandbox + type: NodePort +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: redis + helm.sh/chart: redis-17.15.6 + name: flyte-sandbox-redis-headless + namespace: flyte +spec: + clusterIP: None + ports: + - name: tcp-redis + port: 6379 + targetPort: redis + selector: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: redis + type: ClusterIP +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/component: master + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: redis + helm.sh/chart: redis-17.15.6 + name: flyte-sandbox-redis-master + namespace: flyte +spec: + externalTrafficPolicy: Cluster + internalTrafficPolicy: Cluster + ports: + - name: tcp-redis + nodePort: 30004 + port: 6379 + targetPort: redis + selector: + app.kubernetes.io/component: master + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: redis + sessionAffinity: None + type: NodePort +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/component: replica + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: redis + helm.sh/chart: redis-17.15.6 + name: flyte-sandbox-redis-replicas + namespace: flyte +spec: + internalTrafficPolicy: Cluster + ports: + - name: tcp-redis + nodePort: null + port: 6379 + targetPort: redis + selector: + app.kubernetes.io/component: replica + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: redis + sessionAffinity: None + type: ClusterIP +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: flyte-sandbox + app.kubernetes.io/version: 1.16.0 + helm.sh/chart: flyte-binary-v0.1.10 + name: flyte-sandbox-webhook + namespace: flyte +spec: + ports: + - name: webhook + port: 443 + targetPort: webhook + selector: + app.kubernetes.io/component: flyte-binary + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: flyte-sandbox + type: ClusterIP +--- +apiVersion: v1 +kind: Service +metadata: + annotations: + projectcontour.io/upstream-protocol.h2c: grpc + labels: + app.kubernetes.io/instance: flyteagent + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: flyteagent + helm.sh/chart: flyteagent-v0.1.10 + name: flyteagent + namespace: flyte +spec: + ports: + - name: agent-grpc + port: 8000 + protocol: TCP + targetPort: agent-grpc + selector: + app.kubernetes.io/instance: flyteagent + app.kubernetes.io/name: flyteagent + type: ClusterIP +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: flyte-sandbox + app.kubernetes.io/version: 1.16.0 + helm.sh/chart: flyte-sandbox-0.1.0 + name: flyte-sandbox-db-storage + namespace: flyte +spec: + accessModes: + - ReadWriteOnce + capacity: + storage: 1Gi + hostPath: + path: /var/lib/flyte/storage/db + storageClassName: manual +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: flyte-sandbox + app.kubernetes.io/version: 1.16.0 + helm.sh/chart: flyte-sandbox-0.1.0 + name: flyte-sandbox-minio-storage + namespace: flyte +spec: + accessModes: + - ReadWriteOnce + capacity: + storage: 1Gi + hostPath: + path: /var/lib/flyte/storage/minio + storageClassName: manual +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: flyte-sandbox + app.kubernetes.io/version: 1.16.0 + helm.sh/chart: flyte-sandbox-0.1.0 + name: flyte-sandbox-db-storage + namespace: flyte +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi + storageClassName: manual + volumeName: flyte-sandbox-db-storage +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: flyte-sandbox + app.kubernetes.io/version: 1.16.0 + helm.sh/chart: flyte-sandbox-0.1.0 + name: flyte-sandbox-minio-storage + namespace: flyte +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi + storageClassName: manual + volumeName: flyte-sandbox-minio-storage +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: artifact-service + name: artifact-service + namespace: flyte +spec: + replicas: 1 + selector: + matchLabels: + app: artifact-service + template: + metadata: + labels: + app: artifact-service + spec: + containers: + - env: + - name: DATABASE_URL + value: postgresql://postgres:postgres@flyte-sandbox-postgresql.flyte:5432/postgres + - name: REDIS_HOST + value: flyte-sandbox-redis-headless.flyte.svc.cluster.local + - name: REDIS_PORT + value: "6379" + image: ghcr.io/unionai/artifacts:sandbox + livenessProbe: + initialDelaySeconds: 30 + tcpSocket: + port: grpc + name: main + ports: + - containerPort: 50051 + name: grpc + readinessProbe: + tcpSocket: + port: grpc +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: flyte-sandbox + app.kubernetes.io/version: 1.16.0 + helm.sh/chart: flyte-binary-v0.1.10 + name: flyte-sandbox + namespace: flyte +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/component: flyte-binary + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: flyte-sandbox + strategy: + type: Recreate + template: + metadata: + annotations: + checksum/cluster-resource-templates: 6fd9b172465e3089fcc59f738b92b8dc4d8939360c19de8ee65f68b0e7422035 + checksum/configuration: c86a3f997d43ba1f7612d3f5e9675ef534131308a682edc09d06cf4f6e79be64 + checksum/configuration-secret: 09216ffaa3d29e14f88b1f30af580d02a2a5e014de4d750b7f275cc07ed4e914 + labels: + app.kubernetes.io/component: flyte-binary + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: flyte-sandbox + spec: + containers: + - args: + - start + - --config + - /etc/flyte/config.d/*.yaml + env: + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + image: flyte-binary:sandbox + imagePullPolicy: Never + livenessProbe: + httpGet: + path: /healthcheck + port: http + name: flyte + ports: + - containerPort: 8088 + name: http + - containerPort: 8089 + name: grpc + - containerPort: 9443 + name: webhook + readinessProbe: + httpGet: + path: /healthcheck + port: http + volumeMounts: + - mountPath: /etc/flyte/cluster-resource-templates + name: cluster-resource-templates + - mountPath: /etc/flyte/config.d + name: config + - mountPath: /var/run/flyte + name: state + initContainers: + - args: + - | + until pg_isready \ + -h flyte-sandbox-postgresql \ + -p 5432 \ + -U postgres + do + echo waiting for database + sleep 0.1 + done + command: + - sh + - -ec + image: bitnami/postgresql:sandbox + imagePullPolicy: Never + name: wait-for-db + serviceAccountName: flyte-sandbox + volumes: + - name: cluster-resource-templates + projected: + sources: + - configMap: + name: flyte-sandbox-cluster-resource-templates + - configMap: + name: flyte-sandbox-extra-cluster-resource-templates + - name: config + projected: + sources: + - configMap: + name: flyte-sandbox-config + - secret: + name: flyte-sandbox-config-secret + - configMap: + name: flyte-sandbox-extra-config + - emptyDir: {} + name: state +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: flyte-sandbox + app.kubernetes.io/version: 1.16.0 + helm.sh/chart: flyte-sandbox-0.1.0 + name: flyte-sandbox-buildkit + namespace: flyte +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/component: buildkit + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: flyte-sandbox + template: + metadata: + labels: + app.kubernetes.io/component: buildkit + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: flyte-sandbox + spec: + containers: + - args: + - --addr + - unix:///run/buildkit/buildkitd.sock + - --addr + - tcp://0.0.0.0:30003 + image: moby/buildkit:sandbox + imagePullPolicy: Never + livenessProbe: + exec: + command: + - buildctl + - debug + - workers + initialDelaySeconds: 5 + periodSeconds: 30 + name: buildkit + ports: + - containerPort: 30003 + name: tcp + protocol: TCP + readinessProbe: + exec: + command: + - buildctl + - debug + - workers + initialDelaySeconds: 5 + periodSeconds: 30 + securityContext: + privileged: true + hostNetwork: true +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: docker-registry + chart: docker-registry-2.2.2 + heritage: Helm + release: flyte-sandbox + name: flyte-sandbox-docker-registry + namespace: flyte +spec: + minReadySeconds: 5 + replicas: 1 + selector: + matchLabels: + app: docker-registry + release: flyte-sandbox + template: + metadata: + annotations: + checksum/config: 8f50e768255a87f078ba8b9879a0c174c3e045ffb46ac8723d2eedbe293c8d81 + checksum/secret: 44f9007801278e9d493bb52f1afeb2ac43518835dfeac95e6bbf320bdd9f1a0c + labels: + app: docker-registry + release: flyte-sandbox + spec: + containers: + - command: + - /bin/registry + - serve + - /etc/docker/registry/config.yml + env: + - name: REGISTRY_HTTP_SECRET + valueFrom: + secretKeyRef: + key: haSharedSecret + name: flyte-sandbox-docker-registry-secret + - name: REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY + value: /var/lib/registry + image: registry:sandbox + imagePullPolicy: Never + livenessProbe: + httpGet: + path: / + port: 5000 + name: docker-registry + ports: + - containerPort: 5000 + readinessProbe: + httpGet: + path: / + port: 5000 + resources: {} + volumeMounts: + - mountPath: /etc/docker/registry + name: flyte-sandbox-docker-registry-config + - mountPath: /var/lib/registry/ + name: data + securityContext: + fsGroup: 1000 + runAsUser: 1000 + volumes: + - configMap: + name: flyte-sandbox-docker-registry-config + name: flyte-sandbox-docker-registry-config + - emptyDir: {} + name: data +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/component: kubernetes-dashboard + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: kubernetes-dashboard + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: kubernetes-dashboard-6.0.0 + name: flyte-sandbox-kubernetes-dashboard + namespace: flyte +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/component: kubernetes-dashboard + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: kubernetes-dashboard + strategy: + rollingUpdate: + maxSurge: 0 + maxUnavailable: 1 + type: RollingUpdate + template: + metadata: + annotations: null + labels: + app.kubernetes.io/component: kubernetes-dashboard + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: kubernetes-dashboard + app.kubernetes.io/version: 2.7.0 + helm.sh/chart: kubernetes-dashboard-6.0.0 + spec: + containers: + - args: + - --namespace=flyte + - --metrics-provider=none + - --enable-insecure-login + - --enable-skip-login + image: kubernetesui/dashboard:sandbox + imagePullPolicy: Never + livenessProbe: + httpGet: + path: / + port: 9090 + scheme: HTTP + initialDelaySeconds: 30 + timeoutSeconds: 30 + name: kubernetes-dashboard + ports: + - containerPort: 9090 + name: http + protocol: TCP + resources: + limits: + cpu: 2 + memory: 200Mi + requests: + cpu: 100m + memory: 200Mi + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + runAsGroup: 2001 + runAsUser: 1001 + volumeMounts: + - mountPath: /certs + name: kubernetes-dashboard-certs + - mountPath: /tmp + name: tmp-volume + securityContext: + seccompProfile: + type: RuntimeDefault + serviceAccountName: flyte-sandbox-kubernetes-dashboard + volumes: + - name: kubernetes-dashboard-certs + secret: + secretName: flyte-sandbox-kubernetes-dashboard-certs + - emptyDir: {} + name: tmp-volume +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: minio + helm.sh/chart: minio-12.1.1 + name: flyte-sandbox-minio + namespace: flyte +spec: + selector: + matchLabels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: minio + strategy: + type: Recreate + template: + metadata: + annotations: + checksum/credentials-secret: c199ac45f9d95d97966921c814d6c8b38cbf7416458e19cbe6d001a04c264448 + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: minio + helm.sh/chart: minio-12.1.1 + spec: + affinity: + nodeAffinity: null + podAffinity: null + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: minio + topologyKey: kubernetes.io/hostname + weight: 1 + containers: + - env: + - name: BITNAMI_DEBUG + value: "false" + - name: MINIO_SCHEME + value: http + - name: MINIO_FORCE_NEW_KEYS + value: "no" + - name: MINIO_ROOT_USER + valueFrom: + secretKeyRef: + key: root-user + name: flyte-sandbox-minio + - name: MINIO_ROOT_PASSWORD + valueFrom: + secretKeyRef: + key: root-password + name: flyte-sandbox-minio + - name: MINIO_DEFAULT_BUCKETS + value: my-s3-bucket + - name: MINIO_BROWSER + value: "on" + - name: MINIO_PROMETHEUS_AUTH_TYPE + value: public + - name: MINIO_CONSOLE_PORT_NUMBER + value: "9001" + - name: MINIO_BROWSER_REDIRECT_URL + value: http://localhost:30080/minio + envFrom: null + image: docker.io/bitnami/minio:sandbox + imagePullPolicy: Never + livenessProbe: + failureThreshold: 5 + httpGet: + path: /minio/health/live + port: minio-api + scheme: HTTP + initialDelaySeconds: 5 + periodSeconds: 5 + successThreshold: 1 + timeoutSeconds: 5 + name: minio + ports: + - containerPort: 9000 + name: minio-api + protocol: TCP + - containerPort: 9001 + name: minio-console + protocol: TCP + readinessProbe: + failureThreshold: 5 + initialDelaySeconds: 5 + periodSeconds: 5 + successThreshold: 1 + tcpSocket: + port: minio-api + timeoutSeconds: 1 + resources: + limits: {} + requests: {} + securityContext: + runAsNonRoot: true + runAsUser: 1001 + volumeMounts: + - mountPath: /data + name: data + initContainers: + - command: + - /bin/bash + - -ec + - | + chown -R 1001:1001 /data + image: docker.io/bitnami/bitnami-shell:sandbox + imagePullPolicy: Never + name: volume-permissions + resources: + limits: {} + requests: {} + securityContext: + runAsUser: 0 + volumeMounts: + - mountPath: /data + name: data + securityContext: + fsGroup: 1001 + serviceAccountName: flyte-sandbox-minio + volumes: + - name: data + persistentVolumeClaim: + claimName: flyte-sandbox-minio-storage +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: flyte-sandbox + app.kubernetes.io/version: 1.16.0 + helm.sh/chart: flyte-sandbox-0.1.0 + name: flyte-sandbox-proxy + namespace: flyte +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/component: proxy + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: flyte-sandbox + template: + metadata: + labels: + app.kubernetes.io/component: proxy + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: flyte-sandbox + spec: + containers: + - image: envoyproxy/envoy:sandbox + imagePullPolicy: Never + name: proxy + ports: + - containerPort: 8000 + name: http + volumeMounts: + - mountPath: /etc/envoy + name: config + volumes: + - configMap: + name: flyte-sandbox-proxy-config + name: config +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/instance: flyteagent + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: flyteagent + helm.sh/chart: flyteagent-v0.1.10 + name: flyteagent + namespace: flyte +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/instance: flyteagent + app.kubernetes.io/name: flyteagent + template: + metadata: + annotations: null + labels: + app.kubernetes.io/instance: flyteagent + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: flyteagent + helm.sh/chart: flyteagent-v0.1.10 + spec: + containers: + - command: + - pyflyte + - serve + image: ghcr.io/flyteorg/flyteagent:1.9.1 + imagePullPolicy: IfNotPresent + name: flyteagent + ports: + - containerPort: 8000 + name: agent-grpc + resources: + limits: + cpu: 500m + ephemeral-storage: 200Mi + memory: 200Mi + requests: + cpu: 500m + ephemeral-storage: 200Mi + memory: 200Mi + volumeMounts: + - mountPath: /etc/secrets + name: flyteagent + serviceAccountName: flyteagent + volumes: + - name: flyteagent + secret: + secretName: flyteagent +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + labels: + app.kubernetes.io/component: primary + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: postgresql + helm.sh/chart: postgresql-12.1.9 + name: flyte-sandbox-postgresql + namespace: flyte +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/component: primary + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: postgresql + serviceName: flyte-sandbox-postgresql-hl + template: + metadata: + annotations: null + labels: + app.kubernetes.io/component: primary + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: postgresql + helm.sh/chart: postgresql-12.1.9 + name: flyte-sandbox-postgresql + spec: + affinity: + nodeAffinity: null + podAffinity: null + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/component: primary + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: postgresql + topologyKey: kubernetes.io/hostname + weight: 1 + containers: + - env: + - name: BITNAMI_DEBUG + value: "false" + - name: POSTGRESQL_PORT_NUMBER + value: "5432" + - name: POSTGRESQL_VOLUME_DIR + value: /bitnami/postgresql + - name: PGDATA + value: /bitnami/postgresql/data + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + key: postgres-password + name: flyte-sandbox-postgresql + - name: POSTGRESQL_ENABLE_LDAP + value: "no" + - name: POSTGRESQL_ENABLE_TLS + value: "no" + - name: POSTGRESQL_LOG_HOSTNAME + value: "false" + - name: POSTGRESQL_LOG_CONNECTIONS + value: "false" + - name: POSTGRESQL_LOG_DISCONNECTIONS + value: "false" + - name: POSTGRESQL_PGAUDIT_LOG_CATALOG + value: "off" + - name: POSTGRESQL_CLIENT_MIN_MESSAGES + value: error + - name: POSTGRESQL_SHARED_PRELOAD_LIBRARIES + value: pgaudit + image: docker.io/bitnami/postgresql:sandbox + imagePullPolicy: Never + livenessProbe: + exec: + command: + - /bin/sh + - -c + - exec pg_isready -U "postgres" -h 127.0.0.1 -p 5432 + failureThreshold: 6 + initialDelaySeconds: 30 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 5 + name: postgresql + ports: + - containerPort: 5432 + name: tcp-postgresql + readinessProbe: + exec: + command: + - /bin/sh + - -c + - -e + - | + exec pg_isready -U "postgres" -h 127.0.0.1 -p 5432 + [ -f /opt/bitnami/postgresql/tmp/.initialized ] || [ -f /bitnami/postgresql/.initialized ] + failureThreshold: 6 + initialDelaySeconds: 5 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 5 + resources: + limits: {} + requests: + cpu: 250m + memory: 256Mi + securityContext: + runAsUser: 1001 + volumeMounts: + - mountPath: /bitnami/postgresql + name: data + hostIPC: false + hostNetwork: false + initContainers: + - command: + - /bin/sh + - -ec + - | + chown 1001:1001 /bitnami/postgresql + mkdir -p /bitnami/postgresql/data + chmod 700 /bitnami/postgresql/data + find /bitnami/postgresql -mindepth 1 -maxdepth 1 -not -name "conf" -not -name ".snapshot" -not -name "lost+found" | \ + xargs -r chown -R 1001:1001 + image: docker.io/bitnami/bitnami-shell:sandbox + imagePullPolicy: Never + name: init-chmod-data + resources: + limits: {} + requests: {} + securityContext: + runAsUser: 0 + volumeMounts: + - mountPath: /bitnami/postgresql + name: data + securityContext: + fsGroup: 1001 + serviceAccountName: default + volumes: + - name: data + persistentVolumeClaim: + claimName: flyte-sandbox-db-storage + updateStrategy: + rollingUpdate: {} + type: RollingUpdate +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + labels: + app.kubernetes.io/component: master + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: redis + helm.sh/chart: redis-17.15.6 + name: flyte-sandbox-redis-master + namespace: flyte +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/component: master + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: redis + serviceName: flyte-sandbox-redis-headless + template: + metadata: + annotations: + checksum/configmap: 86bcc953bb473748a3d3dc60b7c11f34e60c93519234d4c37f42e22ada559d47 + checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9 + checksum/scripts: d8e7bccfb1b74138543285406c65b9316cacb0f2da164a6baa00faed05079b7f + checksum/secret: 44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a + labels: + app.kubernetes.io/component: master + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: redis + helm.sh/chart: redis-17.15.6 + spec: + affinity: + nodeAffinity: null + podAffinity: null + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/component: master + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: redis + topologyKey: kubernetes.io/hostname + weight: 1 + automountServiceAccountToken: true + containers: + - args: + - -c + - /opt/bitnami/scripts/start-scripts/start-master.sh + command: + - /bin/bash + env: + - name: BITNAMI_DEBUG + value: "false" + - name: REDIS_REPLICATION_MODE + value: master + - name: ALLOW_EMPTY_PASSWORD + value: "yes" + - name: REDIS_TLS_ENABLED + value: "no" + - name: REDIS_PORT + value: "6379" + image: docker.io/bitnami/redis:sandbox + imagePullPolicy: Never + livenessProbe: + exec: + command: + - sh + - -c + - /health/ping_liveness_local.sh 5 + failureThreshold: 5 + initialDelaySeconds: 20 + periodSeconds: 5 + successThreshold: 1 + timeoutSeconds: 6 + name: redis + ports: + - containerPort: 6379 + name: redis + readinessProbe: + exec: + command: + - sh + - -c + - /health/ping_readiness_local.sh 1 + failureThreshold: 5 + initialDelaySeconds: 20 + periodSeconds: 5 + successThreshold: 1 + timeoutSeconds: 2 + resources: + limits: {} + requests: {} + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + runAsGroup: 0 + runAsNonRoot: true + runAsUser: 1001 + seccompProfile: + type: RuntimeDefault + volumeMounts: + - mountPath: /opt/bitnami/scripts/start-scripts + name: start-scripts + - mountPath: /health + name: health + - mountPath: /data + name: redis-data + - mountPath: /opt/bitnami/redis/mounted-etc + name: config + - mountPath: /opt/bitnami/redis/etc/ + name: redis-tmp-conf + - mountPath: /tmp + name: tmp + securityContext: + fsGroup: 1001 + serviceAccountName: flyte-sandbox-redis + terminationGracePeriodSeconds: 30 + volumes: + - configMap: + defaultMode: 493 + name: flyte-sandbox-redis-scripts + name: start-scripts + - configMap: + defaultMode: 493 + name: flyte-sandbox-redis-health + name: health + - configMap: + name: flyte-sandbox-redis-configuration + name: config + - emptyDir: {} + name: redis-tmp-conf + - emptyDir: {} + name: tmp + updateStrategy: + type: RollingUpdate + volumeClaimTemplates: + - apiVersion: v1 + kind: PersistentVolumeClaim + metadata: + labels: + app.kubernetes.io/component: master + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: redis + name: redis-data + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 8Gi +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + labels: + app.kubernetes.io/component: replica + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: redis + helm.sh/chart: redis-17.15.6 + name: flyte-sandbox-redis-replicas + namespace: flyte +spec: + replicas: 0 + selector: + matchLabels: + app.kubernetes.io/component: replica + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: redis + serviceName: flyte-sandbox-redis-headless + template: + metadata: + annotations: + checksum/configmap: 86bcc953bb473748a3d3dc60b7c11f34e60c93519234d4c37f42e22ada559d47 + checksum/health: aff24913d801436ea469d8d374b2ddb3ec4c43ee7ab24663d5f8ff1a1b6991a9 + checksum/scripts: d8e7bccfb1b74138543285406c65b9316cacb0f2da164a6baa00faed05079b7f + checksum/secret: 44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a + labels: + app.kubernetes.io/component: replica + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: redis + helm.sh/chart: redis-17.15.6 + spec: + affinity: + nodeAffinity: null + podAffinity: null + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/component: replica + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: redis + topologyKey: kubernetes.io/hostname + weight: 1 + automountServiceAccountToken: true + containers: + - args: + - -c + - /opt/bitnami/scripts/start-scripts/start-replica.sh + command: + - /bin/bash + env: + - name: BITNAMI_DEBUG + value: "false" + - name: REDIS_REPLICATION_MODE + value: replica + - name: REDIS_MASTER_HOST + value: flyte-sandbox-redis-master-0.flyte-sandbox-redis-headless.flyte.svc.cluster.local + - name: REDIS_MASTER_PORT_NUMBER + value: "6379" + - name: ALLOW_EMPTY_PASSWORD + value: "yes" + - name: REDIS_TLS_ENABLED + value: "no" + - name: REDIS_PORT + value: "6379" + image: docker.io/bitnami/redis:sandbox + imagePullPolicy: Never + livenessProbe: + exec: + command: + - sh + - -c + - /health/ping_liveness_local_and_master.sh 5 + failureThreshold: 5 + initialDelaySeconds: 20 + periodSeconds: 5 + successThreshold: 1 + timeoutSeconds: 6 + name: redis + ports: + - containerPort: 6379 + name: redis + readinessProbe: + exec: + command: + - sh + - -c + - /health/ping_readiness_local_and_master.sh 1 + failureThreshold: 5 + initialDelaySeconds: 20 + periodSeconds: 5 + successThreshold: 1 + timeoutSeconds: 2 + resources: + limits: {} + requests: {} + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + runAsGroup: 0 + runAsNonRoot: true + runAsUser: 1001 + seccompProfile: + type: RuntimeDefault + startupProbe: + failureThreshold: 22 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + tcpSocket: + port: redis + timeoutSeconds: 5 + volumeMounts: + - mountPath: /opt/bitnami/scripts/start-scripts + name: start-scripts + - mountPath: /health + name: health + - mountPath: /data + name: redis-data + - mountPath: /opt/bitnami/redis/mounted-etc + name: config + - mountPath: /opt/bitnami/redis/etc + name: redis-tmp-conf + securityContext: + fsGroup: 1001 + serviceAccountName: flyte-sandbox-redis + terminationGracePeriodSeconds: 30 + volumes: + - configMap: + defaultMode: 493 + name: flyte-sandbox-redis-scripts + name: start-scripts + - configMap: + defaultMode: 493 + name: flyte-sandbox-redis-health + name: health + - configMap: + name: flyte-sandbox-redis-configuration + name: config + - emptyDir: {} + name: redis-tmp-conf + updateStrategy: + type: RollingUpdate + volumeClaimTemplates: + - apiVersion: v1 + kind: PersistentVolumeClaim + metadata: + labels: + app.kubernetes.io/component: replica + app.kubernetes.io/instance: flyte-sandbox + app.kubernetes.io/name: redis + name: redis-data + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 8Gi diff --git a/docker/sandbox-bundled/manifests/complete.yaml b/docker/sandbox-bundled/manifests/complete.yaml index 84d7eb0351..78aba10689 100644 --- a/docker/sandbox-bundled/manifests/complete.yaml +++ b/docker/sandbox-bundled/manifests/complete.yaml @@ -1060,7 +1060,7 @@ type: Opaque --- apiVersion: v1 data: - haSharedSecret: Tm9IU3lEa0NLZDB0blM5TQ== + haSharedSecret: bDFaOUhoTWVuWUxCYWZ0Yw== proxyPassword: "" proxyUsername: "" kind: Secret @@ -1747,7 +1747,7 @@ spec: metadata: annotations: checksum/config: 8f50e768255a87f078ba8b9879a0c174c3e045ffb46ac8723d2eedbe293c8d81 - checksum/secret: 877fe97609c6f425701bda477b1165c1d2fbc0939da9a118b87b0430a0c8e713 + checksum/secret: 3f7b3556fe39ca67e1837666b3c4f4a8c129a2b982409092306b0e2cfaa78125 labels: app: docker-registry release: flyte-sandbox diff --git a/docker/sandbox-bundled/manifests/dev.yaml b/docker/sandbox-bundled/manifests/dev.yaml index 737e209351..eef1e487f9 100644 --- a/docker/sandbox-bundled/manifests/dev.yaml +++ b/docker/sandbox-bundled/manifests/dev.yaml @@ -744,7 +744,7 @@ metadata: --- apiVersion: v1 data: - haSharedSecret: VTJWMndkSk15emRBZ3F0eg== + haSharedSecret: azU3bmlDVU9QVkphNnpzTg== proxyPassword: "" proxyUsername: "" kind: Secret @@ -1304,7 +1304,7 @@ spec: metadata: annotations: checksum/config: 8f50e768255a87f078ba8b9879a0c174c3e045ffb46ac8723d2eedbe293c8d81 - checksum/secret: f0e226e3dc585d5f35bb7081b38d51f46a2c9f90802717e69fb70ee70e18178c + checksum/secret: 54d71609c2b10d379f16f55c76f854c3cfa527f76de9b43be95a7fa04763ad2c labels: app: docker-registry release: flyte-sandbox diff --git a/go.mod.main b/go.mod.main new file mode 100644 index 0000000000..610441be62 --- /dev/null +++ b/go.mod.main @@ -0,0 +1,220 @@ +module github.com/flyteorg/flyte + +go 1.19 + +require ( + github.com/flyteorg/datacatalog v1.0.48 + github.com/flyteorg/flyteadmin v1.1.110 + github.com/flyteorg/flytepropeller v1.1.106 + github.com/flyteorg/flytestdlib v1.0.20 + github.com/golang/glog v1.1.0 + github.com/spf13/cobra v1.4.0 + github.com/spf13/pflag v1.0.5 + golang.org/x/sync v0.1.0 + gorm.io/driver/postgres v1.4.5 + k8s.io/client-go v0.24.1 + sigs.k8s.io/controller-runtime v0.12.1 +) + +require ( + cloud.google.com/go v0.110.0 // indirect + cloud.google.com/go/compute v1.19.1 // indirect + cloud.google.com/go/compute/metadata v0.2.3 // indirect + cloud.google.com/go/iam v0.13.0 // indirect + cloud.google.com/go/pubsub v1.30.0 // indirect + cloud.google.com/go/storage v1.28.1 // indirect + github.com/Azure/azure-sdk-for-go v63.4.0+incompatible // indirect + github.com/Azure/azure-sdk-for-go/sdk/azcore v0.23.1 // indirect + github.com/Azure/azure-sdk-for-go/sdk/internal v0.9.2 // indirect + github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.4.0 // indirect + github.com/Azure/go-autorest v14.2.0+incompatible // indirect + github.com/Azure/go-autorest/autorest v0.11.27 // indirect + github.com/Azure/go-autorest/autorest/adal v0.9.18 // indirect + github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect + github.com/Azure/go-autorest/logger v0.2.1 // indirect + github.com/Azure/go-autorest/tracing v0.6.0 // indirect + github.com/GoogleCloudPlatform/spark-on-k8s-operator v0.0.0-20200723154620-6f35a1152625 // indirect + github.com/Masterminds/semver v1.5.0 // indirect + github.com/NYTimes/gizmo v1.3.6 // indirect + github.com/Shopify/sarama v1.26.4 // indirect + github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535 // indirect + github.com/aws/amazon-sagemaker-operator-for-k8s v1.0.1-0.20210303003444-0fb33b1fd49d // indirect + github.com/aws/aws-sdk-go v1.44.2 // indirect + github.com/aws/aws-sdk-go-v2 v1.2.0 // indirect + github.com/aws/aws-sdk-go-v2/config v1.0.0 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.0.0 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.0.0 // indirect + github.com/aws/aws-sdk-go-v2/service/athena v1.0.0 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.0.0 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.0.0 // indirect + github.com/aws/smithy-go v1.1.0 // indirect + github.com/benbjohnson/clock v1.1.0 // indirect + github.com/benlaurie/objecthash v0.0.0-20180202135721-d1e3d6079fc1 // indirect + github.com/beorn7/perks v1.0.1 // indirect + github.com/bradfitz/gomemcache v0.0.0-20190913173617-a41fca850d0b // indirect + github.com/cespare/xxhash v1.1.0 // indirect + github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/cloudevents/sdk-go/protocol/kafka_sarama/v2 v2.8.0 // indirect + github.com/cloudevents/sdk-go/v2 v2.8.0 // indirect + github.com/coocood/freecache v1.1.1 // indirect + github.com/coreos/go-oidc v2.2.1+incompatible // indirect + github.com/dask/dask-kubernetes/v2023 v2023.0.0-20230626103304-abd02cd17b26 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/decred/dcrd/dcrec/secp256k1/v3 v3.0.0 // indirect + github.com/dgraph-io/ristretto v0.0.3 // indirect + github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect + github.com/eapache/go-resiliency v1.2.0 // indirect + github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 // indirect + github.com/eapache/queue v1.1.0 // indirect + github.com/emicklei/go-restful/v3 v3.9.0 // indirect + github.com/evanphx/json-patch v4.12.0+incompatible // indirect + github.com/fatih/color v1.13.0 // indirect + github.com/felixge/httpsnoop v1.0.1 // indirect + github.com/flyteorg/flyteidl v1.5.11 // indirect + github.com/flyteorg/flyteplugins v1.1.8 // indirect + github.com/flyteorg/stow v0.3.6 // indirect + github.com/fsnotify/fsnotify v1.5.1 // indirect + github.com/ghodss/yaml v1.0.0 // indirect + github.com/go-gormigrate/gormigrate/v2 v2.0.0 // indirect + github.com/go-logr/logr v1.2.3 // indirect + github.com/go-openapi/jsonpointer v0.19.6 // indirect + github.com/go-openapi/jsonreference v0.20.1 // indirect + github.com/go-openapi/swag v0.22.3 // indirect + github.com/go-redis/redis v6.15.7+incompatible // indirect + github.com/go-test/deep v1.0.7 // indirect + github.com/goccy/go-json v0.4.8 // indirect + github.com/gofrs/uuid v4.2.0+incompatible // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang-jwt/jwt/v4 v4.4.1 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/protobuf v1.5.3 // indirect + github.com/golang/snappy v0.0.3 // indirect + github.com/google/gnostic v0.5.7-v3refs // indirect + github.com/google/go-cmp v0.5.9 // indirect + github.com/google/gofuzz v1.2.0 // indirect + github.com/google/uuid v1.3.0 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect + github.com/googleapis/gax-go/v2 v2.7.1 // indirect + github.com/gorilla/handlers v1.5.1 // indirect + github.com/gorilla/securecookie v1.1.1 // indirect + github.com/gorilla/websocket v1.4.2 // indirect + github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect + github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect + github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect + github.com/gtank/cryptopasta v0.0.0-20170601214702-1f550f6f2f69 // indirect + github.com/hashicorp/go-uuid v1.0.2 // indirect + github.com/hashicorp/golang-lru v0.5.4 // indirect + github.com/hashicorp/hcl v1.0.0 // indirect + github.com/imdario/mergo v0.3.13 // indirect + github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/jackc/chunkreader/v2 v2.0.1 // indirect + github.com/jackc/pgconn v1.13.0 // indirect + github.com/jackc/pgio v1.0.0 // indirect + github.com/jackc/pgpassfile v1.0.0 // indirect + github.com/jackc/pgproto3/v2 v2.3.1 // indirect + github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b // indirect + github.com/jackc/pgtype v1.12.0 // indirect + github.com/jackc/pgx/v4 v4.17.2 // indirect + github.com/jcmturner/gofork v1.0.0 // indirect + github.com/jinzhu/inflection v1.0.0 // indirect + github.com/jinzhu/now v1.1.5 // indirect + github.com/jmespath/go-jmespath v0.4.0 // indirect + github.com/josharian/intern v1.0.0 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/kelseyhightower/envconfig v1.4.0 // indirect + github.com/klauspost/compress v1.9.8 // indirect + github.com/kubeflow/common v0.4.3 // indirect + github.com/kubeflow/training-operator v1.5.0-rc.0 // indirect + github.com/lestrrat-go/backoff/v2 v2.0.7 // indirect + github.com/lestrrat-go/httpcc v1.0.0 // indirect + github.com/lestrrat-go/iter v1.0.1 // indirect + github.com/lestrrat-go/jwx v1.1.6 // indirect + github.com/lestrrat-go/option v1.0.0 // indirect + github.com/magiconair/properties v1.8.6 // indirect + github.com/mailru/easyjson v0.7.7 // indirect + github.com/mattn/go-colorable v0.1.12 // indirect + github.com/mattn/go-isatty v0.0.14 // indirect + github.com/mattn/go-sqlite3 v2.0.3+incompatible // indirect + github.com/mattn/goveralls v0.0.6 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect + github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect + github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/ncw/swift v1.0.53 // indirect + github.com/ory/fosite v0.42.2 // indirect + github.com/ory/go-acc v0.2.6 // indirect + github.com/ory/go-convenience v0.1.0 // indirect + github.com/ory/viper v1.7.5 // indirect + github.com/ory/x v0.0.214 // indirect + github.com/pborman/uuid v1.2.0 // indirect + github.com/pelletier/go-toml v1.9.4 // indirect + github.com/pelletier/go-toml/v2 v2.0.0-beta.8 // indirect + github.com/pierrec/lz4 v2.5.2+incompatible // indirect + github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4 // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/pquerna/cachecontrol v0.0.0-20201205024021-ac21108117ac // indirect + github.com/prometheus/client_golang v1.12.1 // indirect + github.com/prometheus/client_model v0.2.0 // indirect + github.com/prometheus/common v0.32.1 // indirect + github.com/prometheus/procfs v0.7.3 // indirect + github.com/ray-project/kuberay/ray-operator v0.0.0-20220728052838-eaa75fa6707c // indirect + github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect + github.com/redis/go-redis/v9 v9.0.5 // indirect + github.com/robfig/cron/v3 v3.0.0 // indirect + github.com/sendgrid/rest v2.6.8+incompatible // indirect + github.com/sendgrid/sendgrid-go v3.10.0+incompatible // indirect + github.com/sirupsen/logrus v1.8.1 // indirect + github.com/spf13/afero v1.9.2 // indirect + github.com/spf13/cast v1.4.1 // indirect + github.com/spf13/jwalterweatherman v1.1.0 // indirect + github.com/spf13/viper v1.11.0 // indirect + github.com/stretchr/objx v0.5.0 // indirect + github.com/stretchr/testify v1.8.4 // indirect + github.com/subosito/gotenv v1.2.0 // indirect + go.opencensus.io v0.24.0 // indirect + go.uber.org/atomic v1.9.0 // indirect + go.uber.org/multierr v1.8.0 // indirect + go.uber.org/zap v1.21.0 // indirect + golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa // indirect + golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e // indirect + golang.org/x/net v0.9.0 // indirect + golang.org/x/oauth2 v0.7.0 // indirect + golang.org/x/sys v0.7.0 // indirect + golang.org/x/term v0.7.0 // indirect + golang.org/x/text v0.9.0 // indirect + golang.org/x/time v0.3.0 // indirect + golang.org/x/tools v0.6.0 // indirect + golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect + gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect + google.golang.org/api v0.114.0 // indirect + google.golang.org/appengine v1.6.7 // indirect + google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect + google.golang.org/grpc v1.56.1 // indirect + google.golang.org/protobuf v1.30.0 // indirect + gopkg.in/inf.v0 v0.9.1 // indirect + gopkg.in/ini.v1 v1.66.4 // indirect + gopkg.in/jcmturner/aescts.v1 v1.0.1 // indirect + gopkg.in/jcmturner/dnsutils.v1 v1.0.1 // indirect + gopkg.in/jcmturner/gokrb5.v7 v7.5.0 // indirect + gopkg.in/jcmturner/rpc.v1 v1.1.0 // indirect + gopkg.in/square/go-jose.v2 v2.5.2-0.20210529014059-a5c7eec3c614 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect + gorm.io/driver/sqlite v1.1.1 // indirect + gorm.io/gorm v1.24.1-0.20221019064659-5dd2bb482755 // indirect + k8s.io/api v0.24.1 // indirect + k8s.io/apiextensions-apiserver v0.24.1 // indirect + k8s.io/apimachinery v0.24.1 // indirect + k8s.io/component-base v0.24.1 // indirect + k8s.io/klog/v2 v2.90.1 // indirect + k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f // indirect + k8s.io/utils v0.0.0-20230209194617-a36077c30491 // indirect + sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect + sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect + sigs.k8s.io/yaml v1.3.0 // indirect +) + +replace github.com/robfig/cron/v3 => github.com/unionai/cron/v3 v3.0.2-0.20220915080349-5790c370e63a diff --git a/go.sum b/go.sum index edc4408994..da82ba690d 100644 --- a/go.sum +++ b/go.sum @@ -1519,6 +1519,10 @@ github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGr github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/unionai/cron/v3 v3.0.2-0.20220915080349-5790c370e63a h1:pTbOzzOh94yt3WHt7uqZ1m6PUZth++GspSJGK9dEBC4= github.com/unionai/cron/v3 v3.0.2-0.20220915080349-5790c370e63a/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= +github.com/unionai/flyteadmin v1.1.115-0.20230922220028-90b279296f02 h1:UT7+HmFEo5trdkI3R9TWGHhfeCJTICAXiOvcc4ZhYpA= +github.com/unionai/flyteadmin v1.1.115-0.20230922220028-90b279296f02/go.mod h1:DoYsyQ2kEoOEt+xnRC96foR1eTVfKgOy1DRPLkgPh/Y= +github.com/unionai/flyteidl v1.5.14-0.20230916200054-78caf2c2eeb3 h1:GznIW2znW7PeixgNbSJxNIajqB5LlL98uEBOPA99HGI= +github.com/unionai/flyteidl v1.5.14-0.20230916200054-78caf2c2eeb3/go.mod h1:EtE/muM2lHHgBabjYcxqe9TWeJSL0kXwbI0RgVwI4Og= github.com/unrolled/secure v0.0.0-20180918153822-f340ee86eb8b/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= github.com/unrolled/secure v0.0.0-20181005190816-ff9db2ff917f/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= diff --git a/go.sum.main b/go.sum.main new file mode 100644 index 0000000000..fe2fd4cd85 --- /dev/null +++ b/go.sum.main @@ -0,0 +1,2398 @@ +bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.41.0/go.mod h1:OauMR7DV8fzvZIl2qg6rkaIhD/vmgk4iwEw/h6ercmg= +cloud.google.com/go v0.43.0/go.mod h1:BOSR3VbTLkk6FDC/TcffxP4NF/FFBGA5ku+jvKOP7pg= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= +cloud.google.com/go v0.110.0 h1:Zc8gqp3+a9/Eyph2KDmcGaPtbKRIoqq4YTlL4NMD0Ys= +cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/compute v1.19.1 h1:am86mquDUgjGNWxiGn+5PGLbmgiWXlE/yNWpIpNvuXY= +cloud.google.com/go/compute v1.19.1/go.mod h1:6ylj3a05WF8leseCdIf77NK0g1ey+nj5IKd5/kvShxE= +cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= +cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= +cloud.google.com/go/iam v0.13.0 h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k= +cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= +cloud.google.com/go/kms v1.10.1 h1:7hm1bRqGCA1GBRQUrp831TwJ9TWhP+tvLuP497CQS2g= +cloud.google.com/go/logging v1.0.0/go.mod h1:V1cc3ogwobYzQq5f2R7DS/GvRIrI4FKj01Gs5glwAls= +cloud.google.com/go/longrunning v0.4.1 h1:v+yFJOfKC3yZdY6ZUI933pIYdhyhV8S3NpWrXWmg7jM= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/pubsub v1.30.0 h1:vCge8m7aUKBJYOgrZp7EsNDf6QMd2CAlXZqWTn3yq6s= +cloud.google.com/go/pubsub v1.30.0/go.mod h1:qWi1OPS0B+b5L+Sg6Gmc9zD1Y+HaM0MdUr7LsupY1P4= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= +cloud.google.com/go/storage v1.28.1 h1:F5QDG5ChchaAVQhINh24U99OWHURqrW8OmQcGKXcbgI= +cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= +contrib.go.opencensus.io/exporter/stackdriver v0.13.1/go.mod h1:z2tyTZtPmQ2HvWH4cOmVDgtY+1lomfKdbLnkJvZdc8c= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/Azure/azure-sdk-for-go v63.4.0+incompatible h1:fle3M5Q7vr8auaiPffKyUQmLbvYeqpw30bKU6PrWJFo= +github.com/Azure/azure-sdk-for-go v63.4.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go/sdk/azcore v0.23.1 h1:3CVsSo4mp8NDWO11tHzN/mdo2zP0CtaSK5IcwBjfqRA= +github.com/Azure/azure-sdk-for-go/sdk/azcore v0.23.1/go.mod h1:w5pDIZuawUmY3Bj4tVx3Xb8KS96ToB0j315w9rqpAg0= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.14.0 h1:NVS/4LOQfkBpk+B1VopIzv1ptmYeEskA8w/3K/w7vjo= +github.com/Azure/azure-sdk-for-go/sdk/internal v0.9.2 h1:Px2KVERcYEg2Lv25AqC2hVr0xUWaq94wuEObLIkYzmA= +github.com/Azure/azure-sdk-for-go/sdk/internal v0.9.2/go.mod h1:CdSJQNNzZhCkwDaV27XV1w48ZBPtxe7mlrZAsPNxD5g= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.4.0 h1:0nJeKDmB7a1a8RDMjTltahlPsaNlWjq/LpkZleSwINk= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.4.0/go.mod h1:mbwxKc/fW+IkF0GG591MuXw0KuEQBDkeRoZ9vmVJPxg= +github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= +github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= +github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= +github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= +github.com/Azure/go-autorest/autorest v0.11.27 h1:F3R3q42aWytozkV8ihzcgMO4OA4cuqr3bNlsEuF6//A= +github.com/Azure/go-autorest/autorest v0.11.27/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= +github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= +github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= +github.com/Azure/go-autorest/autorest/adal v0.9.18 h1:kLnPsRjzZZUF3K5REu/Kc+qMQrvuza2bwSnNdhmzLfQ= +github.com/Azure/go-autorest/autorest/adal v0.9.18/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= +github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= +github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= +github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= +github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= +github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= +github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/autorest/mocks v0.4.2 h1:PGN4EDXnuQbojHbU0UWoNvmu9AGVwYHG9/fkDYhtAfw= +github.com/Azure/go-autorest/autorest/mocks v0.4.2/go.mod h1:Vy7OitM9Kei0i1Oj+LvyAWMXJHeKH1MVlzFugfVrmyU= +github.com/Azure/go-autorest/autorest/to v0.4.0 h1:oXVqrxakqqV1UZdSazDOPOLvOIz+XA683u8EctwboHk= +github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= +github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg= +github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= +github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= +github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= +github.com/AzureAD/microsoft-authentication-library-for-go v0.4.0 h1:WVsrXCnHlDDX8ls+tootqRE87/hL9S/g4ewig9RsD/c= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= +github.com/DataDog/datadog-go v3.4.1+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/DataDog/datadog-go v4.0.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/DataDog/opencensus-go-exporter-datadog v0.0.0-20191210083620-6965a1cfed68/go.mod h1:gMGUEe16aZh0QN941HgDjwrdjU4iTthPoz2/AtDRADE= +github.com/GoogleCloudPlatform/spark-on-k8s-operator v0.0.0-20200723154620-6f35a1152625 h1:cQyO5JQ2iuHnEcF3v24kdDMsgh04RjyFPDtuvD6PCE0= +github.com/GoogleCloudPlatform/spark-on-k8s-operator v0.0.0-20200723154620-6f35a1152625/go.mod h1:6PnrZv6zUDkrNMw0mIoGRmGBR7i9LulhKPmxFq4rUiM= +github.com/Jeffail/gabs/v2 v2.5.1/go.mod h1:xCn81vdHKxFUuWWAaD5jCTQDNPBMh5pPs9IJ+NcziBI= +github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= +github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= +github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= +github.com/Masterminds/semver/v3 v3.0.3/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= +github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc= +github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= +github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= +github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= +github.com/NYTimes/gizmo v1.3.6 h1:K+GRagPdAxojsT1TlTQlMkTeOmgfLxSdvuOhdki7GG0= +github.com/NYTimes/gizmo v1.3.6/go.mod h1:8S8QVnITA40p/1jGsUMcPI8R9SSKkoKu+8WF13s9Uhw= +github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= +github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= +github.com/NYTimes/logrotate v1.0.0/go.mod h1:GxNz1cSw1c6t99PXoZlw+nm90H6cyQyrH66pjVv7x88= +github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= +github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= +github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/Selvatico/go-mocket v1.0.7 h1:sXuFMnMfVL9b/Os8rGXPgbOFbr4HJm8aHsulD/uMTUk= +github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= +github.com/Shopify/sarama v1.25.0/go.mod h1:y/CFFTO9eaMTNriwu/Q+W4eioLqiDMGkA1W+gmdfj8w= +github.com/Shopify/sarama v1.26.4 h1:+17TxUq/PJEAfZAll0T7XJjSgQWCpaQSoki/x5yN8o8= +github.com/Shopify/sarama v1.26.4/go.mod h1:NbSGBSSndYaIhRcBtY9V0U7AyH+x71bG668AuWys/yU= +github.com/Shopify/toxiproxy v2.1.4+incompatible h1:TKdv8HiTLgE5wdJuEML90aBgNWsokNbMijUGhmcoBJc= +github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= +github.com/adammck/venv v0.0.0-20160819025605-8a9c907a37d3/go.mod h1:3zXR2a/VSQndtpShh783rUTaEA2mpqN2VqZclBARBc0= +github.com/adammck/venv v0.0.0-20200610172036-e77789703e7c h1:RoL0r3mR3JSkLur8q8AD59cByJ+kRwJHODNimZBd7GI= +github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= +github.com/ajg/form v0.0.0-20160822230020-523a5da1a92f/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= +github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= +github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20210826220005-b48c857c3a0e/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= +github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= +github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535 h1:4daAzAu0S6Vi7/lbWECcX0j45yZReDZ56BQsrVBOEEY= +github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= +github.com/aws/amazon-sagemaker-operator-for-k8s v1.0.1-0.20210303003444-0fb33b1fd49d h1:O+ayl/Vp3bDEXReXItmYHzCnsz/LKusXdRNiJKVxjPs= +github.com/aws/amazon-sagemaker-operator-for-k8s v1.0.1-0.20210303003444-0fb33b1fd49d/go.mod h1:mZUP7GJmjiWtf8v3FD1X/QdK08BqyeH/1Ejt0qhNzCs= +github.com/aws/aws-sdk-go v1.23.19/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.23.20/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.31.3/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= +github.com/aws/aws-sdk-go v1.37.3/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= +github.com/aws/aws-sdk-go v1.44.2 h1:5VBk5r06bgxgRKVaUtm1/4NT/rtrnH2E4cnAYv5zgQc= +github.com/aws/aws-sdk-go v1.44.2/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go-v2 v1.0.0/go.mod h1:smfAbmpW+tcRVuNUjo3MOArSZmW72t62rkCzc2i0TWM= +github.com/aws/aws-sdk-go-v2 v1.2.0 h1:BS+UYpbsElC82gB+2E2jiCBg36i8HlubTB/dO/moQ9c= +github.com/aws/aws-sdk-go-v2 v1.2.0/go.mod h1:zEQs02YRBw1DjK0PoJv3ygDYOFTre1ejlJWl8FwAuQo= +github.com/aws/aws-sdk-go-v2/config v1.0.0 h1:x6vSFAwqAvhYPeSu60f0ZUlGHo3PKKmwDOTL8aMXtv4= +github.com/aws/aws-sdk-go-v2/config v1.0.0/go.mod h1:WysE/OpUgE37tjtmtJd8GXgT8s1euilE5XtUkRNUQ1w= +github.com/aws/aws-sdk-go-v2/credentials v1.0.0 h1:0M7netgZ8gCV4v7z1km+Fbl7j6KQYyZL7SS0/l5Jn/4= +github.com/aws/aws-sdk-go-v2/credentials v1.0.0/go.mod h1:/SvsiqBf509hG4Bddigr3NB12MIpfHhZapyBurJe8aY= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.0.0 h1:lO7fH5n7Q1dKcDBpuTmwJylD1bOQiRig8LI6TD9yVQk= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.0.0/go.mod h1:wpMHDCXvOXZxGCRSidyepa8uJHY4vaBGfY2/+oKU/Bc= +github.com/aws/aws-sdk-go-v2/service/athena v1.0.0 h1:UfrZP3NMTTKpOsf/P8uCaOxz3U2CNGEizdQKcObY7Ds= +github.com/aws/aws-sdk-go-v2/service/athena v1.0.0/go.mod h1:qY8QFbemf2ceqweXcS6hQqiiIe1z42WqTvHsK2Lb0rE= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.0.0 h1:IAutMPSrynpvKOpHG6HyWHmh1xmxWAmYOK84NrQVqVQ= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.0.0/go.mod h1:3jExOmpbjgPnz2FJaMOfbSk1heTkZ66aD3yNtVhnjvI= +github.com/aws/aws-sdk-go-v2/service/sts v1.0.0 h1:6XCgxNfE4L/Fnq+InhVNd16DKc6Ue1f3dJl3IwwJRUQ= +github.com/aws/aws-sdk-go-v2/service/sts v1.0.0/go.mod h1:5f+cELGATgill5Pu3/vK3Ebuigstc+qYEHW5MvGWZO4= +github.com/aws/aws-xray-sdk-go v0.9.4/go.mod h1:XtMKdBQfpVut+tJEwI7+dJFRxxRdxHDyVNp2tHXRq04= +github.com/aws/smithy-go v1.0.0/go.mod h1:EzMw8dbp/YJL4A5/sbhGddag+NPT7q084agLbB9LgIw= +github.com/aws/smithy-go v1.1.0 h1:D6CSsM3gdxaGaqXnPgOBCeL6Mophqzu7KJOu7zW78sU= +github.com/aws/smithy-go v1.1.0/go.mod h1:EzMw8dbp/YJL4A5/sbhGddag+NPT7q084agLbB9LgIw= +github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= +github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= +github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/benlaurie/objecthash v0.0.0-20180202135721-d1e3d6079fc1 h1:VRtJdDi2lqc3MFwmouppm2jlm6icF+7H3WYKpLENMTo= +github.com/benlaurie/objecthash v0.0.0-20180202135721-d1e3d6079fc1/go.mod h1:jvdWlw8vowVGnZqSDC7yhPd7AifQeQbRDkZcQXV2nRg= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= +github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= +github.com/bmatcuk/doublestar/v2 v2.0.3/go.mod h1:QMmcs3H2AUQICWhfzLXz+IYln8lRQmTZRptLie8RgRw= +github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= +github.com/bradfitz/gomemcache v0.0.0-20180710155616-bc664df96737/go.mod h1:PmM6Mmwb0LSuEubjR8N7PtNe1KxZLtOUHtbeikc5h60= +github.com/bradfitz/gomemcache v0.0.0-20190913173617-a41fca850d0b h1:L/QXpzIa3pOvUGt1D1lA5KjYhPBAN/3iWdP7xeFS9F0= +github.com/bradfitz/gomemcache v0.0.0-20190913173617-a41fca850d0b/go.mod h1:H0wQNHz2YrLsuXOZozoeDmnHXkNCRmMW0gwFWDfEZDA= +github.com/bsm/ginkgo/v2 v2.7.0 h1:ItPMPH90RbmZJt5GtkcNvIRuGEdwlBItdNVoyzaNQao= +github.com/bsm/gomega v1.26.0 h1:LhQm+AFcgV2M0WyKroMASzAzCAJVpAxQXv4SaI9a69Y= +github.com/cenkalti/backoff v2.1.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= +github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= +github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= +github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= +github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= +github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927 h1:SKI1/fuSdodxmNNyVBR8d7X/HuLnRpvvFO0AgyQk764= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575/go.mod h1:9d6lWj8KzO/fd/NrVaLscBKmPigpZpn5YawRPw+e3Yo= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cloudevents/sdk-go/binding/format/protobuf/v2 v2.8.0 h1:hRguaVL9rVsO8PMOpKSZ5gYZ2kjGRCvuKw4yMlfsBtg= +github.com/cloudevents/sdk-go/protocol/kafka_sarama/v2 v2.8.0 h1:48wFAj3LK/G80FqXgKzyciQF9BU3W+RwucGwWY1Tk0M= +github.com/cloudevents/sdk-go/protocol/kafka_sarama/v2 v2.8.0/go.mod h1:m41mqM/Pa9pzPPNrvWwY3M7llCuzciKk5tqH0m6Rz9I= +github.com/cloudevents/sdk-go/v2 v2.8.0 h1:kmRaLbsafZmidZ0rZ6h7WOMqCkRMcVTLV5lxV/HKQ9Y= +github.com/cloudevents/sdk-go/v2 v2.8.0/go.mod h1:GpCBmUj7DIRiDhVvsK5d6WCbgTWs8DxAWTRtAwQmIXs= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I= +github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= +github.com/cockroachdb/cockroach-go v0.0.0-20181001143604-e0a95dfd547c/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= +github.com/cockroachdb/cockroach-go v0.0.0-20190925194419-606b3d062051/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= +github.com/cockroachdb/cockroach-go v0.0.0-20200312223839-f565e4789405/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= +github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= +github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= +github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= +github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= +github.com/codegangsta/negroni v1.0.0/go.mod h1:v0y3T5G7Y1UlFfyxFn/QLRU4a2EuNau2iZY63YTKWo0= +github.com/containerd/containerd v1.4.3/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/continuity v0.0.0-20181203112020-004b46473808/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20190827140505-75bee3e2ccb6/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20200107194136-26c1120b8d41/go.mod h1:Dq467ZllaHgAtVp4p1xUQWBrFXR9s/wyoTpG8zOJGkY= +github.com/coocood/freecache v1.1.1 h1:uukNF7QKCZEdZ9gAV7WQzvh0SbjwdMF6m3x3rxEkaPc= +github.com/coocood/freecache v1.1.1/go.mod h1:OKrEjkGVoxZhyWAJoeFi5BMLUJm2Tit0kpGkIr7NGYY= +github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= +github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= +github.com/coreos/go-oidc v2.2.1+incompatible h1:mh48q/BqXqgjVHpy2ZY7WnWAbenxRjsz9N1i1YxjHAk= +github.com/coreos/go-oidc v2.2.1+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/cucumber/godog v0.8.1/go.mod h1:vSh3r/lM+psC1BPXvdkSEuNjmXfpVqrMGYAElF6hxnA= +github.com/dask/dask-kubernetes/v2023 v2023.0.0-20230626103304-abd02cd17b26 h1:6RByIva89lKEvwIzNQSUNcu8NG1p1wwwC4mJfVk/kqw= +github.com/dask/dask-kubernetes/v2023 v2023.0.0-20230626103304-abd02cd17b26/go.mod h1:OqIYr2QnxR3sQK2XahJIyWVcjz38LQ4GNcUzqezFpRg= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/decred/dcrd/chaincfg/chainhash v1.0.2/go.mod h1:BpbrGgrPTr3YJYRN3Bm+D9NuaFd+zGyNeIKgrhCXK60= +github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= +github.com/decred/dcrd/dcrec/secp256k1/v3 v3.0.0 h1:sgNeV1VRMDzs6rzyPpxyM0jp317hnwiq58Filgag2xw= +github.com/decred/dcrd/dcrec/secp256k1/v3 v3.0.0/go.mod h1:J70FGZSbzsjecRTiTzER+3f1KZLNaXkuv+yeFTKoxM8= +github.com/denisenkom/go-mssqldb v0.0.0-20200428022330-06a60b6afbbc h1:VRRKCwnzqk8QCaRC4os14xoKDdbHqqlJtJA0oc1ZAjg= +github.com/denisenkom/go-mssqldb v0.0.0-20200428022330-06a60b6afbbc/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= +github.com/dgraph-io/ristretto v0.0.1/go.mod h1:T40EBc7CJke8TkpiYfGGKAeFjSaxuFXhuXRyumBd6RE= +github.com/dgraph-io/ristretto v0.0.2/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= +github.com/dgraph-io/ristretto v0.0.3 h1:jh22xisGBjrEVnRZ1DVTpBVQm0Xndu8sMl0CWDzSIBI= +github.com/dgraph-io/ristretto v0.0.3/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA= +github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/dnaeon/go-vcr v1.1.0 h1:ReYa/UBrRyQdant9B4fNHGoCNKw6qh6P0fsdGmZpR7c= +github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= +github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/docker v0.7.3-0.20190327010347-be7ac8be2ae0/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v17.12.0-ce-rc1.0.20201201034508-7d75c1d40d88+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= +github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= +github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v0.0.0-20180713052910-9f541cc9db5d/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= +github.com/eapache/go-resiliency v1.2.0 h1:v7g92e/KSN71Rq7vSThKaWIq68fL4YHvWyiUKorFR1Q= +github.com/eapache/go-resiliency v1.2.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= +github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 h1:YEetp8/yCZMuEPMUDHG0CW/brkkEp8mzqk2+ODEitlw= +github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= +github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= +github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/elastic/go-sysinfo v1.1.1/go.mod h1:i1ZYdU10oLNfRzq4vq62BEwD2fH8KaWh6eh0ikPT9F0= +github.com/elastic/go-windows v1.0.0/go.mod h1:TsU0Nrp7/y3+VwE82FoZF8gC/XFg/Elz6CcloAxnPgU= +github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/elazarl/goproxy v0.0.0-20181003060214-f58a169a71a5/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= +github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/evanphx/json-patch v0.0.0-20200808040245-162e5629780b/go.mod h1:NAJj0yf/KaRKURN6nyi7A9IZydMivZEm9oQLWNjfKDc= +github.com/evanphx/json-patch v0.5.2/go.mod h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMikGIFbs31qQ= +github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84= +github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/fatih/structs v1.0.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= +github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/flyteorg/datacatalog v1.0.48 h1:KPUV4uUZ0adLL9uvQ+pmGymdzDrwqeYJzpOk+DR+2e4= +github.com/flyteorg/datacatalog v1.0.48/go.mod h1:VhtWkjCBJ9LZpt6uqTyKMYq1IAkW7dUeAdbWN9DI6h0= +github.com/flyteorg/flyteplugins v1.1.8 h1:UVYdqDdcIqz2JIso+m3MsaPSsTZJZyZQ6Eg7nhX9r/Y= +github.com/flyteorg/flyteplugins v1.1.8/go.mod h1:sRxeatEOHq1b9bTxTRNcwoIkVTAVN9dTz8toXkfcz2E= +github.com/flyteorg/flytepropeller v1.1.106 h1:o9wmCcki/YI3vwZ3NjiQApCCMtJo+1hwMHvYuIKe3GI= +github.com/flyteorg/flytepropeller v1.1.106/go.mod h1:quRRoa2lbK/R6/GXt75pGm1NR+Renm2Kov/vMUHQ4dI= +github.com/flyteorg/flytestdlib v1.0.20 h1:BrCQMlpdrFAPlADFJvCyn7gm+37df9WGYqLEB1mOlCQ= +github.com/flyteorg/flytestdlib v1.0.20/go.mod h1:v3ua7HfHDXXTCrAt2yZERGKCuilP5Rh+L8TdAbfVcBg= +github.com/flyteorg/stow v0.3.6 h1:jt50ciM14qhKBaIrB+ppXXY+SXB59FNREFgTJqCyqIk= +github.com/flyteorg/stow v0.3.6/go.mod h1:5dfBitPM004dwaZdoVylVjxFT4GWAgI0ghAndhNUzCo= +github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= +github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= +github.com/frankban/quicktest v1.4.1/go.mod h1:36zfPVQyHxymz4cH7wlDmVwDrJuljRB60qkgn7rorfQ= +github.com/frankban/quicktest v1.7.2/go.mod h1:jaStnuzAqU1AJdCO0l53JDCJrVDKcS03DbaAcR7Ks/o= +github.com/frankban/quicktest v1.10.0 h1:Gfh+GAJZOAoKZsIZeZbdn2JF10kN1XHNvjsvQK8gVkE= +github.com/frankban/quicktest v1.10.0/go.mod h1:ui7WezCLWMWxVWr1GETZY3smRy0G4KWq9vcPtJmFl7Y= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= +github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= +github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= +github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= +github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= +github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= +github.com/go-bindata/go-bindata v3.1.1+incompatible/go.mod h1:xK8Dsgwmeed+BBsSy2XTopBn/8uK2HWuGSnA11C3Joo= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gormigrate/gormigrate/v2 v2.0.0 h1:e2A3Uznk4viUC4UuemuVgsNnvYZyOA8B3awlYk3UioU= +github.com/go-gormigrate/gormigrate/v2 v2.0.0/go.mod h1:YuVJ+D/dNt4HWrThTBnjgZuRbt7AuwINeg4q52ZE3Jw= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= +github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v0.2.1/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= +github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/zapr v0.1.0/go.mod h1:tabnROwaDl0UNxkVeFRbY8bwB37GwRv0P8lg6aAiEnk= +github.com/go-logr/zapr v0.2.0/go.mod h1:qhKdvif7YF5GI9NWEpyxTSSBdGmzkNguibrdCNVPunU= +github.com/go-logr/zapr v1.2.0 h1:n4JnPI1T3Qq1SFEi/F8rwLrZERp2bso19PJZDB9dayk= +github.com/go-logr/zapr v1.2.0/go.mod h1:Qa4Bsj2Vb+FAVeAKsLD8RLQ+YRJB8YDmOAKxaBQf7Ro= +github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI= +github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= +github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= +github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk= +github.com/go-openapi/analysis v0.19.4/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk= +github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU= +github.com/go-openapi/analysis v0.19.10/go.mod h1:qmhS3VNFxBlquFJ0RGoDtylO9y4pgTAUNE9AEEMdlJQ= +github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= +github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= +github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= +github.com/go-openapi/errors v0.19.3/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= +github.com/go-openapi/errors v0.19.6/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/errors v0.20.0/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= +github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= +github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= +github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= +github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= +github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= +github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= +github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= +github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= +github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= +github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= +github.com/go-openapi/jsonreference v0.20.1 h1:FBLnyygC4/IZZr893oiomc9XaghoveYTrLC1F86HID8= +github.com/go-openapi/jsonreference v0.20.1/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= +github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= +github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= +github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= +github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs= +github.com/go-openapi/loads v0.19.3/go.mod h1:YVfqhUCdahYwR3f3iiwQLhicVRvLlU/WO5WPaZvcvSI= +github.com/go-openapi/loads v0.19.4/go.mod h1:zZVHonKd8DXyxyw4yfnVjPzBjIQcLt0CCsn0N0ZrQsk= +github.com/go-openapi/loads v0.19.5/go.mod h1:dswLCAdonkRufe/gSUC3gN8nTSaB9uaS2es0x5/IbjY= +github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA= +github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64= +github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4= +github.com/go-openapi/runtime v0.19.15/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2gUt9nTQPQZuoo= +github.com/go-openapi/runtime v0.19.26/go.mod h1:BvrQtn6iVb2QmiVXRsFAm6ZCAZBpbVKFfN6QWCp582M= +github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= +github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= +github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= +github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY= +github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= +github.com/go-openapi/spec v0.19.6/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= +github.com/go-openapi/spec v0.19.8/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= +github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= +github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= +github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY= +github.com/go-openapi/strfmt v0.19.2/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= +github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= +github.com/go-openapi/strfmt v0.19.4/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= +github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= +github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= +github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= +github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= +github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.7/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= +github.com/go-openapi/swag v0.19.9/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= +github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= +github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= +github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4= +github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA= +github.com/go-openapi/validate v0.19.3/go.mod h1:90Vh6jjkTn+OT1Eefm0ZixWNFjhtOH7vS9k0lo6zwJo= +github.com/go-openapi/validate v0.19.5/go.mod h1:8DJv2CVJQ6kGNpFW6eV9N3JviE1C85nY1c2z52x1Gk4= +github.com/go-openapi/validate v0.19.10/go.mod h1:RKEZTUWDkxKQxN2jDT7ZnZi2bhZlbNMAuKvKB+IaGx8= +github.com/go-redis/redis v6.15.7+incompatible h1:3skhDh95XQMpnqeqNftPkQD9jL9e5e36z/1SUm6dy1U= +github.com/go-redis/redis v6.15.7+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= +github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-test/deep v1.0.7 h1:/VSMRlnY/JSyqxQUzQLKVMAskpY/NZKFA5j2P+0pP2M= +github.com/go-test/deep v1.0.7/go.mod h1:QV8Hv/iy04NyLBxAdO9njL0iVPN1S4d/A3NVv1V36o8= +github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= +github.com/gobuffalo/attrs v0.1.0/go.mod h1:fmNpaWyHM0tRm8gCZWKx8yY9fvaNLo2PyzBNSrBZ5Hw= +github.com/gobuffalo/buffalo v0.12.8-0.20181004233540-fac9bb505aa8/go.mod h1:sLyT7/dceRXJUxSsE813JTQtA3Eb1vjxWfo/N//vXIY= +github.com/gobuffalo/buffalo v0.13.0/go.mod h1:Mjn1Ba9wpIbpbrD+lIDMy99pQ0H0LiddMIIDGse7qT4= +github.com/gobuffalo/buffalo-plugins v1.0.2/go.mod h1:pOp/uF7X3IShFHyobahTkTLZaeUXwb0GrUTb9ngJWTs= +github.com/gobuffalo/buffalo-plugins v1.0.4/go.mod h1:pWS1vjtQ6uD17MVFWf7i3zfThrEKWlI5+PYLw/NaDB4= +github.com/gobuffalo/buffalo-plugins v1.4.3/go.mod h1:uCzTY0woez4nDMdQjkcOYKanngeUVRO2HZi7ezmAjWY= +github.com/gobuffalo/buffalo-plugins v1.5.1/go.mod h1:jbmwSZK5+PiAP9cC09VQOrGMZFCa/P0UMlIS3O12r5w= +github.com/gobuffalo/buffalo-plugins v1.6.4/go.mod h1:/+N1aophkA2jZ1ifB2O3Y9yGwu6gKOVMtUmJnbg+OZI= +github.com/gobuffalo/buffalo-plugins v1.6.5/go.mod h1:0HVkbgrVs/MnPZ/FOseDMVanCTm2RNcdM0PuXcL1NNI= +github.com/gobuffalo/buffalo-plugins v1.6.7/go.mod h1:ZGZRkzz2PiKWHs0z7QsPBOTo2EpcGRArMEym6ghKYgk= +github.com/gobuffalo/buffalo-plugins v1.6.9/go.mod h1:yYlYTrPdMCz+6/+UaXg5Jm4gN3xhsvsQ2ygVatZV5vw= +github.com/gobuffalo/buffalo-plugins v1.6.11/go.mod h1:eAA6xJIL8OuynJZ8amXjRmHND6YiusVAaJdHDN1Lu8Q= +github.com/gobuffalo/buffalo-plugins v1.8.2/go.mod h1:9te6/VjEQ7pKp7lXlDIMqzxgGpjlKoAcAANdCgoR960= +github.com/gobuffalo/buffalo-plugins v1.8.3/go.mod h1:IAWq6vjZJVXebIq2qGTLOdlXzmpyTZ5iJG5b59fza5U= +github.com/gobuffalo/buffalo-plugins v1.9.4/go.mod h1:grCV6DGsQlVzQwk6XdgcL3ZPgLm9BVxlBmXPMF8oBHI= +github.com/gobuffalo/buffalo-plugins v1.10.0/go.mod h1:4osg8d9s60txLuGwXnqH+RCjPHj9K466cDFRl3PErHI= +github.com/gobuffalo/buffalo-plugins v1.11.0/go.mod h1:rtIvAYRjYibgmWhnjKmo7OadtnxuMG5ZQLr25ozAzjg= +github.com/gobuffalo/buffalo-plugins v1.15.0/go.mod h1:BqSx01nwgKUQr/MArXzFkSD0QvdJidiky1OKgyfgrK8= +github.com/gobuffalo/buffalo-pop v1.0.5/go.mod h1:Fw/LfFDnSmB/vvQXPvcXEjzP98Tc+AudyNWUBWKCwQ8= +github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= +github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= +github.com/gobuffalo/envy v1.6.4/go.mod h1:Abh+Jfw475/NWtYMEt+hnJWRiC8INKWibIMyNt1w2Mc= +github.com/gobuffalo/envy v1.6.5/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ= +github.com/gobuffalo/envy v1.6.6/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ= +github.com/gobuffalo/envy v1.6.7/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ= +github.com/gobuffalo/envy v1.6.8/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ= +github.com/gobuffalo/envy v1.6.9/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ= +github.com/gobuffalo/envy v1.6.10/go.mod h1:X0CFllQjTV5ogsnUrg+Oks2yTI+PU2dGYBJOEI2D1Uo= +github.com/gobuffalo/envy v1.6.11/go.mod h1:Fiq52W7nrHGDggFPhn2ZCcHw4u/rqXkqo+i7FB6EAcg= +github.com/gobuffalo/envy v1.6.12/go.mod h1:qJNrJhKkZpEW0glh5xP2syQHH5kgdmgsKss2Kk8PTP0= +github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= +github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= +github.com/gobuffalo/envy v1.7.1/go.mod h1:FurDp9+EDPE4aIUS3ZLyD+7/9fpx7YRt/ukY6jIHf0w= +github.com/gobuffalo/envy v1.8.1/go.mod h1:FurDp9+EDPE4aIUS3ZLyD+7/9fpx7YRt/ukY6jIHf0w= +github.com/gobuffalo/envy v1.9.0/go.mod h1:FurDp9+EDPE4aIUS3ZLyD+7/9fpx7YRt/ukY6jIHf0w= +github.com/gobuffalo/events v1.0.3/go.mod h1:Txo8WmqScapa7zimEQIwgiJBvMECMe9gJjsKNPN3uZw= +github.com/gobuffalo/events v1.0.7/go.mod h1:z8txf6H9jWhQ5Scr7YPLWg/cgXBRj8Q4uYI+rsVCCSQ= +github.com/gobuffalo/events v1.0.8/go.mod h1:A5KyqT1sA+3GJiBE4QKZibse9mtOcI9nw8gGrDdqYGs= +github.com/gobuffalo/events v1.1.3/go.mod h1:9yPGWYv11GENtzrIRApwQRMYSbUgCsZ1w6R503fCfrk= +github.com/gobuffalo/events v1.1.4/go.mod h1:09/YRRgZHEOts5Isov+g9X2xajxdvOAcUuAHIX/O//A= +github.com/gobuffalo/events v1.1.5/go.mod h1:3YUSzgHfYctSjEjLCWbkXP6djH2M+MLaVRzb4ymbAK0= +github.com/gobuffalo/events v1.1.7/go.mod h1:6fGqxH2ing5XMb3EYRq9LEkVlyPGs4oO/eLzh+S8CxY= +github.com/gobuffalo/events v1.1.8/go.mod h1:UFy+W6X6VbCWS8k2iT81HYX65dMtiuVycMy04cplt/8= +github.com/gobuffalo/events v1.1.9/go.mod h1:/0nf8lMtP5TkgNbzYxR6Bl4GzBy5s5TebgNTdRfRbPM= +github.com/gobuffalo/events v1.3.1/go.mod h1:9JOkQVoyRtailYVE/JJ2ZQ/6i4gTjM5t2HsZK4C1cSA= +github.com/gobuffalo/events v1.4.1/go.mod h1:SjXgWKpeSuvQDvGhgMz5IXx3Czu+IbL+XPLR41NvVQY= +github.com/gobuffalo/fizz v1.0.12/go.mod h1:C0sltPxpYK8Ftvf64kbsQa2yiCZY4RZviurNxXdAKwc= +github.com/gobuffalo/fizz v1.9.8/go.mod h1:w1FEn1yKNVCc49KnADGyYGRPH7jFON3ak4Bj1yUudHo= +github.com/gobuffalo/fizz v1.10.0/go.mod h1:J2XGPO0AfJ1zKw7+2BA+6FEGAkyEsdCOLvN93WCT2WI= +github.com/gobuffalo/flect v0.0.0-20180907193754-dc14d8acaf9f/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= +github.com/gobuffalo/flect v0.0.0-20181002182613-4571df4b1daf/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= +github.com/gobuffalo/flect v0.0.0-20181007231023-ae7ed6bfe683/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= +github.com/gobuffalo/flect v0.0.0-20181018182602-fd24a256709f/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= +github.com/gobuffalo/flect v0.0.0-20181019110701-3d6f0b585514/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= +github.com/gobuffalo/flect v0.0.0-20181024204909-8f6be1a8c6c2/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= +github.com/gobuffalo/flect v0.0.0-20181104133451-1f6e9779237a/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= +github.com/gobuffalo/flect v0.0.0-20181114183036-47375f6d8328/go.mod h1:0HvNbHdfh+WOvDSIASqJOSxTOWSxCCUF++k/Y53v9rI= +github.com/gobuffalo/flect v0.0.0-20181210151238-24a2b68e0316/go.mod h1:en58vff74S9b99Eg42Dr+/9yPu437QjlNsO/hBYPuOk= +github.com/gobuffalo/flect v0.0.0-20190104192022-4af577e09bf2/go.mod h1:en58vff74S9b99Eg42Dr+/9yPu437QjlNsO/hBYPuOk= +github.com/gobuffalo/flect v0.0.0-20190117212819-a62e61d96794/go.mod h1:397QT6v05LkZkn07oJXXT6y9FCfwC8Pug0WA2/2mE9k= +github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs= +github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= +github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= +github.com/gobuffalo/flect v0.1.5/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80= +github.com/gobuffalo/flect v0.2.0/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80= +github.com/gobuffalo/flect v0.2.1/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= +github.com/gobuffalo/genny v0.0.0-20180924032338-7af3a40f2252/go.mod h1:tUTQOogrr7tAQnhajMSH6rv1BVev34H2sa1xNHMy94g= +github.com/gobuffalo/genny v0.0.0-20181003150629-3786a0744c5d/go.mod h1:WAd8HmjMVrnkAZbmfgH5dLBUchsZfqzp/WS5sQz+uTM= +github.com/gobuffalo/genny v0.0.0-20181005145118-318a41a134cc/go.mod h1:WAd8HmjMVrnkAZbmfgH5dLBUchsZfqzp/WS5sQz+uTM= +github.com/gobuffalo/genny v0.0.0-20181007153042-b8de7d566757/go.mod h1:+oG5Ljrw04czAHbPXREwaFojJbpUvcIy4DiOnbEJFTA= +github.com/gobuffalo/genny v0.0.0-20181012161047-33e5f43d83a6/go.mod h1:+oG5Ljrw04czAHbPXREwaFojJbpUvcIy4DiOnbEJFTA= +github.com/gobuffalo/genny v0.0.0-20181017160347-90a774534246/go.mod h1:+oG5Ljrw04czAHbPXREwaFojJbpUvcIy4DiOnbEJFTA= +github.com/gobuffalo/genny v0.0.0-20181024195656-51392254bf53/go.mod h1:o9GEH5gn5sCKLVB5rHFC4tq40rQ3VRUzmx6WwmaqISE= +github.com/gobuffalo/genny v0.0.0-20181025145300-af3f81d526b8/go.mod h1:uZ1fFYvdcP8mu0B/Ynarf6dsGvp7QFIpk/QACUuFUVI= +github.com/gobuffalo/genny v0.0.0-20181027191429-94d6cfb5c7fc/go.mod h1:x7SkrQQBx204Y+O9EwRXeszLJDTaWN0GnEasxgLrQTA= +github.com/gobuffalo/genny v0.0.0-20181027195209-3887b7171c4f/go.mod h1:JbKx8HSWICu5zyqWOa0dVV1pbbXOHusrSzQUprW6g+w= +github.com/gobuffalo/genny v0.0.0-20181106193839-7dcb0924caf1/go.mod h1:x61yHxvbDCgQ/7cOAbJCacZQuHgB0KMSzoYcw5debjU= +github.com/gobuffalo/genny v0.0.0-20181107223128-f18346459dbe/go.mod h1:utQD3aKKEsdb03oR+Vi/6ztQb1j7pO10N3OBoowRcSU= +github.com/gobuffalo/genny v0.0.0-20181114215459-0a4decd77f5d/go.mod h1:kN2KZ8VgXF9VIIOj/GM0Eo7YK+un4Q3tTreKOf0q1ng= +github.com/gobuffalo/genny v0.0.0-20181119162812-e8ff4adce8bb/go.mod h1:BA9htSe4bZwBDJLe8CUkoqkypq3hn3+CkoHqVOW718E= +github.com/gobuffalo/genny v0.0.0-20181127225641-2d959acc795b/go.mod h1:l54xLXNkteX/PdZ+HlgPk1qtcrgeOr3XUBBPDbH+7CQ= +github.com/gobuffalo/genny v0.0.0-20181128191930-77e34f71ba2a/go.mod h1:FW/D9p7cEEOqxYA71/hnrkOWm62JZ5ZNxcNIVJEaWBU= +github.com/gobuffalo/genny v0.0.0-20181203165245-fda8bcce96b1/go.mod h1:wpNSANu9UErftfiaAlz1pDZclrYzLtO5lALifODyjuM= +github.com/gobuffalo/genny v0.0.0-20181203201232-849d2c9534ea/go.mod h1:wpNSANu9UErftfiaAlz1pDZclrYzLtO5lALifODyjuM= +github.com/gobuffalo/genny v0.0.0-20181206121324-d6fb8a0dbe36/go.mod h1:wpNSANu9UErftfiaAlz1pDZclrYzLtO5lALifODyjuM= +github.com/gobuffalo/genny v0.0.0-20181207164119-84844398a37d/go.mod h1:y0ysCHGGQf2T3vOhCrGHheYN54Y/REj0ayd0Suf4C/8= +github.com/gobuffalo/genny v0.0.0-20181211165820-e26c8466f14d/go.mod h1:sHnK+ZSU4e2feXP3PA29ouij6PUEiN+RCwECjCTB3yM= +github.com/gobuffalo/genny v0.0.0-20190104222617-a71664fc38e7/go.mod h1:QPsQ1FnhEsiU8f+O0qKWXz2RE4TiDqLVChWkBuh1WaY= +github.com/gobuffalo/genny v0.0.0-20190112155932-f31a84fcacf5/go.mod h1:CIaHCrSIuJ4il6ka3Hub4DR4adDrGoXGEEt2FbBxoIo= +github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= +github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= +github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= +github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= +github.com/gobuffalo/genny v0.2.0/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= +github.com/gobuffalo/genny v0.3.0/go.mod h1:ywJ2CoXrTZj7rbS8HTbzv7uybnLKlsNSBhEQ+yFI3E8= +github.com/gobuffalo/genny v0.6.0/go.mod h1:Vigx9VDiNscYpa/LwrURqGXLSIbzTfapt9+K6gF1kTA= +github.com/gobuffalo/genny/v2 v2.0.5/go.mod h1:kRkJuAw9mdI37AiEYjV4Dl+TgkBDYf8HZVjLkqe5eBg= +github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= +github.com/gobuffalo/github_flavored_markdown v1.0.4/go.mod h1:uRowCdK+q8d/RF0Kt3/DSalaIXbb0De/dmTqMQdkQ4I= +github.com/gobuffalo/github_flavored_markdown v1.0.5/go.mod h1:U0643QShPF+OF2tJvYNiYDLDGDuQmJZXsf/bHOJPsMY= +github.com/gobuffalo/github_flavored_markdown v1.0.7/go.mod h1:w93Pd9Lz6LvyQXEG6DktTPHkOtCbr+arAD5mkwMzXLI= +github.com/gobuffalo/github_flavored_markdown v1.1.0/go.mod h1:TSpTKWcRTI0+v7W3x8dkSKMLJSUpuVitlptCkpeY8ic= +github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= +github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= +github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= +github.com/gobuffalo/gogen v0.2.0/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= +github.com/gobuffalo/helpers v0.2.2/go.mod h1:xYbzUdCUpVzLwLnqV8HIjT6hmG0Cs7YIBCJkNM597jw= +github.com/gobuffalo/helpers v0.2.4/go.mod h1:NX7v27yxPDOPTgUFYmJ5ow37EbxdoLraucOGvMNawyk= +github.com/gobuffalo/helpers v0.5.0/go.mod h1:stpgxJ2C7T99NLyAxGUnYMM2zAtBk5NKQR0SIbd05j4= +github.com/gobuffalo/helpers v0.6.0/go.mod h1:pncVrer7x/KRvnL5aJABLAuT/RhKRR9klL6dkUOhyv8= +github.com/gobuffalo/helpers v0.6.1/go.mod h1:wInbDi0vTJKZBviURTLRMFLE4+nF2uRuuL2fnlYo7w4= +github.com/gobuffalo/here v0.6.0/go.mod h1:wAG085dHOYqUpf+Ap+WOdrPTp5IYcDAs/x7PLa8Y5fM= +github.com/gobuffalo/httptest v1.0.2/go.mod h1:7T1IbSrg60ankme0aDLVnEY0h056g9M1/ZvpVThtB7E= +github.com/gobuffalo/licenser v0.0.0-20180924033006-eae28e638a42/go.mod h1:Ubo90Np8gpsSZqNScZZkVXXAo5DGhTb+WYFIjlnog8w= +github.com/gobuffalo/licenser v0.0.0-20181025145548-437d89de4f75/go.mod h1:x3lEpYxkRG/XtGCUNkio+6RZ/dlOvLzTI9M1auIwFcw= +github.com/gobuffalo/licenser v0.0.0-20181027200154-58051a75da95/go.mod h1:BzhaaxGd1tq1+OLKObzgdCV9kqVhbTulxOpYbvMQWS0= +github.com/gobuffalo/licenser v0.0.0-20181109171355-91a2a7aac9a7/go.mod h1:m+Ygox92pi9bdg+gVaycvqE8RVSjZp7mWw75+K5NPHk= +github.com/gobuffalo/licenser v0.0.0-20181128165715-cc7305f8abed/go.mod h1:oU9F9UCE+AzI/MueCKZamsezGOOHfSirltllOVeRTAE= +github.com/gobuffalo/licenser v0.0.0-20181203160806-fe900bbede07/go.mod h1:ph6VDNvOzt1CdfaWC+9XwcBnlSTBz2j49PBwum6RFaU= +github.com/gobuffalo/licenser v0.0.0-20181211173111-f8a311c51159/go.mod h1:ve/Ue99DRuvnTaLq2zKa6F4KtHiYf7W046tDjuGYPfM= +github.com/gobuffalo/licenser v1.1.0/go.mod h1:ZVWE6uKUE3rGf7sedUHWVjNWrEgxaUQLVFL+pQiWpfY= +github.com/gobuffalo/logger v0.0.0-20181022175615-46cfb361fc27/go.mod h1:8sQkgyhWipz1mIctHF4jTxmJh1Vxhp7mP8IqbljgJZo= +github.com/gobuffalo/logger v0.0.0-20181027144941-73d08d2bb969/go.mod h1:7uGg2duHKpWnN4+YmyKBdLXfhopkAdVM6H3nKbyFbz8= +github.com/gobuffalo/logger v0.0.0-20181027193913-9cf4dd0efe46/go.mod h1:7uGg2duHKpWnN4+YmyKBdLXfhopkAdVM6H3nKbyFbz8= +github.com/gobuffalo/logger v0.0.0-20181109185836-3feeab578c17/go.mod h1:oNErH0xLe+utO+OW8ptXMSA5DkiSEDW1u3zGIt8F9Ew= +github.com/gobuffalo/logger v0.0.0-20181117211126-8e9b89b7c264/go.mod h1:5etB91IE0uBlw9k756fVKZJdS+7M7ejVhmpXXiSFj0I= +github.com/gobuffalo/logger v0.0.0-20181127160119-5b956e21995c/go.mod h1:+HxKANrR9VGw9yN3aOAppJKvhO05ctDi63w4mDnKv2U= +github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= +github.com/gobuffalo/logger v1.0.0/go.mod h1:2zbswyIUa45I+c+FLXuWl9zSWEiVuthsk8ze5s8JvPs= +github.com/gobuffalo/logger v1.0.1/go.mod h1:2zbswyIUa45I+c+FLXuWl9zSWEiVuthsk8ze5s8JvPs= +github.com/gobuffalo/logger v1.0.3/go.mod h1:SoeejUwldiS7ZsyCBphOGURmWdwUFXs0J7TCjEhjKxM= +github.com/gobuffalo/makr v1.1.5/go.mod h1:Y+o0btAH1kYAMDJW/TX3+oAXEu0bmSLLoC9mIFxtzOw= +github.com/gobuffalo/mapi v1.0.0/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= +github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= +github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= +github.com/gobuffalo/mapi v1.1.0/go.mod h1:pqQ1XAqvpy/JYtRwoieNps2yU8MFiMxBUpAm2FBtQ50= +github.com/gobuffalo/mapi v1.2.1/go.mod h1:giGJ2AUESRepOFYAzWpq8Gf/s/QDryxoEHisQtFN3cY= +github.com/gobuffalo/meta v0.0.0-20181018155829-df62557efcd3/go.mod h1:XTTOhwMNryif3x9LkTTBO/Llrveezd71u3quLd0u7CM= +github.com/gobuffalo/meta v0.0.0-20181018192820-8c6cef77dab3/go.mod h1:E94EPzx9NERGCY69UWlcj6Hipf2uK/vnfrF4QD0plVE= +github.com/gobuffalo/meta v0.0.0-20181025145500-3a985a084b0a/go.mod h1:YDAKBud2FP7NZdruCSlmTmDOZbVSa6bpK7LJ/A/nlKg= +github.com/gobuffalo/meta v0.0.0-20181114191255-b130ebedd2f7/go.mod h1:K6cRZ29ozr4Btvsqkjvg5nDFTLOgTqf03KA70Ks0ypE= +github.com/gobuffalo/meta v0.0.0-20181127070345-0d7e59dd540b/go.mod h1:RLO7tMvE0IAKAM8wny1aN12pvEKn7EtkBLkUZR00Qf8= +github.com/gobuffalo/meta v0.0.0-20190120163247-50bbb1fa260d/go.mod h1:KKsH44nIK2gA8p0PJmRT9GvWJUdphkDUA8AJEvFWiqM= +github.com/gobuffalo/meta v0.0.0-20190329152330-e161e8a93e3b/go.mod h1:mCRSy5F47tjK8yaIDcJad4oe9fXxY5gLrx3Xx2spK+0= +github.com/gobuffalo/meta v0.3.0/go.mod h1:cpr6mrUX5H/B4wEP86Gdq568TK4+dKUD8oRPl698RUw= +github.com/gobuffalo/mw-basicauth v1.0.3/go.mod h1:dg7+ilMZOKnQFHDefUzUHufNyTswVUviCBgF244C1+0= +github.com/gobuffalo/mw-contenttype v0.0.0-20180802152300-74f5a47f4d56/go.mod h1:7EvcmzBbeCvFtQm5GqF9ys6QnCxz2UM1x0moiWLq1No= +github.com/gobuffalo/mw-csrf v0.0.0-20180802151833-446ff26e108b/go.mod h1:sbGtb8DmDZuDUQoxjr8hG1ZbLtZboD9xsn6p77ppcHo= +github.com/gobuffalo/mw-forcessl v0.0.0-20180802152810-73921ae7a130/go.mod h1:JvNHRj7bYNAMUr/5XMkZaDcw3jZhUZpsmzhd//FFWmQ= +github.com/gobuffalo/mw-i18n v0.0.0-20180802152014-e3060b7e13d6/go.mod h1:91AQfukc52A6hdfIfkxzyr+kpVYDodgAeT5cjX1UIj4= +github.com/gobuffalo/mw-paramlogger v0.0.0-20181005191442-d6ee392ec72e/go.mod h1:6OJr6VwSzgJMqWMj7TYmRUqzNe2LXu/W1rRW4MAz/ME= +github.com/gobuffalo/mw-tokenauth v0.0.0-20181001105134-8545f626c189/go.mod h1:UqBF00IfKvd39ni5+yI5MLMjAf4gX7cDKN/26zDOD6c= +github.com/gobuffalo/nulls v0.2.0/go.mod h1:w4q8RoSCEt87Q0K0sRIZWYeIxkxog5mh3eN3C/n+dUc= +github.com/gobuffalo/nulls v0.3.0/go.mod h1:UP49vd/k+bcaz6m0cHMyuk8oQ7XgLnkfxeiVoPAvBSs= +github.com/gobuffalo/packd v0.0.0-20181027182251-01ad393492c8/go.mod h1:SmdBdhj6uhOsg1Ui4SFAyrhuc7U4VCildosO5IDJ3lc= +github.com/gobuffalo/packd v0.0.0-20181027190505-aafc0d02c411/go.mod h1:SmdBdhj6uhOsg1Ui4SFAyrhuc7U4VCildosO5IDJ3lc= +github.com/gobuffalo/packd v0.0.0-20181027194105-7ae579e6d213/go.mod h1:SmdBdhj6uhOsg1Ui4SFAyrhuc7U4VCildosO5IDJ3lc= +github.com/gobuffalo/packd v0.0.0-20181031195726-c82734870264/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI= +github.com/gobuffalo/packd v0.0.0-20181104210303-d376b15f8e96/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI= +github.com/gobuffalo/packd v0.0.0-20181111195323-b2e760a5f0ff/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI= +github.com/gobuffalo/packd v0.0.0-20181114190715-f25c5d2471d7/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI= +github.com/gobuffalo/packd v0.0.0-20181124090624-311c6248e5fb/go.mod h1:Foenia9ZvITEvG05ab6XpiD5EfBHPL8A6hush8SJ0o8= +github.com/gobuffalo/packd v0.0.0-20181207120301-c49825f8f6f4/go.mod h1:LYc0TGKFBBFTRC9dg2pcRcMqGCTMD7T2BIMP7OBuQAA= +github.com/gobuffalo/packd v0.0.0-20181212173646-eca3b8fd6687/go.mod h1:LYc0TGKFBBFTRC9dg2pcRcMqGCTMD7T2BIMP7OBuQAA= +github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= +github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= +github.com/gobuffalo/packd v0.2.0/go.mod h1:k2CkHP3bjbqL2GwxwhxUy1DgnlbW644hkLC9iIUvZwY= +github.com/gobuffalo/packd v0.3.0/go.mod h1:zC7QkmNkYVGKPw4tHpBQ+ml7W/3tIebgeo1b36chA3Q= +github.com/gobuffalo/packd v1.0.0/go.mod h1:6VTc4htmJRFB7u1m/4LeMTWjFoYrUiBkU9Fdec9hrhI= +github.com/gobuffalo/packr v1.13.7/go.mod h1:KkinLIn/n6+3tVXMwg6KkNvWwVsrRAz4ph+jgpk3Z24= +github.com/gobuffalo/packr v1.15.0/go.mod h1:t5gXzEhIviQwVlNx/+3SfS07GS+cZ2hn76WLzPp6MGI= +github.com/gobuffalo/packr v1.15.1/go.mod h1:IeqicJ7jm8182yrVmNbM6PR4g79SjN9tZLH8KduZZwE= +github.com/gobuffalo/packr v1.19.0/go.mod h1:MstrNkfCQhd5o+Ct4IJ0skWlxN8emOq8DsoT1G98VIU= +github.com/gobuffalo/packr v1.20.0/go.mod h1:JDytk1t2gP+my1ig7iI4NcVaXr886+N0ecUga6884zw= +github.com/gobuffalo/packr v1.21.0/go.mod h1:H00jGfj1qFKxscFJSw8wcL4hpQtPe1PfU2wa6sg/SR0= +github.com/gobuffalo/packr v1.22.0/go.mod h1:Qr3Wtxr3+HuQEwWqlLnNW4t1oTvK+7Gc/Rnoi/lDFvA= +github.com/gobuffalo/packr/v2 v2.0.0-rc.8/go.mod h1:y60QCdzwuMwO2R49fdQhsjCPv7tLQFR0ayzxxla9zes= +github.com/gobuffalo/packr/v2 v2.0.0-rc.9/go.mod h1:fQqADRfZpEsgkc7c/K7aMew3n4aF1Kji7+lIZeR98Fc= +github.com/gobuffalo/packr/v2 v2.0.0-rc.10/go.mod h1:4CWWn4I5T3v4c1OsJ55HbHlUEKNWMITG5iIkdr4Px4w= +github.com/gobuffalo/packr/v2 v2.0.0-rc.11/go.mod h1:JoieH/3h3U4UmatmV93QmqyPUdf4wVM9HELaHEu+3fk= +github.com/gobuffalo/packr/v2 v2.0.0-rc.12/go.mod h1:FV1zZTsVFi1DSCboO36Xgs4pzCZBjB/tDV9Cz/lSaR8= +github.com/gobuffalo/packr/v2 v2.0.0-rc.13/go.mod h1:2Mp7GhBFMdJlOK8vGfl7SYtfMP3+5roE39ejlfjw0rA= +github.com/gobuffalo/packr/v2 v2.0.0-rc.14/go.mod h1:06otbrNvDKO1eNQ3b8hst+1010UooI2MFg+B2Ze4MV8= +github.com/gobuffalo/packr/v2 v2.0.0-rc.15/go.mod h1:IMe7H2nJvcKXSF90y4X1rjYIRlNMJYCxEhssBXNZwWs= +github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= +github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= +github.com/gobuffalo/packr/v2 v2.4.0/go.mod h1:ra341gygw9/61nSjAbfwcwh8IrYL4WmR4IsPkPBhQiY= +github.com/gobuffalo/packr/v2 v2.5.2/go.mod h1:sgEE1xNZ6G0FNN5xn9pevVu4nywaxHvgup67xisti08= +github.com/gobuffalo/packr/v2 v2.7.1/go.mod h1:qYEvAazPaVxy7Y7KR0W8qYEE+RymX74kETFqjFoFlOc= +github.com/gobuffalo/packr/v2 v2.8.0/go.mod h1:PDk2k3vGevNE3SwVyVRgQCCXETC9SaONCNSXT1Q8M1g= +github.com/gobuffalo/plush v3.7.16+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= +github.com/gobuffalo/plush v3.7.20+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= +github.com/gobuffalo/plush v3.7.21+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= +github.com/gobuffalo/plush v3.7.22+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= +github.com/gobuffalo/plush v3.7.23+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= +github.com/gobuffalo/plush v3.7.30+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= +github.com/gobuffalo/plush v3.7.31+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= +github.com/gobuffalo/plush v3.7.32+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= +github.com/gobuffalo/plush v3.8.2+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= +github.com/gobuffalo/plush v3.8.3+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= +github.com/gobuffalo/plush/v4 v4.0.0/go.mod h1:ErFS3UxKqEb8fpFJT7lYErfN/Nw6vHGiDMTjxpk5bQ0= +github.com/gobuffalo/plushgen v0.0.0-20181128164830-d29dcb966cb2/go.mod h1:r9QwptTFnuvSaSRjpSp4S2/4e2D3tJhARYbvEBcKSb4= +github.com/gobuffalo/plushgen v0.0.0-20181203163832-9fc4964505c2/go.mod h1:opEdT33AA2HdrIwK1aibqnTJDVVKXC02Bar/GT1YRVs= +github.com/gobuffalo/plushgen v0.0.0-20181207152837-eedb135bd51b/go.mod h1:Lcw7HQbEVm09sAQrCLzIxuhFbB3nAgp4c55E+UlynR0= +github.com/gobuffalo/plushgen v0.0.0-20190104222512-177cd2b872b3/go.mod h1:tYxCozi8X62bpZyKXYHw1ncx2ZtT2nFvG42kuLwYjoc= +github.com/gobuffalo/plushgen v0.1.2/go.mod h1:3U71v6HWZpVER1nInTXeAwdoRNsRd4W8aeIa1Lyp+Bk= +github.com/gobuffalo/pop v4.8.2+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= +github.com/gobuffalo/pop v4.8.3+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= +github.com/gobuffalo/pop v4.8.4+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= +github.com/gobuffalo/pop v4.13.1+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= +github.com/gobuffalo/pop/v5 v5.0.11/go.mod h1:mZJHJbA3cy2V18abXYuVop2ldEJ8UZ2DK6qOekC5u5g= +github.com/gobuffalo/pop/v5 v5.3.1/go.mod h1:vcEDhh6cJ3WVENqJDFt/6z7zNb7lLnlN8vj3n5G9rYA= +github.com/gobuffalo/release v1.0.35/go.mod h1:VtHFAKs61vO3wboCec5xr9JPTjYyWYcvaM3lclkc4x4= +github.com/gobuffalo/release v1.0.38/go.mod h1:VtHFAKs61vO3wboCec5xr9JPTjYyWYcvaM3lclkc4x4= +github.com/gobuffalo/release v1.0.42/go.mod h1:RPs7EtafH4oylgetOJpGP0yCZZUiO4vqHfTHJjSdpug= +github.com/gobuffalo/release v1.0.52/go.mod h1:RPs7EtafH4oylgetOJpGP0yCZZUiO4vqHfTHJjSdpug= +github.com/gobuffalo/release v1.0.53/go.mod h1:FdF257nd8rqhNaqtDWFGhxdJ/Ig4J7VcS3KL7n/a+aA= +github.com/gobuffalo/release v1.0.54/go.mod h1:Pe5/RxRa/BE8whDpGfRqSI7D1a0evGK1T4JDm339tJc= +github.com/gobuffalo/release v1.0.61/go.mod h1:mfIO38ujUNVDlBziIYqXquYfBF+8FDHUjKZgYC1Hj24= +github.com/gobuffalo/release v1.0.72/go.mod h1:NP5NXgg/IX3M5XmHmWR99D687/3Dt9qZtTK/Lbwc1hU= +github.com/gobuffalo/release v1.1.1/go.mod h1:Sluak1Xd6kcp6snkluR1jeXAogdJZpFFRzTYRs/2uwg= +github.com/gobuffalo/release v1.1.3/go.mod h1:CuXc5/m+4zuq8idoDt1l4va0AXAn/OSs08uHOfMVr8E= +github.com/gobuffalo/release v1.1.6/go.mod h1:18naWa3kBsqO0cItXZNJuefCKOENpbbUIqRL1g+p6z0= +github.com/gobuffalo/release v1.7.0/go.mod h1:xH2NjAueVSY89XgC4qx24ojEQ4zQ9XCGVs5eXwJTkEs= +github.com/gobuffalo/shoulders v1.0.1/go.mod h1:V33CcVmaQ4gRUmHKwq1fiTXuf8Gp/qjQBUL5tHPmvbA= +github.com/gobuffalo/shoulders v1.0.4/go.mod h1:LqMcHhKRuBPMAYElqOe3POHiZ1x7Ry0BE8ZZ84Bx+k4= +github.com/gobuffalo/syncx v0.0.0-20181120191700-98333ab04150/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= +github.com/gobuffalo/syncx v0.0.0-20181120194010-558ac7de985f/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= +github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= +github.com/gobuffalo/syncx v0.1.0/go.mod h1:Mg/s+5pv7IgxEp6sA+NFpqS4o2x+R9dQNwbwT0iuOGQ= +github.com/gobuffalo/tags v2.0.11+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY= +github.com/gobuffalo/tags v2.0.14+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY= +github.com/gobuffalo/tags v2.0.15+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY= +github.com/gobuffalo/tags v2.1.0+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY= +github.com/gobuffalo/tags v2.1.7+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY= +github.com/gobuffalo/tags/v3 v3.0.2/go.mod h1:ZQeN6TCTiwAFnS0dNcbDtSgZDwNKSpqajvVtt6mlYpA= +github.com/gobuffalo/tags/v3 v3.1.0/go.mod h1:ZQeN6TCTiwAFnS0dNcbDtSgZDwNKSpqajvVtt6mlYpA= +github.com/gobuffalo/uuid v2.0.3+incompatible/go.mod h1:ErhIzkRhm0FtRuiE/PeORqcw4cVi1RtSpnwYrxuvkfE= +github.com/gobuffalo/uuid v2.0.4+incompatible/go.mod h1:ErhIzkRhm0FtRuiE/PeORqcw4cVi1RtSpnwYrxuvkfE= +github.com/gobuffalo/uuid v2.0.5+incompatible/go.mod h1:ErhIzkRhm0FtRuiE/PeORqcw4cVi1RtSpnwYrxuvkfE= +github.com/gobuffalo/validate v2.0.3+incompatible/go.mod h1:N+EtDe0J8252BgfzQUChBgfd6L93m9weay53EWFVsMM= +github.com/gobuffalo/validate v2.0.4+incompatible/go.mod h1:N+EtDe0J8252BgfzQUChBgfd6L93m9weay53EWFVsMM= +github.com/gobuffalo/validate/v3 v3.0.0/go.mod h1:HFpjq+AIiA2RHoQnQVTFKF/ZpUPXwyw82LgyDPxQ9r0= +github.com/gobuffalo/validate/v3 v3.1.0/go.mod h1:HFpjq+AIiA2RHoQnQVTFKF/ZpUPXwyw82LgyDPxQ9r0= +github.com/gobuffalo/validate/v3 v3.2.0/go.mod h1:PrhDOdDHxtN8KUgMvF3TDL0r1YZXV4sQnyFX/EmeETY= +github.com/gobuffalo/x v0.0.0-20181003152136-452098b06085/go.mod h1:WevpGD+5YOreDJznWevcn8NTmQEW5STSBgIkpkjzqXc= +github.com/gobuffalo/x v0.0.0-20181007152206-913e47c59ca7/go.mod h1:9rDPXaB3kXdKWzMc4odGQQdG2e2DIEmANy5aSJ9yesY= +github.com/goccy/go-json v0.4.8 h1:TfwOxfSp8hXH+ivoOk36RyDNmXATUETRdaNWDaZglf8= +github.com/goccy/go-json v0.4.8/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gofrs/uuid v3.1.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gofrs/uuid v4.2.0+incompatible h1:yyYWMnhkhrKwwr8gAOcOCYxOOscHgDS9yZgBrnJfGa0= +github.com/gofrs/uuid v4.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gofrs/uuid/v3 v3.1.2/go.mod h1:xPwMqoocQ1L5G6pXX5BcE7N5jlzn2o19oqAKxwZW/kI= +github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang-jwt/jwt v3.2.1+incompatible h1:73Z+4BJcrTC+KczS6WvTPvRGOp1WmfEP4Q1lOd9Z/+c= +github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang-jwt/jwt/v4 v4.4.1 h1:pC5DB52sCeK48Wlb9oPcdhnjkz1TKt1D/P7WKJ0kUcQ= +github.com/golang-jwt/jwt/v4 v4.4.1/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= +github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= +github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= +github.com/golang/gddo v0.0.0-20180828051604-96d2a289f41e/go.mod h1:xEhNfoBDX1hzLm2Nf80qUvZ2sVwoMZ8d6IE2SrsQfh4= +github.com/golang/gddo v0.0.0-20190904175337-72a348e765d2/go.mod h1:xEhNfoBDX1hzLm2Nf80qUvZ2sVwoMZ8d6IE2SrsQfh4= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= +github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= +github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= +github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= +github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA= +github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= +github.com/google/cel-go v0.10.1/go.mod h1:U7ayypeSkw23szu4GaQTPJGx66c20mx8JklMSxrmI1w= +github.com/google/cel-spec v0.6.0/go.mod h1:Nwjgxy5CbjlPrtCWjeDjUyKMl8w41YBYGjsyDdqk0xA= +github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54= +github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-jsonnet v0.16.0/go.mod h1:sOcuej3UW1vpPTZOr8L7RQimqai1a57bt5j22LzGZCw= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/enterprise-certificate-proxy v0.2.3 h1:yk9/cqRKtT9wXZSsRH9aurXEpJX+U6FLtpYTdC3R06k= +github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gax-go/v2 v2.7.1 h1:gF4c0zjUP2H/s/hEGyLA3I0fA2ZWjzYiONAD6cvPr8A= +github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= +github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= +github.com/googleapis/gnostic v0.1.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= +github.com/googleapis/gnostic v0.3.1/go.mod h1:on+2t9HRStVgn95RSsFWFz+6Q0Snyqv1awfrALZdbtU= +github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= +github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8= +github.com/gopherjs/gopherjs v0.0.0-20181004151105-1babbf986f6f/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= +github.com/gorilla/handlers v1.4.2/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= +github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= +github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= +github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.0/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/pat v0.0.0-20180118222023-199c85a7f6d1/go.mod h1:YeAe0gNeiNT5hoiZRI4yiOky6jVdNvfO2N6Kav/HmxY= +github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ= +github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= +github.com/gorilla/sessions v1.1.2/go.mod h1:8KCfur6+4Mqcc6S0FEfKuN15Vl5MgXW92AE8ovaJD0w= +github.com/gorilla/sessions v1.1.3/go.mod h1:8KCfur6+4Mqcc6S0FEfKuN15Vl5MgXW92AE8ovaJD0w= +github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gotestyourself/gotestyourself v1.3.0/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= +github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.2.0/go.mod h1:mJzapYve32yjrKlk9GbyCZHuPgZsrbyIbyKhSzOpg6s= +github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= +github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/gtank/cryptopasta v0.0.0-20170601214702-1f550f6f2f69 h1:7xsUJsB2NrdcttQPa7JLEaGzvdbk7KvfrjgHZXOQRo0= +github.com/gtank/cryptopasta v0.0.0-20170601214702-1f550f6f2f69/go.mod h1:YLEMZOtU+AZ7dhN9T/IpGhXVGly2bvkJQ+zxj3WeVQo= +github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= +github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-retryablehttp v0.6.8/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= +github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.9/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= +github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= +github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/inhies/go-bytesize v0.0.0-20201103132853-d0aed0d254f8/go.mod h1:KrtyD5PFj++GKkFS/7/RRrfnRhAMGQwy75GLCHWrCNs= +github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= +github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= +github.com/jackc/chunkreader/v2 v2.0.1 h1:i+RDz65UE+mmpjTfyz0MoVTnzeYxroil2G82ki7MGG8= +github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= +github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod h1:WrMFNQdiFJ80sQsxDoMokWK1W5TQtxBFNpzWTD84ibQ= +github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA= +github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE= +github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s= +github.com/jackc/pgconn v1.3.2/go.mod h1:LvCquS3HbBKwgl7KbX9KyqEIumJAbm1UMcTvGaIf3bM= +github.com/jackc/pgconn v1.4.0/go.mod h1:Y2O3ZDF0q4mMacyWV3AstPJpeHXWGEetiFttmq5lahk= +github.com/jackc/pgconn v1.5.0/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI= +github.com/jackc/pgconn v1.5.1-0.20200601181101-fa742c524853/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI= +github.com/jackc/pgconn v1.6.0/go.mod h1:yeseQo4xhQbgyJs2c87RAXOH2i624N0Fh1KSPJya7qo= +github.com/jackc/pgconn v1.6.4/go.mod h1:w2pne1C2tZgP+TvjqLpOigGzNqjBgQW9dUw/4Chex78= +github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o= +github.com/jackc/pgconn v1.9.0/go.mod h1:YctiPyvzfU11JFxoXokUOOKQXQmDMoJL9vJzHH8/2JY= +github.com/jackc/pgconn v1.9.1-0.20210724152538-d89c8390a530/go.mod h1:4z2w8XhRbP1hYxkpTuBjTS3ne3J48K83+u0zoyvg2pI= +github.com/jackc/pgconn v1.13.0 h1:3L1XMNV2Zvca/8BYhzcRFS70Lr0WlDg16Di6SFGAbys= +github.com/jackc/pgconn v1.13.0/go.mod h1:AnowpAqO4CMIIJNZl2VJp+KrkAZciAkhEl0W0JIobpI= +github.com/jackc/pgio v1.0.0 h1:g12B9UwVnzGhueNavwioyEEpAmqMe1E/BN9ES+8ovkE= +github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= +github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE= +github.com/jackc/pgmock v0.0.0-20201204152224-4fe30f7445fd/go.mod h1:hrBW0Enj2AZTNpt/7Y5rr2xe/9Mn757Wtb2xeBzPv2c= +github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65 h1:DadwsjnMwFjfWc9y5Wi/+Zz7xoE5ALHsRQlOctkOiHc= +github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65/go.mod h1:5R2h2EEX+qri8jOWMbJCtaPWkrrNc7OHwsp2TCqp7ak= +github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= +github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= +github.com/jackc/pgproto3 v1.1.0/go.mod h1:eR5FA3leWg7p9aeAqi37XOTgTIbkABlvcPB3E5rlc78= +github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190420180111-c116219b62db/go.mod h1:bhq50y+xrl9n5mRYyCBFKkpRVTLYJVWeCc+mEAI3yXA= +github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod h1:uH0AWtUmuShn0bcesswc4aBTWGvw0cAxIJp+6OB//Wg= +github.com/jackc/pgproto3/v2 v2.0.0-rc3/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= +github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= +github.com/jackc/pgproto3/v2 v2.0.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgproto3/v2 v2.0.2/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgproto3/v2 v2.0.6/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgproto3/v2 v2.1.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgproto3/v2 v2.3.1 h1:nwj7qwf0S+Q7ISFfBndqeLwSwxs+4DPsbRFjECT1Y4Y= +github.com/jackc/pgproto3/v2 v2.3.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgservicefile v0.0.0-20200307190119-3430c5407db8/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= +github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b h1:C8S2+VttkHFdOOCXJe+YGfa4vHYwlt4Zx+IVXQ97jYg= +github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= +github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg= +github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc= +github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw= +github.com/jackc/pgtype v1.2.0/go.mod h1:5m2OfMh1wTK7x+Fk952IDmI4nw3nPrvtQdM0ZT4WpC0= +github.com/jackc/pgtype v1.3.0/go.mod h1:b0JqxHvPmljG+HQ5IsvQ0yqeSi4nGcDTVjFoiLDb0Ik= +github.com/jackc/pgtype v1.3.1-0.20200510190516-8cd94a14c75a/go.mod h1:vaogEUkALtxZMCH411K+tKzNpwzCKU+AnPzBKZ+I+Po= +github.com/jackc/pgtype v1.3.1-0.20200606141011-f6355165a91c/go.mod h1:cvk9Bgu/VzJ9/lxTO5R5sf80p0DiucVtN7ZxvaC4GmQ= +github.com/jackc/pgtype v1.4.2/go.mod h1:JCULISAZBFGrHaOXIIFiyfzW5VY0GRitRr8NeJsrdig= +github.com/jackc/pgtype v1.8.1-0.20210724151600-32e20a603178/go.mod h1:C516IlIV9NKqfsMCXTdChteoXmwgUceqaLfjg2e3NlM= +github.com/jackc/pgtype v1.12.0 h1:Dlq8Qvcch7kiehm8wPGIW0W3KsCCHJnRacKW0UM8n5w= +github.com/jackc/pgtype v1.12.0/go.mod h1:LUMuVrfsFfdKGLw+AFFVv6KtHOFMwRgDDzBt76IqCA4= +github.com/jackc/pgx v3.2.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= +github.com/jackc/pgx v3.6.2+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= +github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y= +github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM= +github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc= +github.com/jackc/pgx/v4 v4.4.1/go.mod h1:6iSW+JznC0YT+SgBn7rNxoEBsBgSmnC5FwyCekOGUiE= +github.com/jackc/pgx/v4 v4.5.0/go.mod h1:EpAKPLdnTorwmPUUsqrPxy5fphV18j9q3wrfRXgo+kA= +github.com/jackc/pgx/v4 v4.6.0/go.mod h1:vPh43ZzxijXUVJ+t/EmXBtFmbFVO72cuneCT9oAlxAg= +github.com/jackc/pgx/v4 v4.6.1-0.20200510190926-94ba730bb1e9/go.mod h1:t3/cdRQl6fOLDxqtlyhe9UWgfIi9R8+8v8GKV5TRA/o= +github.com/jackc/pgx/v4 v4.6.1-0.20200606145419-4e5062306904/go.mod h1:ZDaNWkt9sW1JMiNn0kdYBaLelIhw7Pg4qd+Vk6tw7Hg= +github.com/jackc/pgx/v4 v4.8.1/go.mod h1:4HOLxrl8wToZJReD04/yB20GDwf4KBYETvlHciCnwW0= +github.com/jackc/pgx/v4 v4.12.1-0.20210724153913-640aa07df17c/go.mod h1:1QD0+tgSXP7iUjYm9C1NxKhny7lq6ee99u/z+IHFcgs= +github.com/jackc/pgx/v4 v4.17.2 h1:0Ut0rpeKwvIVbMQ1KbMBU4h6wxehBI535LK6Flheh8E= +github.com/jackc/pgx/v4 v4.17.2/go.mod h1:lcxIZN44yMIrWI78a5CpucdD14hX0SBDbNRvjDBItsw= +github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.1.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.1.1/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.3.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jandelgado/gcov2lcov v1.0.4-0.20210120124023-b83752c6dc08/go.mod h1:NnSxK6TMlg1oGDBfGelGbjgorT5/L3cchlbtgFYZSss= +github.com/jcmturner/gofork v0.0.0-20190328161633-dc7c13fece03/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o= +github.com/jcmturner/gofork v1.0.0 h1:J7uCkflzTEhUZ64xqKnkDxq3kzc96ajM1Gli5ktUem8= +github.com/jcmturner/gofork v1.0.0/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/jinzhu/copier v0.3.5 h1:GlvfUwHk62RokgqVNvYsku0TATCF7bAHVwEXoBh3iJg= +github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= +github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= +github.com/jinzhu/now v1.1.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/jinzhu/now v1.1.4/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= +github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= +github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/jmoiron/sqlx v0.0.0-20180614180643-0dae4fefe7c0/go.mod h1:IiEW3SEiiErVyFdH8NTuWjSifiEQKUoyK3LNqr2kCHU= +github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= +github.com/joeshaw/multierror v0.0.0-20140124173710-69b34d4ec901/go.mod h1:Z86h9688Y0wesXCyonoVr47MasHilkuLMqGhRZ4Hpak= +github.com/joho/godotenv v1.2.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= +github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= +github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/karrick/godirwalk v1.7.5/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34= +github.com/karrick/godirwalk v1.7.7/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34= +github.com/karrick/godirwalk v1.7.8/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34= +github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= +github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= +github.com/karrick/godirwalk v1.10.9/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= +github.com/karrick/godirwalk v1.10.12/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= +github.com/karrick/godirwalk v1.15.3/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= +github.com/karrick/godirwalk v1.15.5/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= +github.com/karrick/godirwalk v1.16.1/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= +github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= +github.com/kelseyhightower/envconfig v1.4.0 h1:Im6hONhd3pLkfDFsbRgu68RDNkGF1r3dvMUtDTo2cv8= +github.com/kelseyhightower/envconfig v1.4.0/go.mod h1:cccZRl6mQpaq41TPp5QxidR+Sa3axMbJDNb//FQX6Gg= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/klauspost/compress v1.9.7/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/klauspost/compress v1.9.8 h1:VMAMUUOh+gaxKTMk+zqbjsSjsIcUcL/LF4o63i82QyA= +github.com/klauspost/compress v1.9.8/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/knadh/koanf v0.14.1-0.20201201075439-e0853799f9ec/go.mod h1:H5mEFsTeWizwFXHKtsITL5ipsLTuAMQoGuQpp+1JL9U= +github.com/konsorten/go-windows-terminal-sequences v0.0.0-20180402223658-b729f2633dfe/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.3/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= +github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/kubeflow/common v0.4.3 h1:vVoOMNPOZK4wzZvQ4rsRLvC3SDi+J1fVKNHSXC/QRvU= +github.com/kubeflow/common v0.4.3/go.mod h1:Qb/5aON7/OWVkN8OnjRqqT0i8X/XzMekRIZ8lkLosj4= +github.com/kubeflow/training-operator v1.5.0-rc.0 h1:MaxbG80SYpIbDG63tSiwav4OXczrSFA5AFnaQavzgbw= +github.com/kubeflow/training-operator v1.5.0-rc.0/go.mod h1:xgcu/ZI/RwKbTvYgzU7ZWFpxbsefSey5We3KmKroALY= +github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= +github.com/lestrrat-go/backoff/v2 v2.0.7 h1:i2SeK33aOFJlUNJZzf2IpXRBvqBBnaGXfY5Xaop/GsE= +github.com/lestrrat-go/backoff/v2 v2.0.7/go.mod h1:rHP/q/r9aT27n24JQLa7JhSQZCKBBOiM/uP402WwN8Y= +github.com/lestrrat-go/codegen v1.0.0/go.mod h1:JhJw6OQAuPEfVKUCLItpaVLumDGWQznd1VaXrBk9TdM= +github.com/lestrrat-go/httpcc v1.0.0 h1:FszVC6cKfDvBKcJv646+lkh4GydQg2Z29scgUfkOpYc= +github.com/lestrrat-go/httpcc v1.0.0/go.mod h1:tGS/u00Vh5N6FHNkExqGGNId8e0Big+++0Gf8MBnAvE= +github.com/lestrrat-go/iter v1.0.1 h1:q8faalr2dY6o8bV45uwrxq12bRa1ezKrB6oM9FUgN4A= +github.com/lestrrat-go/iter v1.0.1/go.mod h1:zIdgO1mRKhn8l9vrZJZz9TUMMFbQbLeTsbqPDrJ/OJc= +github.com/lestrrat-go/jwx v1.1.6 h1:VfyUo2PAU4lO/liwhdwiSZ55/QZDLTT3EYY5z9KfwZs= +github.com/lestrrat-go/jwx v1.1.6/go.mod h1:c+R8G7qsaFNmTzYjU98A+sMh8Bo/MJqO9GnpqR+X024= +github.com/lestrrat-go/option v0.0.0-20210103042652-6f1ecfceda35/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= +github.com/lestrrat-go/option v1.0.0 h1:WqAWL8kh8VcSoD6xjSH34/1m8yxluXQbDeKNfvFeEO4= +github.com/lestrrat-go/option v1.0.0/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= +github.com/lestrrat-go/pdebug/v3 v3.0.1 h1:3G5sX/aw/TbMTtVc9U7IHBWRZtMvwvBziF1e4HoQtv8= +github.com/lestrrat-go/pdebug/v3 v3.0.1/go.mod h1:za+m+Ve24yCxTEhR59N7UlnJomWwCiIqbJRmKeiADU4= +github.com/lib/pq v0.0.0-20180327071824-d34b9ff171c2/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.10.4 h1:SO9z7FRPzA03QhHKJrH5BXA6HU1rS4V2nIVrrNC1iYk= +github.com/luna-duclos/instrumentedsql v0.0.0-20181127104832-b7d587d28109/go.mod h1:PWUIzhtavmOR965zfawVsHXbEuU1G29BPZ/CB3C7jXk= +github.com/luna-duclos/instrumentedsql v1.1.2/go.mod h1:4LGbEqDnopzNAiyxPPDXhLspyunZxgPTMJBKtC6U0BQ= +github.com/luna-duclos/instrumentedsql v1.1.3/go.mod h1:9J1njvFds+zN7y85EDhN9XNQLANWwZt2ULeIC8yMNYs= +github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= +github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= +github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= +github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= +github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/markbates/deplist v1.0.4/go.mod h1:gRRbPbbuA8TmMiRvaOzUlRfzfjeCCBqX2A6arxN01MM= +github.com/markbates/deplist v1.0.5/go.mod h1:gRRbPbbuA8TmMiRvaOzUlRfzfjeCCBqX2A6arxN01MM= +github.com/markbates/deplist v1.1.3/go.mod h1:BF7ioVzAJYEtzQN/os4rt8H8Ti3h0T7EoN+7eyALktE= +github.com/markbates/errx v1.1.0/go.mod h1:PLa46Oex9KNbVDZhKel8v1OT7hD5JZ2eI7AHhA0wswc= +github.com/markbates/going v1.0.2/go.mod h1:UWCk3zm0UKefHZ7l8BNqi26UyiEMniznk8naLdTcy6c= +github.com/markbates/grift v1.0.4/go.mod h1:wbmtW74veyx+cgfwFhlnnMWqhoz55rnHR47oMXzsyVs= +github.com/markbates/hmax v1.0.0/go.mod h1:cOkR9dktiESxIMu+65oc/r/bdY4bE8zZw3OLhLx0X2c= +github.com/markbates/inflect v1.0.0/go.mod h1:oTeZL2KHA7CUX6X+fovmK9OvIOFuqu0TwdQrZjLTh88= +github.com/markbates/inflect v1.0.1/go.mod h1:uv3UVNBe5qBIfCm8O8Q+DW+S1EopeyINj+Ikhc7rnCk= +github.com/markbates/inflect v1.0.3/go.mod h1:1fR9+pO2KHEO9ZRtto13gDwwZaAKstQzferVeWqbgNs= +github.com/markbates/inflect v1.0.4/go.mod h1:1fR9+pO2KHEO9ZRtto13gDwwZaAKstQzferVeWqbgNs= +github.com/markbates/oncer v0.0.0-20180924031910-e862a676800b/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= +github.com/markbates/oncer v0.0.0-20180924034138-723ad0170a46/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= +github.com/markbates/oncer v0.0.0-20181014194634-05fccaae8fc4/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= +github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= +github.com/markbates/oncer v1.0.0/go.mod h1:Z59JA581E9GP6w96jai+TGqafHPW+cPfRxz2aSZ0mcI= +github.com/markbates/pkger v0.17.1/go.mod h1:0JoVlrol20BSywW79rN3kdFFsE5xYM+rSCQDXbLhiuI= +github.com/markbates/refresh v1.4.10/go.mod h1:NDPHvotuZmTmesXxr95C9bjlw1/0frJwtME2dzcVKhc= +github.com/markbates/safe v1.0.0/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= +github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= +github.com/markbates/sigtx v1.0.0/go.mod h1:QF1Hv6Ic6Ca6W+T+DL0Y/ypborFKyvUY9HmuCD4VeTc= +github.com/markbates/willie v1.0.9/go.mod h1:fsrFVWl91+gXpx/6dv715j7i11fYPfZ9ZGfH0DQzY7w= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= +github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/go-sqlite3 v1.14.0/go.mod h1:JIl7NbARA7phWnGvh0LKTyg7S9BA+6gx71ShQilpsus= +github.com/mattn/go-sqlite3 v2.0.3+incompatible h1:gXHsfypPkaMZrKbD5209QV9jbUTJKjyR5WD3HYQSd+U= +github.com/mattn/go-sqlite3 v2.0.3+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= +github.com/mattn/goveralls v0.0.6 h1:cr8Y0VMo/MnEZBjxNN/vh6G90SZ7IMb6lms1dzMoO+Y= +github.com/mattn/goveralls v0.0.6/go.mod h1:h8b4ow6FxSPMQHF6o2ve3qsclnffZjYTNEKmLesRwqw= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= +github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4= +github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.0.0/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.2.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= +github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= +github.com/moby/term v0.0.0-20200915141129-7f0af18e79f2/go.mod h1:TjQg8pa4iejrUrjiz0MCtMV38jdMNW4doKSiBrEvCQQ= +github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= +github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw= +github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= +github.com/monoculum/formam v0.0.0-20180901015400-4e68be1d79ba/go.mod h1:RKgILGEJq24YyJ2ban8EO0RUVSJlF1pGsEvoLEACr/Q= +github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= +github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= +github.com/moul/http2curl v0.0.0-20170919181001-9ac6cf4d929b/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ= +github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= +github.com/ncw/swift v1.0.53 h1:luHjjTNtekIEvHg5KdAFIBaH7bWfNkefwFnpDffSIks= +github.com/ncw/swift v1.0.53/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= +github.com/nicksnyder/go-i18n v1.10.0/go.mod h1:HrK7VCrbOvQoUAQ7Vpy7i87N7JZZZ7R2xBGjv0j365Q= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d/go.mod h1:YUTz3bUH2ZwIWBy3CJBeOBEugqcmXREj14T+iG/4k4U= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/oleiade/reflections v1.0.0/go.mod h1:RbATFBbKYkVdqmSFtx13Bb/tVhR0lgOBXunWTZKeL4w= +github.com/oleiade/reflections v1.0.1 h1:D1XO3LVEYroYskEsoSiGItp9RUxG6jWnCVvrqH0HHQM= +github.com/oleiade/reflections v1.0.1/go.mod h1:rdFxbxq4QXVZWj0F+e9jqjDkc7dbp97vkRixKo2JR60= +github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.9.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= +github.com/onsi/ginkgo/v2 v2.1.4 h1:GNapqRSid3zijZ9H77KrgVG4/8KqiyRsxcSxe+7ApXY= +github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v1.4.2/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.6.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.8.1/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.19.0 h1:4ieX6qQjPP/BfC3mpsAtIGGlxTWPeA3Inl/7DtXw1tw= +github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= +github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= +github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= +github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/ory/analytics-go/v4 v4.0.0/go.mod h1:FMx9cLRD9xN+XevPvZ5FDMfignpmcqPP6FUKnJ9/MmE= +github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= +github.com/ory/dockertest/v3 v3.5.4/go.mod h1:J8ZUbNB2FOhm1cFZW9xBpDsODqsSWcyYgtJYVPcnF70= +github.com/ory/dockertest/v3 v3.6.3/go.mod h1:EFLcVUOl8qCwp9NyDAcCDtq/QviLtYswW/VbWzUnTNE= +github.com/ory/fosite v0.29.0/go.mod h1:0atSZmXO7CAcs6NPMI/Qtot8tmZYj04Nddoold4S2h0= +github.com/ory/fosite v0.42.2 h1:fKfGAgMmmeM1C0DXCyt5TOzQWrKmLOL+PApEC4bIv2o= +github.com/ory/fosite v0.42.2/go.mod h1:qggrqm3ZWQF9i2f/d3RLH5mHHPtv44hsiltkVKLsCYo= +github.com/ory/go-acc v0.0.0-20181118080137-ddc355013f90/go.mod h1:sxnvPCxChFuSmTJGj8FdMupeq1BezCiEpDjTUXQ4hf4= +github.com/ory/go-acc v0.2.6 h1:YfI+L9dxI7QCtWn2RbawqO0vXhiThdXu/RgizJBbaq0= +github.com/ory/go-acc v0.2.6/go.mod h1:4Kb/UnPcT8qRAk3IAxta+hvVapdxTLWtrr7bFLlEgpw= +github.com/ory/go-convenience v0.1.0 h1:zouLKfF2GoSGnJwGq+PE/nJAE6dj2Zj5QlTgmMTsTS8= +github.com/ory/go-convenience v0.1.0/go.mod h1:uEY/a60PL5c12nYz4V5cHY03IBmwIAEm8TWB0yn9KNs= +github.com/ory/gojsonreference v0.0.0-20190720135523-6b606c2d8ee8/go.mod h1:wsH1C4nIeeQClDtD5AH7kF1uTS6zWyqfjVDTmB0Em7A= +github.com/ory/gojsonschema v1.1.1-0.20190919112458-f254ca73d5e9/go.mod h1:BNZpdJgB74KOLSsWFvzw6roXg1I6O51WO8roMmW+T7Y= +github.com/ory/herodot v0.6.2/go.mod h1:3BOneqcyBsVybCPAJoi92KN2BpJHcmDqAMcAAaJiJow= +github.com/ory/herodot v0.7.0/go.mod h1:YXKOfAXYdQojDP5sD8m0ajowq3+QXNdtxA+QiUXBwn0= +github.com/ory/herodot v0.8.3/go.mod h1:rvLjxOAlU5omtmgjCfazQX2N82EpMfl3BytBWc1jjsk= +github.com/ory/herodot v0.9.2/go.mod h1:Da2HXR8mpwPbPrH+Gv9qV8mM5gI3v+PoJ69BA4l2RAk= +github.com/ory/jsonschema/v3 v3.0.1/go.mod h1:jgLHekkFk0uiGdEWGleC+tOm6JSSP8cbf17PnBuGXlw= +github.com/ory/viper v1.5.6/go.mod h1:TYmpFpKLxjQwvT4f0QPpkOn4sDXU1kDgAwJpgLYiQ28= +github.com/ory/viper v1.7.4/go.mod h1:T6sodNZKNGPpashUOk7EtXz2isovz8oCd57GNVkkNmE= +github.com/ory/viper v1.7.5 h1:+xVdq7SU3e1vNaCsk/ixsfxE4zylk1TJUiJrY647jUE= +github.com/ory/viper v1.7.5/go.mod h1:ypOuyJmEUb3oENywQZRgeAMwqgOyDqwboO1tj3DjTaM= +github.com/ory/x v0.0.84/go.mod h1:RXLPBG7B+hAViONVg0sHwK+U/ie1Y/NeXrq1JcARfoE= +github.com/ory/x v0.0.93/go.mod h1:lfcTaGXpTZs7IEQAW00r9EtTCOxD//SiP5uWtNiz31g= +github.com/ory/x v0.0.110/go.mod h1:DJfkE3GdakhshNhw4zlKoRaL/ozg/lcTahA9OCih2BE= +github.com/ory/x v0.0.127/go.mod h1:FwUujfFuCj5d+xgLn4fGMYPnzriR5bdAIulFXMtnK0M= +github.com/ory/x v0.0.214 h1:nz5ijvm5MVhYxWsQSuUrW1hj9F5QLZvPn/nLo5s06T4= +github.com/ory/x v0.0.214/go.mod h1:aRl57gzyD4GF0HQCekovXhv0xTZgAgiht3o8eVhsm9Q= +github.com/parnurzeal/gorequest v0.2.15/go.mod h1:3Kh2QUMJoqw3icWAecsyzkpY7UzRfDhbRdTjtNwNiUE= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pborman/uuid v1.2.0 h1:J7Q5mO4ysT1dv8hyrUGHb9+ooztCXu1D8MY8DZYsu3g= +github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo= +github.com/pelletier/go-toml v1.6.0/go.mod h1:5N711Q9dKgbdkxHL+MEfF31hpT7l0S0s/t2kKREewys= +github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= +github.com/pelletier/go-toml v1.8.0/go.mod h1:D6yutnOGMveHEPV7VQOuvI/gXY61bv+9bAOTRnLElKs= +github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= +github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/pelletier/go-toml/v2 v2.0.0-beta.8 h1:dy81yyLYJDwMTifq24Oi/IslOslRrDSb3jwDggjz3Z0= +github.com/pelletier/go-toml/v2 v2.0.0-beta.8/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= +github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= +github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2/go.mod h1:iIss55rKnNBTvrwdmkUpLnDpZoAHvWaiq5+iMmen4AE= +github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= +github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= +github.com/pierrec/lz4 v2.2.6+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pierrec/lz4 v2.4.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pierrec/lz4 v2.5.2+incompatible h1:WCjObylUIOlKy/+7Abdn34TLIkXiA4UWUMhxq9m9ZXI= +github.com/pierrec/lz4 v2.5.2+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4 h1:Qj1ukM4GlMWXNdMBuXcXfz/Kw9s1qm0CLY32QxuSImI= +github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4/go.mod h1:N6UoU20jOqggOuDwUaBQpluzLNDqif3kq9z2wpdYEfQ= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= +github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= +github.com/pquerna/cachecontrol v0.0.0-20201205024021-ac21108117ac h1:jWKYCNlX4J5s8M0nHYkh7Y7c9gRVDEb3mq51j5J0F5M= +github.com/pquerna/cachecontrol v0.0.0-20201205024021-ac21108117ac/go.mod h1:hoLfEwdY11HjRfKFH6KqnPsfxlo3BP6bJehpDv8t6sQ= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= +github.com/prometheus/client_golang v0.9.4/go.mod h1:oCXIBxdI62A4cR6aTRJCgetEjecSIYzOEaeAn4iYEpM= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.12.1 h1:ZiaPsmm9uiBeaSMRznKsCDNtPCS0T3JVDGF+06gjBzk= +github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= +github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= +github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4= +github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190425082905-87a4384529e0/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= +github.com/prometheus/procfs v0.0.11/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU= +github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/ray-project/kuberay/ray-operator v0.0.0-20220728052838-eaa75fa6707c h1:eEqXhtlsUVt798HNUEbdQsMRZSjHSOF5Ilsywuhlgfc= +github.com/ray-project/kuberay/ray-operator v0.0.0-20220728052838-eaa75fa6707c/go.mod h1:uLBlYqsCS2nsKiVlxJxI5EVgq8CrqNeHDP5uq3hde+c= +github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/rcrowley/go-metrics v0.0.0-20190826022208-cac0b30c2563/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 h1:MkV+77GLUNo5oJ0jf870itWm3D0Sjh7+Za9gazKc5LQ= +github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/redis/go-redis/v9 v9.0.5 h1:CuQcn5HIEeK7BgElubPP8CGtE0KakrnbBSTLjathl5o= +github.com/redis/go-redis/v9 v9.0.5/go.mod h1:WqMKv5vnQbRuZstUwxQI195wHy+t4PuXDOjzMvcuQHk= +github.com/remyoudompheng/bigfft v0.0.0-20190728182440-6a916e37a237/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +github.com/rhnvrm/simples3 v0.5.0/go.mod h1:Y+3vYm2V7Y4VijFoJHHTrja6OgPrJ2cBti8dPGkC3sA= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-internal v1.0.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.3.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.4.0/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.5.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= +github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= +github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= +github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= +github.com/rubenv/sql-migrate v0.0.0-20190212093014-1007f53448d7/go.mod h1:WS0rl9eEliYI8DPnr3TOwz4439pay+qNgzJoVya/DmY= +github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/santhosh-tekuri/jsonschema v1.2.4/go.mod h1:TEAUOeZSmIxTTuHatJzrvARHiuO9LYd+cIxzgEHCQI4= +github.com/santhosh-tekuri/jsonschema/v2 v2.1.0/go.mod h1:yzJzKUGV4RbWqWIBBP4wSOBqavX5saE02yirLS0OTyg= +github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +github.com/seatgeek/logrus-gelf-formatter v0.0.0-20210219220335-367fa274be2c/go.mod h1:/THDZYi7F/BsVEcYzYPqdcWFQ+1C2InkawTKfLOAnzg= +github.com/segmentio/analytics-go v3.0.1+incompatible/go.mod h1:C7CYBtQWk4vRk2RyLu0qOcbHJ18E3F1HV2C/8JvKN48= +github.com/segmentio/analytics-go v3.1.0+incompatible/go.mod h1:C7CYBtQWk4vRk2RyLu0qOcbHJ18E3F1HV2C/8JvKN48= +github.com/segmentio/backo-go v0.0.0-20160424052352-204274ad699c/go.mod h1:kJ9mm9YmoWSkk+oQ+5Cj8DEoRCX2JT6As4kEtIIOp1M= +github.com/segmentio/backo-go v0.0.0-20200129164019-23eae7c10bd3/go.mod h1:9/Rh6yILuLysoQnZ2oNooD2g7aBnvM7r/fNVxRNWfBc= +github.com/segmentio/conf v1.2.0/go.mod h1:Y3B9O/PqqWqjyxyWWseyj/quPEtMu1zDp/kVbSWWaB0= +github.com/segmentio/go-snakecase v1.1.0/go.mod h1:jk1miR5MS7Na32PZUykG89Arm+1BUSYhuGR6b7+hJto= +github.com/segmentio/objconv v1.0.1/go.mod h1:auayaH5k3137Cl4SoXTgrzQcuQDmvuVtZgS0fb1Ahys= +github.com/sendgrid/rest v2.6.8+incompatible h1:GldbsYQ10qackj/IH9DskKhMm5Q10lpMJznaRAj+zOQ= +github.com/sendgrid/rest v2.6.8+incompatible/go.mod h1:kXX7q3jZtJXK5c5qK83bSGMdV6tsOE70KbHoqJls4lE= +github.com/sendgrid/sendgrid-go v3.10.0+incompatible h1:aSYyurHxEZSDy7kxhvZ4fH0inNkEEmRssZNbAmETR2c= +github.com/sendgrid/sendgrid-go v3.10.0+incompatible/go.mod h1:QRQt+LX/NmgVEvmdRw0VT/QgUn499+iza2FnDca9fg8= +github.com/serenize/snaker v0.0.0-20171204205717-a683aaf2d516/go.mod h1:Yow6lPLSAXx2ifx470yD/nUe22Dv5vBvxK/UK9UUTVs= +github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= +github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= +github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= +github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ= +github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= +github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= +github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= +github.com/shurcooL/highlight_diff v0.0.0-20170515013008-09bb4053de1b/go.mod h1:ZpfEhSmds4ytuByIcDnOLkTHGUI6KNqRNPDLHDk+mUU= +github.com/shurcooL/highlight_go v0.0.0-20170515013102-78fb10f4a5f8/go.mod h1:UDKB5a1T23gOMUJrI+uSuH0VRDStOiUVSjBTRDVBVag= +github.com/shurcooL/octicon v0.0.0-20180602230221-c42b0e3b24d9/go.mod h1:eWdoE5JD4R5UVWDucdOPg1g2fqQRq78IQa9zlOV1vpQ= +github.com/shurcooL/sanitized_anchor_name v0.0.0-20170918181015-86672fcb3f95/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= +github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= +github.com/sirupsen/logrus v1.1.0/go.mod h1:zrgwTnHtNr00buQ1vSptGe8m1f/BbgsPukg8qsT7A+A= +github.com/sirupsen/logrus v1.1.1/go.mod h1:zrgwTnHtNr00buQ1vSptGe8m1f/BbgsPukg8qsT7A+A= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.3.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.5.0/go.mod h1:+F7Ogzej0PZc/94MaYx/nvG9jOFMD2osvC3s+Squfpo= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v0.0.0-20180222194500-ef6db91d284a/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= +github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d/go.mod h1:UdhH50NIW0fCiwBSr0co2m7BnFLdv4fQTgdqdJTHFeE= +github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e/go.mod h1:HuIsMU8RRBOtsCgI77wP899iHVBQpCmg4ErYMZB+2IA= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.2.0/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/afero v1.3.2/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= +github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= +github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= +github.com/spf13/cast v1.2.0/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.3.2-0.20200723214538-8d17101741c8/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= +github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= +github.com/spf13/cobra v0.0.6/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= +github.com/spf13/cobra v0.0.7/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= +github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= +github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= +github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= +github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= +github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= +github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.2.1/go.mod h1:P4AexN0a+C9tGAnUFNwDMYYZv3pjFuvmeiMyKRaNVlI= +github.com/spf13/viper v1.3.1/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= +github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= +github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= +github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/spf13/viper v1.11.0 h1:7OX/1FS6n7jHD1zGrZTM7WtY13ZELRyosK4k93oPr44= +github.com/spf13/viper v1.11.0/go.mod h1:djo0X/bA5+tYVoCn+C7cAYJGcVn/qYLFTG8gdUsX7Zk= +github.com/sqs/goreturns v0.0.0-20181028201513-538ac6014518/go.mod h1:CKI4AZ4XmGV240rTHfO0hfE83S6/a3/Q1siZJ/vXf7A= +github.com/square/go-jose/v3 v3.0.0-20200630053402-0a67ce9b0693/go.mod h1:6hSY48PjDm4UObWmGLyJE9DxYVKTgR9kbCspXXJEhcU= +github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= +github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/subosito/gotenv v1.1.1/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= +github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/tidwall/gjson v1.3.2/go.mod h1:P256ACg0Mn+j1RXIDXoss50DeIABTYK1PULOJHhxOls= +github.com/tidwall/gjson v1.6.8/go.mod h1:zeFuBCIqD4sN/gmqBzZ4j7Jd6UcA2Fc56x7QFsv+8fI= +github.com/tidwall/gjson v1.7.1/go.mod h1:5/xDoumyyDNerp2U36lyolv46b3uF/9Bu6OfyQ9GImk= +github.com/tidwall/match v1.0.1/go.mod h1:LujAq0jyVjBy028G1WhWfIzbpQfMO8bBZ6Tyb0+pL9E= +github.com/tidwall/match v1.0.3/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= +github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= +github.com/tidwall/pretty v1.0.2/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= +github.com/tidwall/pretty v1.1.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= +github.com/tidwall/sjson v1.0.4/go.mod h1:bURseu1nuBkFpIES5cz6zBtjmYeOQmEESshn7VpF15Y= +github.com/tidwall/sjson v1.1.5/go.mod h1:VuJzsZnTowhSxWdOgsAnb886i4AjEyTkk7tNtsL7EYE= +github.com/tinylib/msgp v1.1.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= +github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/uber-go/atomic v1.3.2/go.mod h1:/Ct5t2lcmbJ4OSe/waGBoaVvVqtO0bmtfVNex1PFV8g= +github.com/uber/jaeger-client-go v2.15.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= +github.com/uber/jaeger-client-go v2.22.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= +github.com/uber/jaeger-lib v1.5.0/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= +github.com/uber/jaeger-lib v2.2.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= +github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= +github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= +github.com/unrolled/secure v0.0.0-20180918153822-f340ee86eb8b/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= +github.com/unrolled/secure v0.0.0-20181005190816-ff9db2ff917f/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= +github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= +github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw= +github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I= +github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= +github.com/xdg/stringprep v1.0.0/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/xtgo/uuid v0.0.0-20140804021211-a0b114877d4c/go.mod h1:UrdRz5enIKZ63MEE3IF9l2/ebyx59GyGgPi+tICQdmM= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= +github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0= +go.elastic.co/apm v1.8.0/go.mod h1:tCw6CkOJgkWnzEthFN9HUP1uL3Gjc/Ur6m7gRPLaoH0= +go.elastic.co/apm/module/apmhttp v1.8.0/go.mod h1:9LPFlEON51/lRbnWDfqAWErihIiAFDUMfMV27YjoWQ8= +go.elastic.co/apm/module/apmot v1.8.0/go.mod h1:Q5Xzabte8G/fkvDjr1jlDuOSUt9hkVWNZEHh6ZNaTjI= +go.elastic.co/fastjson v1.0.0/go.mod h1:PmeUOMMtLHQr9ZS9J9owrAVg0FkaZDRZJEFTTGHtchs= +go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= +go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= +go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= +go.etcd.io/etcd/client/v3 v3.5.1/go.mod h1:OnjH4M8OnAotwaB2l9bVgZzRFKru7/ZMoS46OtKyd3Q= +go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= +go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= +go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= +go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= +go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= +go.mongodb.org/mongo-driver v1.1.2/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= +go.mongodb.org/mongo-driver v1.3.0/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= +go.mongodb.org/mongo-driver v1.3.4/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.1/go.mod h1:Ap50jQcDJrx6rB6VgeeFPtuPIf3wMRvRfrfYDO6+BmA= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= +go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/contrib v0.18.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= +go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= +go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.18.0/go.mod h1:iK1G0FgHurSJ/aYLg5LpnPI0pqdanM73S3dhyDp0Lk4= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= +go.opentelemetry.io/otel v0.18.0/go.mod h1:PT5zQj4lTsR1YeARt8YNKcFb88/c2IKoSABK9mX0r78= +go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= +go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= +go.opentelemetry.io/otel/metric v0.18.0/go.mod h1:kEH2QtzAyBy3xDVQfGZKIcok4ZZFvd5xyKPfPcuK6pE= +go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= +go.opentelemetry.io/otel/oteltest v0.18.0/go.mod h1:NyierCU3/G8DLTva7KRzGii2fdxdR89zXKH1bNWY7Bo= +go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= +go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= +go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= +go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= +go.opentelemetry.io/otel/trace v0.18.0/go.mod h1:FzdUu3BPwZSZebfQ1vl5/tAa8LyMLXSJN57AXIt/iDk= +go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.5.1/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= +go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8= +go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= +go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= +go.uber.org/zap v1.8.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= +go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= +go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= +go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= +go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8= +go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= +golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20180830192347-182538f80094/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20180910181607-0e37d006457b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181001203147-e3636079e1a4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181015023909-0c41d7ab0a0e/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181024171144-74cb1d3d52f4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181025113841-85e1b3f9139a/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181025213731-e84da0312774/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181106171534-e4dc69e5b2fd/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181112202954-3d3f9f413869/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181127143415-eb0de9b17e85/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190102171810-8d7daa0c54b3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190103213133-ff983b9c42bc/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190404164418-38d8ce5564a5/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= +golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= +golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190621222207-cc06ce4a13d4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191122220453-ac88ee75c92c/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200117160349-530e935923ad/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200204104054-c9f3fb736b72/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200320181102-891825fb96df/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20201217014255-9d1352758620/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa h1:zuSxTR4o9y82ebqCUJYNGJbGPo6sKVl54f/TVDObg1c= +golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e h1:+WEEuIdZHnUeJJmEUjyYC2gfUMj69yZXw17EnHg/otA= +golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA= +golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= +golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8= +golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180816102801-aaf60122140d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180921000356-2f5d2388922f/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180926154720-4dfa2610cdf3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181017193950-04a2e542c03f/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181102091132-c10e9556a7bc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181106065722-10aee1819953/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181207154023-610586996380/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191003171128-d98b1b443823/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200219183655-46282727080f/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20181003184128-c57b0facaced/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.7.0 h1:qe6s0zUXlPX80/dITx3440hWZ7GwMwgDDyrSGTPJG/g= +golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180816055513-1c9583448a9c/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180831094639-fa5fdf94c789/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180906133057-8cf3aee42992/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180921163948-d47a0f339242/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180927150500-dad3d9fb7b6e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181005133103-4497e2df6f9e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181011152604-fa43e7bc11ba/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181022134430-8a28ead16f52/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181024145615-5cd93ef61a7c/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181025063200-d989b31c8746/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181026064943-731415f00dce/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181106135930-3a76605856fd/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181206074257-70b957f3b65e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190102155601-82a175fd1598/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190116161447-11f53e031339/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190515120540-06a5c4944438/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191025021431-6c3a3bfe00ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191105231009-c1f44814a5cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200121082415-34d275377bf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.7.0 h1:BEvjmm5fURWqcfbSKTdpkDXYBrUS1c0m8agp14W48vQ= +golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= +golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= +golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181003024731-2f84ea8ef872/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181006002542-f60d9635b16a/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181008205924-a2b3f7f249e9/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181013182035-5e66757b835f/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181017214349-06f26fdaaa28/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181024171208-a2dc47679d30/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181026183834-f60e5f99f081/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181105230042-78dc5bac0cac/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181107215632-34b416bd17b3/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181114190951-94339b83286c/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181119130350-139d099f6620/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181127195227-b4e97c0ed882/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181127232545-e782529d0ddd/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181203210056-e5f3ab76ea4b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181205224935-3576414c54a4/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181206194817-bcd4e47d0288/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181207183836-8bc39b988060/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181212172921-837e80568c09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190102213336-ca9055ed7d04/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190104182027-498d95493402/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190111214448-fc1d57b08d7b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190118193359-16909d206f00/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190613204242-ed0dc450797f/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190624190245-7f2218787638/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190711191110-9a621aea19f8/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190920225731-5eefd052ad72/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191004055002-72853e10c5a3/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191010075000-0337d82405ff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191224055732-dd894d0a8a40/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117220505-0cba7a3a9ee9/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200203215610-ab391d50b528/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200308013534-11ec41452d41/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20200918232735-d647fc253266/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210114065538-d78b04bdf963/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.10-0.20220218145154-897bd77cd717/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= +golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +gomodules.xyz/jsonpatch/v2 v2.0.1/go.mod h1:IhYNNY4jnS53ZnfE4PAmpKtDpTCj1JFXc+3mwe7XcUU= +gomodules.xyz/jsonpatch/v2 v2.2.0 h1:4pT439QV83L+G9FkcCriY6EkpcK6r6bK+A5FBUMI7qY= +gomodules.xyz/jsonpatch/v2 v2.2.0/go.mod h1:WXp+iVDkoLQqPudfQ9GBlwB2eZ5DKOnjQZCYdOS8GPY= +gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.6.2/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/netlib v0.0.0-20191229114700-bbb4dff026f8/go.mod h1:2IgXn/sJaRbePPBA1wRj8OE+QLvVaH0q8SK6TSTKlnk= +gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= +gonum.org/v1/plot v0.0.0-20200111075622-4abb28f724d5/go.mod h1:+HbaZVpsa73UwN7kXGCECULRHovLRJjH+t5cFPgxErs= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.10.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.25.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.114.0 h1:1xQPji6cO2E2vLiI+C/XiFAnsn1WV3mjaEwGLhi3grE= +google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.2/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190626174449-989357319d63/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190708153700-3bdd9d9f5532/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200806141610-86f49bd18e98/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201102152239-715cce707fb0/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20220107163113-42d7afdf6368/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.56.1 h1:z0dNfjIl0VpaZ9iSVjA6daGatAYwPGstTjt5vkRMFkQ= +google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= +google.golang.org/grpc/examples v0.0.0-20210304020650-930c79186c99/go.mod h1:Ly7ZA/ARzg8fnPU9TyZIxoz33sEUuWX7txiqs8lPTgE= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/DataDog/dd-trace-go.v1 v1.22.0/go.mod h1:DVp8HmDh8PuTu2Z0fVVlBsyWaC++fzwVCaGWylTe3tg= +gopkg.in/DataDog/dd-trace-go.v1 v1.27.0/go.mod h1:Sp1lku8WJMvNV0kjDI4Ni/T7J/U3BO5ct5kEaoVU8+I= +gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= +gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= +gopkg.in/go-playground/mold.v2 v2.2.0/go.mod h1:XMyyRsGtakkDPbxXbrA5VODo6bUXyvoDjLd5l3T0XoA= +gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df/go.mod h1:LRQQ+SO6ZHR7tOkpBDuZnXENFzX8qRjMDMyPD6BRkCw= +gopkg.in/gorp.v1 v1.7.2/go.mod h1:Wo3h+DBQZIxATwftsglhdD/62zRFPhGhTiu5jUJmCaw= +gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= +gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.55.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.57.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.66.4 h1:SsAcf+mM7mRZo2nJNGt8mZCjG8ZRaNGMURJw7BsIST4= +gopkg.in/ini.v1 v1.66.4/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/jcmturner/aescts.v1 v1.0.1 h1:cVVZBK2b1zY26haWB4vbBiZrfFQnfbTVrE3xZq6hrEw= +gopkg.in/jcmturner/aescts.v1 v1.0.1/go.mod h1:nsR8qBOg+OucoIW+WMhB3GspUQXq9XorLnQb9XtvcOo= +gopkg.in/jcmturner/dnsutils.v1 v1.0.1 h1:cIuC1OLRGZrld+16ZJvvZxVJeKPsvd5eUIvxfoN5hSM= +gopkg.in/jcmturner/dnsutils.v1 v1.0.1/go.mod h1:m3v+5svpVOhtFAP/wSz+yzh4Mc0Fg7eRhxkJMWSIz9Q= +gopkg.in/jcmturner/goidentity.v3 v3.0.0 h1:1duIyWiTaYvVx3YX2CYtpJbUFd7/UuPYCfgXtQ3VTbI= +gopkg.in/jcmturner/goidentity.v3 v3.0.0/go.mod h1:oG2kH0IvSYNIu80dVAyu/yoefjq1mNfM5bm88whjWx4= +gopkg.in/jcmturner/gokrb5.v7 v7.2.3/go.mod h1:l8VISx+WGYp+Fp7KRbsiUuXTTOnxIc3Tuvyavf11/WM= +gopkg.in/jcmturner/gokrb5.v7 v7.5.0 h1:a9tsXlIDD9SKxotJMK3niV7rPZAJeX2aD/0yg3qlIrg= +gopkg.in/jcmturner/gokrb5.v7 v7.5.0/go.mod h1:l8VISx+WGYp+Fp7KRbsiUuXTTOnxIc3Tuvyavf11/WM= +gopkg.in/jcmturner/rpc.v1 v1.1.0 h1:QHIUxTX1ISuAv9dD2wJ9HWQVuWDX/Zc0PfeC2tjc4rU= +gopkg.in/jcmturner/rpc.v1 v1.1.0/go.mod h1:YIdkC4XfD6GXbzje11McwsDuOlZQSb9W4vfLvuNnlv8= +gopkg.in/mail.v2 v2.0.0-20180731213649-a0242b2233b4/go.mod h1:htwXN1Qh09vZJ1NVKxQqHPBaCBbzKhp5GzuJEA4VJWw= +gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/square/go-jose.v2 v2.1.9/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.5.2-0.20210529014059-a5c7eec3c614 h1:lwJmuuJQGclcankpPJwh8rorzB0bNbVALv8phDGh8TQ= +gopkg.in/square/go-jose.v2 v2.5.2-0.20210529014059-a5c7eec3c614/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/validator.v2 v2.0.0-20180514200540-135c24b11c19/go.mod h1:o4V0GXN9/CAmCsvJ0oXYZvrZOe7syiDZSN1GWGZTGzc= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20190905181640-827449938966/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gorm.io/driver/mysql v1.0.1/go.mod h1:KtqSthtg55lFp3S5kUXqlGaelnWpKitn4k1xZTnoiPw= +gorm.io/driver/mysql v1.4.4 h1:MX0K9Qvy0Na4o7qSC/YI7XxqUw5KDw01umqgID+svdQ= +gorm.io/driver/postgres v1.0.0/go.mod h1:wtMFcOzmuA5QigNsgEIb7O5lhvH1tHAF1RbWmLWV4to= +gorm.io/driver/postgres v1.4.5 h1:mTeXTTtHAgnS9PgmhN2YeUbazYpLhUI1doLnw42XUZc= +gorm.io/driver/postgres v1.4.5/go.mod h1:GKNQYSJ14qvWkvPwXljMGehpKrhlDNsqYRr5HnYGncg= +gorm.io/driver/sqlite v1.1.1 h1:qtWqNAEUyi7gYSUAJXeiAMz0lUOdakZF5ia9Fqnp5G4= +gorm.io/driver/sqlite v1.1.1/go.mod h1:hm2olEcl8Tmsc6eZyxYSeznnsDaMqamBvEXLNtBg4cI= +gorm.io/driver/sqlserver v1.0.2 h1:FzxAlw0/7hntMzSiNfotpYCo9Lz8dqWQGdmCGqIiFGo= +gorm.io/driver/sqlserver v1.0.2/go.mod h1:gb0Y9QePGgqjzrVyTQUZeh9zkd5v0iz71cM1B4ZycEY= +gorm.io/gorm v1.9.19/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= +gorm.io/gorm v1.20.0/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= +gorm.io/gorm v1.24.1-0.20221019064659-5dd2bb482755 h1:7AdrbfcvKnzejfqP5g37fdSZOXH/JvaPIzBIHTOqXKk= +gorm.io/gorm v1.24.1-0.20221019064659-5dd2bb482755/go.mod h1:DVrVomtaYTbqs7gB/x2uVvqnXzv0nqjB396B8cG4dBA= +gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= +gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= +gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= +gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +howett.net/plist v0.0.0-20181124034731-591f970eefbb/go.mod h1:vMygbs4qMhSZSc4lCUl2OEE+rDiIIJAIdR4m7MiMcm0= +k8s.io/api v0.18.2/go.mod h1:SJCWI7OLzhZSvbY7U8zwNl9UA4o1fizoug34OV/2r78= +k8s.io/api v0.18.6/go.mod h1:eeyxr+cwCjMdLAmr2W3RyDI0VvTawSg/3RFFBEnmZGI= +k8s.io/api v0.18.8/go.mod h1:d/CXqwWv+Z2XEG1LgceeDmHQwpUJhROPx16SlxJgERY= +k8s.io/api v0.24.1 h1:BjCMRDcyEYz03joa3K1+rbshwh1Ay6oB53+iUx2H8UY= +k8s.io/api v0.24.1/go.mod h1:JhoOvNiLXKTPQ60zh2g0ewpA+bnEYf5q44Flhquh4vQ= +k8s.io/apiextensions-apiserver v0.18.2/go.mod h1:q3faSnRGmYimiocj6cHQ1I3WpLqmDgJFlKL37fC4ZvY= +k8s.io/apiextensions-apiserver v0.18.6/go.mod h1:lv89S7fUysXjLZO7ke783xOwVTm6lKizADfvUM/SS/M= +k8s.io/apiextensions-apiserver v0.24.1 h1:5yBh9+ueTq/kfnHQZa0MAo6uNcPrtxPMpNQgorBaKS0= +k8s.io/apiextensions-apiserver v0.24.1/go.mod h1:A6MHfaLDGfjOc/We2nM7uewD5Oa/FnEbZ6cD7g2ca4Q= +k8s.io/apimachinery v0.18.2/go.mod h1:9SnR/e11v5IbyPCGbvJViimtJ0SwHG4nfZFjU77ftcA= +k8s.io/apimachinery v0.18.6/go.mod h1:OaXp26zu/5J7p0f92ASynJa1pZo06YlV9fG7BoWbCko= +k8s.io/apimachinery v0.18.8/go.mod h1:6sQd+iHEqmOtALqOFjSWp2KZ9F0wlU/nWm0ZgsYWMig= +k8s.io/apimachinery v0.24.1 h1:ShD4aDxTQKN5zNf8K1RQ2u98ELLdIW7jEnlO9uAMX/I= +k8s.io/apimachinery v0.24.1/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= +k8s.io/apiserver v0.18.2/go.mod h1:Xbh066NqrZO8cbsoenCwyDJ1OSi8Ag8I2lezeHxzwzw= +k8s.io/apiserver v0.18.6/go.mod h1:Zt2XvTHuaZjBz6EFYzpp+X4hTmgWGy8AthNVnTdm3Wg= +k8s.io/apiserver v0.24.1/go.mod h1:dQWNMx15S8NqJMp0gpYfssyvhYnkilc1LpExd/dkLh0= +k8s.io/client-go v0.18.2/go.mod h1:Xcm5wVGXX9HAA2JJ2sSBUn3tCJ+4SVlCbl2MNNv+CIU= +k8s.io/client-go v0.18.6/go.mod h1:/fwtGLjYMS1MaM5oi+eXhKwG+1UHidUEXRh6cNsdO0Q= +k8s.io/client-go v0.18.8/go.mod h1:HqFqMllQ5NnQJNwjro9k5zMyfhZlOwpuTLVrxjkYSxU= +k8s.io/client-go v0.24.1 h1:w1hNdI9PFrzu3OlovVeTnf4oHDt+FJLd9Ndluvnb42E= +k8s.io/client-go v0.24.1/go.mod h1:f1kIDqcEYmwXS/vTbbhopMUbhKp2JhOeVTfxgaCIlF8= +k8s.io/code-generator v0.18.2/go.mod h1:+UHX5rSbxmR8kzS+FAv7um6dtYrZokQvjHpDSYRVkTc= +k8s.io/code-generator v0.18.6/go.mod h1:TgNEVx9hCyPGpdtCWA34olQYLkh3ok9ar7XfSsr8b6c= +k8s.io/code-generator v0.24.1 h1:zS+dvmUNaOcvsQ4faV9hXNjsKG9/pQaLnts1Wma4RM8= +k8s.io/code-generator v0.24.1/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= +k8s.io/component-base v0.18.2/go.mod h1:kqLlMuhJNHQ9lz8Z7V5bxUUtjFZnrypArGl58gmDfUM= +k8s.io/component-base v0.18.6/go.mod h1:knSVsibPR5K6EW2XOjEHik6sdU5nCvKMrzMt2D4In14= +k8s.io/component-base v0.24.1 h1:APv6W/YmfOWZfo+XJ1mZwep/f7g7Tpwvdbo9CQLDuts= +k8s.io/component-base v0.24.1/go.mod h1:DW5vQGYVCog8WYpNob3PMmmsY8A3L9QZNg4j/dV3s38= +k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20200114144118-36b2048a9120/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/gengo v0.0.0-20211129171323-c02415ce4185/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= +k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= +k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= +k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= +k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/klog/v2 v2.90.1 h1:m4bYOKall2MmOiRaR1J+We67Do7vm9KiQVlT96lnHUw= +k8s.io/klog/v2 v2.90.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/kube-openapi v0.0.0-20200121204235-bf4fb3bd569c/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E= +k8s.io/kube-openapi v0.0.0-20200410145947-61e04a5be9a6/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E= +k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= +k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f h1:2kWPakN3i/k81b0gvD5C5FJ2kxm1WrQFanWchyKuqGg= +k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f/go.mod h1:byini6yhqGC14c3ebc/QwanvYwhuMWF6yz2F8uwW8eg= +k8s.io/utils v0.0.0-20200324210504-a9aa75ae1b89/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= +k8s.io/utils v0.0.0-20200603063816-c1c6865ac451/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20230209194617-a36077c30491 h1:r0BAOLElQnnFhE/ApUsg3iHdVYYPBjNSSOMowRZxxsY= +k8s.io/utils v0.0.0-20230209194617-a36077c30491/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw= +modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk= +modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k= +modernc.org/strutil v1.1.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs= +modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.7/go.mod h1:PHgbrJT7lCHcxMU+mDHEm+nx46H4zuuHZkDP6icnhu0= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.30/go.mod h1:fEO7lRTdivWO2qYVCVG7dEADOMo/MLDCVr8So2g88Uw= +sigs.k8s.io/controller-runtime v0.6.2/go.mod h1:vhcq/rlnENJ09SIRp3EveTaZ0yqH526hjf9iJdbUJ/E= +sigs.k8s.io/controller-runtime v0.12.1 h1:4BJY01xe9zKQti8oRjj/NeHKRXthf1YkYJAgLONFFoI= +sigs.k8s.io/controller-runtime v0.12.1/go.mod h1:BKhxlA4l7FPK4AQcsuL4X6vZeWnKDXez/vp1Y8dxTU0= +sigs.k8s.io/controller-tools v0.3.0/go.mod h1:enhtKGfxZD1GFEoMgP8Fdbu+uKQ/cq1/WGJhdVChfvI= +sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= +sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= +sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= +sigs.k8s.io/structured-merge-diff/v3 v3.0.0-20200116222232-67a7b8c61874/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw= +sigs.k8s.io/structured-merge-diff/v3 v3.0.0/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw= +sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= +sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= +sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= +sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= From efdcb1d97426a8049bc01c44b7c760284eaed6b6 Mon Sep 17 00:00:00 2001 From: Yee Hing Tong Date: Tue, 26 Sep 2023 14:01:18 -0700 Subject: [PATCH 21/47] Remove private repos (#4078) Signed-off-by: Yee Hing Tong --- docker/sandbox-bundled/Makefile | 2 +- .../manifests/complete-agent.yaml | 4 +- .../sandbox-bundled/manifests/complete.yaml | 4 +- docker/sandbox-bundled/manifests/dev.yaml | 4 +- go.mod.main | 220 -- go.sum | 4 - go.sum.main | 2398 ----------------- 7 files changed, 7 insertions(+), 2629 deletions(-) delete mode 100644 go.mod.main delete mode 100644 go.sum.main diff --git a/docker/sandbox-bundled/Makefile b/docker/sandbox-bundled/Makefile index 4590906c28..ed92a733c4 100644 --- a/docker/sandbox-bundled/Makefile +++ b/docker/sandbox-bundled/Makefile @@ -34,7 +34,7 @@ manifests: kustomize/complete-agent > manifests/complete-agent.yaml .PHONY: build -build: manifests +build: flyte manifests [ -n "$(shell docker buildx ls | awk '/^flyte-sandbox / {print $$1}')" ] || \ docker buildx create --name flyte-sandbox \ --driver docker-container --driver-opt image=moby/buildkit:master \ diff --git a/docker/sandbox-bundled/manifests/complete-agent.yaml b/docker/sandbox-bundled/manifests/complete-agent.yaml index 1495ea1c59..387fb00f98 100644 --- a/docker/sandbox-bundled/manifests/complete-agent.yaml +++ b/docker/sandbox-bundled/manifests/complete-agent.yaml @@ -1071,7 +1071,7 @@ type: Opaque --- apiVersion: v1 data: - haSharedSecret: SWducTh4R2puVUFaN0RkRA== + haSharedSecret: UGZobHZEcktoSlltcHNOZw== proxyPassword: "" proxyUsername: "" kind: Secret @@ -1790,7 +1790,7 @@ spec: metadata: annotations: checksum/config: 8f50e768255a87f078ba8b9879a0c174c3e045ffb46ac8723d2eedbe293c8d81 - checksum/secret: 44f9007801278e9d493bb52f1afeb2ac43518835dfeac95e6bbf320bdd9f1a0c + checksum/secret: dd15edd55f839d254000dba285a232088aaa1434c6da55d684be8dd7a686828f labels: app: docker-registry release: flyte-sandbox diff --git a/docker/sandbox-bundled/manifests/complete.yaml b/docker/sandbox-bundled/manifests/complete.yaml index 78aba10689..77a44ce905 100644 --- a/docker/sandbox-bundled/manifests/complete.yaml +++ b/docker/sandbox-bundled/manifests/complete.yaml @@ -1060,7 +1060,7 @@ type: Opaque --- apiVersion: v1 data: - haSharedSecret: bDFaOUhoTWVuWUxCYWZ0Yw== + haSharedSecret: azVaTmNYdzV2OTJ6QnN2Ug== proxyPassword: "" proxyUsername: "" kind: Secret @@ -1747,7 +1747,7 @@ spec: metadata: annotations: checksum/config: 8f50e768255a87f078ba8b9879a0c174c3e045ffb46ac8723d2eedbe293c8d81 - checksum/secret: 3f7b3556fe39ca67e1837666b3c4f4a8c129a2b982409092306b0e2cfaa78125 + checksum/secret: bfdfab71ae5ed72a9a4345de0769775da0a1e0aa352582f487a6ead189d262cd labels: app: docker-registry release: flyte-sandbox diff --git a/docker/sandbox-bundled/manifests/dev.yaml b/docker/sandbox-bundled/manifests/dev.yaml index eef1e487f9..dccd898f33 100644 --- a/docker/sandbox-bundled/manifests/dev.yaml +++ b/docker/sandbox-bundled/manifests/dev.yaml @@ -744,7 +744,7 @@ metadata: --- apiVersion: v1 data: - haSharedSecret: azU3bmlDVU9QVkphNnpzTg== + haSharedSecret: YWd0NktxUHZYdTh3VWpoVQ== proxyPassword: "" proxyUsername: "" kind: Secret @@ -1304,7 +1304,7 @@ spec: metadata: annotations: checksum/config: 8f50e768255a87f078ba8b9879a0c174c3e045ffb46ac8723d2eedbe293c8d81 - checksum/secret: 54d71609c2b10d379f16f55c76f854c3cfa527f76de9b43be95a7fa04763ad2c + checksum/secret: 4ba63951b24cf3c851ed512f8835b48669d09a16dc63e06d8e3f6207fda511dc labels: app: docker-registry release: flyte-sandbox diff --git a/go.mod.main b/go.mod.main deleted file mode 100644 index 610441be62..0000000000 --- a/go.mod.main +++ /dev/null @@ -1,220 +0,0 @@ -module github.com/flyteorg/flyte - -go 1.19 - -require ( - github.com/flyteorg/datacatalog v1.0.48 - github.com/flyteorg/flyteadmin v1.1.110 - github.com/flyteorg/flytepropeller v1.1.106 - github.com/flyteorg/flytestdlib v1.0.20 - github.com/golang/glog v1.1.0 - github.com/spf13/cobra v1.4.0 - github.com/spf13/pflag v1.0.5 - golang.org/x/sync v0.1.0 - gorm.io/driver/postgres v1.4.5 - k8s.io/client-go v0.24.1 - sigs.k8s.io/controller-runtime v0.12.1 -) - -require ( - cloud.google.com/go v0.110.0 // indirect - cloud.google.com/go/compute v1.19.1 // indirect - cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v0.13.0 // indirect - cloud.google.com/go/pubsub v1.30.0 // indirect - cloud.google.com/go/storage v1.28.1 // indirect - github.com/Azure/azure-sdk-for-go v63.4.0+incompatible // indirect - github.com/Azure/azure-sdk-for-go/sdk/azcore v0.23.1 // indirect - github.com/Azure/azure-sdk-for-go/sdk/internal v0.9.2 // indirect - github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.4.0 // indirect - github.com/Azure/go-autorest v14.2.0+incompatible // indirect - github.com/Azure/go-autorest/autorest v0.11.27 // indirect - github.com/Azure/go-autorest/autorest/adal v0.9.18 // indirect - github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect - github.com/Azure/go-autorest/logger v0.2.1 // indirect - github.com/Azure/go-autorest/tracing v0.6.0 // indirect - github.com/GoogleCloudPlatform/spark-on-k8s-operator v0.0.0-20200723154620-6f35a1152625 // indirect - github.com/Masterminds/semver v1.5.0 // indirect - github.com/NYTimes/gizmo v1.3.6 // indirect - github.com/Shopify/sarama v1.26.4 // indirect - github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535 // indirect - github.com/aws/amazon-sagemaker-operator-for-k8s v1.0.1-0.20210303003444-0fb33b1fd49d // indirect - github.com/aws/aws-sdk-go v1.44.2 // indirect - github.com/aws/aws-sdk-go-v2 v1.2.0 // indirect - github.com/aws/aws-sdk-go-v2/config v1.0.0 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.0.0 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.0.0 // indirect - github.com/aws/aws-sdk-go-v2/service/athena v1.0.0 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.0.0 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.0.0 // indirect - github.com/aws/smithy-go v1.1.0 // indirect - github.com/benbjohnson/clock v1.1.0 // indirect - github.com/benlaurie/objecthash v0.0.0-20180202135721-d1e3d6079fc1 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/bradfitz/gomemcache v0.0.0-20190913173617-a41fca850d0b // indirect - github.com/cespare/xxhash v1.1.0 // indirect - github.com/cespare/xxhash/v2 v2.2.0 // indirect - github.com/cloudevents/sdk-go/protocol/kafka_sarama/v2 v2.8.0 // indirect - github.com/cloudevents/sdk-go/v2 v2.8.0 // indirect - github.com/coocood/freecache v1.1.1 // indirect - github.com/coreos/go-oidc v2.2.1+incompatible // indirect - github.com/dask/dask-kubernetes/v2023 v2023.0.0-20230626103304-abd02cd17b26 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/decred/dcrd/dcrec/secp256k1/v3 v3.0.0 // indirect - github.com/dgraph-io/ristretto v0.0.3 // indirect - github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect - github.com/eapache/go-resiliency v1.2.0 // indirect - github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 // indirect - github.com/eapache/queue v1.1.0 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/evanphx/json-patch v4.12.0+incompatible // indirect - github.com/fatih/color v1.13.0 // indirect - github.com/felixge/httpsnoop v1.0.1 // indirect - github.com/flyteorg/flyteidl v1.5.11 // indirect - github.com/flyteorg/flyteplugins v1.1.8 // indirect - github.com/flyteorg/stow v0.3.6 // indirect - github.com/fsnotify/fsnotify v1.5.1 // indirect - github.com/ghodss/yaml v1.0.0 // indirect - github.com/go-gormigrate/gormigrate/v2 v2.0.0 // indirect - github.com/go-logr/logr v1.2.3 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.1 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-redis/redis v6.15.7+incompatible // indirect - github.com/go-test/deep v1.0.7 // indirect - github.com/goccy/go-json v0.4.8 // indirect - github.com/gofrs/uuid v4.2.0+incompatible // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang-jwt/jwt/v4 v4.4.1 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/golang/snappy v0.0.3 // indirect - github.com/google/gnostic v0.5.7-v3refs // indirect - github.com/google/go-cmp v0.5.9 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect - github.com/googleapis/gax-go/v2 v2.7.1 // indirect - github.com/gorilla/handlers v1.5.1 // indirect - github.com/gorilla/securecookie v1.1.1 // indirect - github.com/gorilla/websocket v1.4.2 // indirect - github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect - github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect - github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect - github.com/gtank/cryptopasta v0.0.0-20170601214702-1f550f6f2f69 // indirect - github.com/hashicorp/go-uuid v1.0.2 // indirect - github.com/hashicorp/golang-lru v0.5.4 // indirect - github.com/hashicorp/hcl v1.0.0 // indirect - github.com/imdario/mergo v0.3.13 // indirect - github.com/inconshreveable/mousetrap v1.0.0 // indirect - github.com/jackc/chunkreader/v2 v2.0.1 // indirect - github.com/jackc/pgconn v1.13.0 // indirect - github.com/jackc/pgio v1.0.0 // indirect - github.com/jackc/pgpassfile v1.0.0 // indirect - github.com/jackc/pgproto3/v2 v2.3.1 // indirect - github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b // indirect - github.com/jackc/pgtype v1.12.0 // indirect - github.com/jackc/pgx/v4 v4.17.2 // indirect - github.com/jcmturner/gofork v1.0.0 // indirect - github.com/jinzhu/inflection v1.0.0 // indirect - github.com/jinzhu/now v1.1.5 // indirect - github.com/jmespath/go-jmespath v0.4.0 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/kelseyhightower/envconfig v1.4.0 // indirect - github.com/klauspost/compress v1.9.8 // indirect - github.com/kubeflow/common v0.4.3 // indirect - github.com/kubeflow/training-operator v1.5.0-rc.0 // indirect - github.com/lestrrat-go/backoff/v2 v2.0.7 // indirect - github.com/lestrrat-go/httpcc v1.0.0 // indirect - github.com/lestrrat-go/iter v1.0.1 // indirect - github.com/lestrrat-go/jwx v1.1.6 // indirect - github.com/lestrrat-go/option v1.0.0 // indirect - github.com/magiconair/properties v1.8.6 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/mattn/go-colorable v0.1.12 // indirect - github.com/mattn/go-isatty v0.0.14 // indirect - github.com/mattn/go-sqlite3 v2.0.3+incompatible // indirect - github.com/mattn/goveralls v0.0.6 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect - github.com/mitchellh/mapstructure v1.5.0 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/ncw/swift v1.0.53 // indirect - github.com/ory/fosite v0.42.2 // indirect - github.com/ory/go-acc v0.2.6 // indirect - github.com/ory/go-convenience v0.1.0 // indirect - github.com/ory/viper v1.7.5 // indirect - github.com/ory/x v0.0.214 // indirect - github.com/pborman/uuid v1.2.0 // indirect - github.com/pelletier/go-toml v1.9.4 // indirect - github.com/pelletier/go-toml/v2 v2.0.0-beta.8 // indirect - github.com/pierrec/lz4 v2.5.2+incompatible // indirect - github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4 // indirect - github.com/pkg/errors v0.9.1 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/pquerna/cachecontrol v0.0.0-20201205024021-ac21108117ac // indirect - github.com/prometheus/client_golang v1.12.1 // indirect - github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.32.1 // indirect - github.com/prometheus/procfs v0.7.3 // indirect - github.com/ray-project/kuberay/ray-operator v0.0.0-20220728052838-eaa75fa6707c // indirect - github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect - github.com/redis/go-redis/v9 v9.0.5 // indirect - github.com/robfig/cron/v3 v3.0.0 // indirect - github.com/sendgrid/rest v2.6.8+incompatible // indirect - github.com/sendgrid/sendgrid-go v3.10.0+incompatible // indirect - github.com/sirupsen/logrus v1.8.1 // indirect - github.com/spf13/afero v1.9.2 // indirect - github.com/spf13/cast v1.4.1 // indirect - github.com/spf13/jwalterweatherman v1.1.0 // indirect - github.com/spf13/viper v1.11.0 // indirect - github.com/stretchr/objx v0.5.0 // indirect - github.com/stretchr/testify v1.8.4 // indirect - github.com/subosito/gotenv v1.2.0 // indirect - go.opencensus.io v0.24.0 // indirect - go.uber.org/atomic v1.9.0 // indirect - go.uber.org/multierr v1.8.0 // indirect - go.uber.org/zap v1.21.0 // indirect - golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa // indirect - golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e // indirect - golang.org/x/net v0.9.0 // indirect - golang.org/x/oauth2 v0.7.0 // indirect - golang.org/x/sys v0.7.0 // indirect - golang.org/x/term v0.7.0 // indirect - golang.org/x/text v0.9.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.6.0 // indirect - golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect - google.golang.org/api v0.114.0 // indirect - google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect - google.golang.org/grpc v1.56.1 // indirect - google.golang.org/protobuf v1.30.0 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/ini.v1 v1.66.4 // indirect - gopkg.in/jcmturner/aescts.v1 v1.0.1 // indirect - gopkg.in/jcmturner/dnsutils.v1 v1.0.1 // indirect - gopkg.in/jcmturner/gokrb5.v7 v7.5.0 // indirect - gopkg.in/jcmturner/rpc.v1 v1.1.0 // indirect - gopkg.in/square/go-jose.v2 v2.5.2-0.20210529014059-a5c7eec3c614 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - gorm.io/driver/sqlite v1.1.1 // indirect - gorm.io/gorm v1.24.1-0.20221019064659-5dd2bb482755 // indirect - k8s.io/api v0.24.1 // indirect - k8s.io/apiextensions-apiserver v0.24.1 // indirect - k8s.io/apimachinery v0.24.1 // indirect - k8s.io/component-base v0.24.1 // indirect - k8s.io/klog/v2 v2.90.1 // indirect - k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f // indirect - k8s.io/utils v0.0.0-20230209194617-a36077c30491 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) - -replace github.com/robfig/cron/v3 => github.com/unionai/cron/v3 v3.0.2-0.20220915080349-5790c370e63a diff --git a/go.sum b/go.sum index da82ba690d..edc4408994 100644 --- a/go.sum +++ b/go.sum @@ -1519,10 +1519,6 @@ github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGr github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/unionai/cron/v3 v3.0.2-0.20220915080349-5790c370e63a h1:pTbOzzOh94yt3WHt7uqZ1m6PUZth++GspSJGK9dEBC4= github.com/unionai/cron/v3 v3.0.2-0.20220915080349-5790c370e63a/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= -github.com/unionai/flyteadmin v1.1.115-0.20230922220028-90b279296f02 h1:UT7+HmFEo5trdkI3R9TWGHhfeCJTICAXiOvcc4ZhYpA= -github.com/unionai/flyteadmin v1.1.115-0.20230922220028-90b279296f02/go.mod h1:DoYsyQ2kEoOEt+xnRC96foR1eTVfKgOy1DRPLkgPh/Y= -github.com/unionai/flyteidl v1.5.14-0.20230916200054-78caf2c2eeb3 h1:GznIW2znW7PeixgNbSJxNIajqB5LlL98uEBOPA99HGI= -github.com/unionai/flyteidl v1.5.14-0.20230916200054-78caf2c2eeb3/go.mod h1:EtE/muM2lHHgBabjYcxqe9TWeJSL0kXwbI0RgVwI4Og= github.com/unrolled/secure v0.0.0-20180918153822-f340ee86eb8b/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= github.com/unrolled/secure v0.0.0-20181005190816-ff9db2ff917f/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= diff --git a/go.sum.main b/go.sum.main deleted file mode 100644 index fe2fd4cd85..0000000000 --- a/go.sum.main +++ /dev/null @@ -1,2398 +0,0 @@ -bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.41.0/go.mod h1:OauMR7DV8fzvZIl2qg6rkaIhD/vmgk4iwEw/h6ercmg= -cloud.google.com/go v0.43.0/go.mod h1:BOSR3VbTLkk6FDC/TcffxP4NF/FFBGA5ku+jvKOP7pg= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.110.0 h1:Zc8gqp3+a9/Eyph2KDmcGaPtbKRIoqq4YTlL4NMD0Ys= -cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute v1.19.1 h1:am86mquDUgjGNWxiGn+5PGLbmgiWXlE/yNWpIpNvuXY= -cloud.google.com/go/compute v1.19.1/go.mod h1:6ylj3a05WF8leseCdIf77NK0g1ey+nj5IKd5/kvShxE= -cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= -cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= -cloud.google.com/go/iam v0.13.0 h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k= -cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= -cloud.google.com/go/kms v1.10.1 h1:7hm1bRqGCA1GBRQUrp831TwJ9TWhP+tvLuP497CQS2g= -cloud.google.com/go/logging v1.0.0/go.mod h1:V1cc3ogwobYzQq5f2R7DS/GvRIrI4FKj01Gs5glwAls= -cloud.google.com/go/longrunning v0.4.1 h1:v+yFJOfKC3yZdY6ZUI933pIYdhyhV8S3NpWrXWmg7jM= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/pubsub v1.30.0 h1:vCge8m7aUKBJYOgrZp7EsNDf6QMd2CAlXZqWTn3yq6s= -cloud.google.com/go/pubsub v1.30.0/go.mod h1:qWi1OPS0B+b5L+Sg6Gmc9zD1Y+HaM0MdUr7LsupY1P4= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -cloud.google.com/go/storage v1.28.1 h1:F5QDG5ChchaAVQhINh24U99OWHURqrW8OmQcGKXcbgI= -cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= -contrib.go.opencensus.io/exporter/stackdriver v0.13.1/go.mod h1:z2tyTZtPmQ2HvWH4cOmVDgtY+1lomfKdbLnkJvZdc8c= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/azure-sdk-for-go v63.4.0+incompatible h1:fle3M5Q7vr8auaiPffKyUQmLbvYeqpw30bKU6PrWJFo= -github.com/Azure/azure-sdk-for-go v63.4.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= -github.com/Azure/azure-sdk-for-go/sdk/azcore v0.23.1 h1:3CVsSo4mp8NDWO11tHzN/mdo2zP0CtaSK5IcwBjfqRA= -github.com/Azure/azure-sdk-for-go/sdk/azcore v0.23.1/go.mod h1:w5pDIZuawUmY3Bj4tVx3Xb8KS96ToB0j315w9rqpAg0= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.14.0 h1:NVS/4LOQfkBpk+B1VopIzv1ptmYeEskA8w/3K/w7vjo= -github.com/Azure/azure-sdk-for-go/sdk/internal v0.9.2 h1:Px2KVERcYEg2Lv25AqC2hVr0xUWaq94wuEObLIkYzmA= -github.com/Azure/azure-sdk-for-go/sdk/internal v0.9.2/go.mod h1:CdSJQNNzZhCkwDaV27XV1w48ZBPtxe7mlrZAsPNxD5g= -github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.4.0 h1:0nJeKDmB7a1a8RDMjTltahlPsaNlWjq/LpkZleSwINk= -github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.4.0/go.mod h1:mbwxKc/fW+IkF0GG591MuXw0KuEQBDkeRoZ9vmVJPxg= -github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= -github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= -github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= -github.com/Azure/go-autorest/autorest v0.11.27 h1:F3R3q42aWytozkV8ihzcgMO4OA4cuqr3bNlsEuF6//A= -github.com/Azure/go-autorest/autorest v0.11.27/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= -github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= -github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= -github.com/Azure/go-autorest/autorest/adal v0.9.18 h1:kLnPsRjzZZUF3K5REu/Kc+qMQrvuza2bwSnNdhmzLfQ= -github.com/Azure/go-autorest/autorest/adal v0.9.18/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= -github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= -github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= -github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/autorest/mocks v0.4.2 h1:PGN4EDXnuQbojHbU0UWoNvmu9AGVwYHG9/fkDYhtAfw= -github.com/Azure/go-autorest/autorest/mocks v0.4.2/go.mod h1:Vy7OitM9Kei0i1Oj+LvyAWMXJHeKH1MVlzFugfVrmyU= -github.com/Azure/go-autorest/autorest/to v0.4.0 h1:oXVqrxakqqV1UZdSazDOPOLvOIz+XA683u8EctwboHk= -github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= -github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg= -github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= -github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= -github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= -github.com/AzureAD/microsoft-authentication-library-for-go v0.4.0 h1:WVsrXCnHlDDX8ls+tootqRE87/hL9S/g4ewig9RsD/c= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= -github.com/DataDog/datadog-go v3.4.1+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/DataDog/datadog-go v4.0.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/DataDog/opencensus-go-exporter-datadog v0.0.0-20191210083620-6965a1cfed68/go.mod h1:gMGUEe16aZh0QN941HgDjwrdjU4iTthPoz2/AtDRADE= -github.com/GoogleCloudPlatform/spark-on-k8s-operator v0.0.0-20200723154620-6f35a1152625 h1:cQyO5JQ2iuHnEcF3v24kdDMsgh04RjyFPDtuvD6PCE0= -github.com/GoogleCloudPlatform/spark-on-k8s-operator v0.0.0-20200723154620-6f35a1152625/go.mod h1:6PnrZv6zUDkrNMw0mIoGRmGBR7i9LulhKPmxFq4rUiM= -github.com/Jeffail/gabs/v2 v2.5.1/go.mod h1:xCn81vdHKxFUuWWAaD5jCTQDNPBMh5pPs9IJ+NcziBI= -github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= -github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= -github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= -github.com/Masterminds/semver/v3 v3.0.3/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= -github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc= -github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= -github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= -github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= -github.com/NYTimes/gizmo v1.3.6 h1:K+GRagPdAxojsT1TlTQlMkTeOmgfLxSdvuOhdki7GG0= -github.com/NYTimes/gizmo v1.3.6/go.mod h1:8S8QVnITA40p/1jGsUMcPI8R9SSKkoKu+8WF13s9Uhw= -github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= -github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= -github.com/NYTimes/logrotate v1.0.0/go.mod h1:GxNz1cSw1c6t99PXoZlw+nm90H6cyQyrH66pjVv7x88= -github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= -github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= -github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/Selvatico/go-mocket v1.0.7 h1:sXuFMnMfVL9b/Os8rGXPgbOFbr4HJm8aHsulD/uMTUk= -github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= -github.com/Shopify/sarama v1.25.0/go.mod h1:y/CFFTO9eaMTNriwu/Q+W4eioLqiDMGkA1W+gmdfj8w= -github.com/Shopify/sarama v1.26.4 h1:+17TxUq/PJEAfZAll0T7XJjSgQWCpaQSoki/x5yN8o8= -github.com/Shopify/sarama v1.26.4/go.mod h1:NbSGBSSndYaIhRcBtY9V0U7AyH+x71bG668AuWys/yU= -github.com/Shopify/toxiproxy v2.1.4+incompatible h1:TKdv8HiTLgE5wdJuEML90aBgNWsokNbMijUGhmcoBJc= -github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= -github.com/adammck/venv v0.0.0-20160819025605-8a9c907a37d3/go.mod h1:3zXR2a/VSQndtpShh783rUTaEA2mpqN2VqZclBARBc0= -github.com/adammck/venv v0.0.0-20200610172036-e77789703e7c h1:RoL0r3mR3JSkLur8q8AD59cByJ+kRwJHODNimZBd7GI= -github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= -github.com/ajg/form v0.0.0-20160822230020-523a5da1a92f/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= -github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= -github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20210826220005-b48c857c3a0e/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= -github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535 h1:4daAzAu0S6Vi7/lbWECcX0j45yZReDZ56BQsrVBOEEY= -github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= -github.com/aws/amazon-sagemaker-operator-for-k8s v1.0.1-0.20210303003444-0fb33b1fd49d h1:O+ayl/Vp3bDEXReXItmYHzCnsz/LKusXdRNiJKVxjPs= -github.com/aws/amazon-sagemaker-operator-for-k8s v1.0.1-0.20210303003444-0fb33b1fd49d/go.mod h1:mZUP7GJmjiWtf8v3FD1X/QdK08BqyeH/1Ejt0qhNzCs= -github.com/aws/aws-sdk-go v1.23.19/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.23.20/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.31.3/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= -github.com/aws/aws-sdk-go v1.37.3/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/aws/aws-sdk-go v1.44.2 h1:5VBk5r06bgxgRKVaUtm1/4NT/rtrnH2E4cnAYv5zgQc= -github.com/aws/aws-sdk-go v1.44.2/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= -github.com/aws/aws-sdk-go-v2 v1.0.0/go.mod h1:smfAbmpW+tcRVuNUjo3MOArSZmW72t62rkCzc2i0TWM= -github.com/aws/aws-sdk-go-v2 v1.2.0 h1:BS+UYpbsElC82gB+2E2jiCBg36i8HlubTB/dO/moQ9c= -github.com/aws/aws-sdk-go-v2 v1.2.0/go.mod h1:zEQs02YRBw1DjK0PoJv3ygDYOFTre1ejlJWl8FwAuQo= -github.com/aws/aws-sdk-go-v2/config v1.0.0 h1:x6vSFAwqAvhYPeSu60f0ZUlGHo3PKKmwDOTL8aMXtv4= -github.com/aws/aws-sdk-go-v2/config v1.0.0/go.mod h1:WysE/OpUgE37tjtmtJd8GXgT8s1euilE5XtUkRNUQ1w= -github.com/aws/aws-sdk-go-v2/credentials v1.0.0 h1:0M7netgZ8gCV4v7z1km+Fbl7j6KQYyZL7SS0/l5Jn/4= -github.com/aws/aws-sdk-go-v2/credentials v1.0.0/go.mod h1:/SvsiqBf509hG4Bddigr3NB12MIpfHhZapyBurJe8aY= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.0.0 h1:lO7fH5n7Q1dKcDBpuTmwJylD1bOQiRig8LI6TD9yVQk= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.0.0/go.mod h1:wpMHDCXvOXZxGCRSidyepa8uJHY4vaBGfY2/+oKU/Bc= -github.com/aws/aws-sdk-go-v2/service/athena v1.0.0 h1:UfrZP3NMTTKpOsf/P8uCaOxz3U2CNGEizdQKcObY7Ds= -github.com/aws/aws-sdk-go-v2/service/athena v1.0.0/go.mod h1:qY8QFbemf2ceqweXcS6hQqiiIe1z42WqTvHsK2Lb0rE= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.0.0 h1:IAutMPSrynpvKOpHG6HyWHmh1xmxWAmYOK84NrQVqVQ= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.0.0/go.mod h1:3jExOmpbjgPnz2FJaMOfbSk1heTkZ66aD3yNtVhnjvI= -github.com/aws/aws-sdk-go-v2/service/sts v1.0.0 h1:6XCgxNfE4L/Fnq+InhVNd16DKc6Ue1f3dJl3IwwJRUQ= -github.com/aws/aws-sdk-go-v2/service/sts v1.0.0/go.mod h1:5f+cELGATgill5Pu3/vK3Ebuigstc+qYEHW5MvGWZO4= -github.com/aws/aws-xray-sdk-go v0.9.4/go.mod h1:XtMKdBQfpVut+tJEwI7+dJFRxxRdxHDyVNp2tHXRq04= -github.com/aws/smithy-go v1.0.0/go.mod h1:EzMw8dbp/YJL4A5/sbhGddag+NPT7q084agLbB9LgIw= -github.com/aws/smithy-go v1.1.0 h1:D6CSsM3gdxaGaqXnPgOBCeL6Mophqzu7KJOu7zW78sU= -github.com/aws/smithy-go v1.1.0/go.mod h1:EzMw8dbp/YJL4A5/sbhGddag+NPT7q084agLbB9LgIw= -github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= -github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/benlaurie/objecthash v0.0.0-20180202135721-d1e3d6079fc1 h1:VRtJdDi2lqc3MFwmouppm2jlm6icF+7H3WYKpLENMTo= -github.com/benlaurie/objecthash v0.0.0-20180202135721-d1e3d6079fc1/go.mod h1:jvdWlw8vowVGnZqSDC7yhPd7AifQeQbRDkZcQXV2nRg= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= -github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= -github.com/bmatcuk/doublestar/v2 v2.0.3/go.mod h1:QMmcs3H2AUQICWhfzLXz+IYln8lRQmTZRptLie8RgRw= -github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= -github.com/bradfitz/gomemcache v0.0.0-20180710155616-bc664df96737/go.mod h1:PmM6Mmwb0LSuEubjR8N7PtNe1KxZLtOUHtbeikc5h60= -github.com/bradfitz/gomemcache v0.0.0-20190913173617-a41fca850d0b h1:L/QXpzIa3pOvUGt1D1lA5KjYhPBAN/3iWdP7xeFS9F0= -github.com/bradfitz/gomemcache v0.0.0-20190913173617-a41fca850d0b/go.mod h1:H0wQNHz2YrLsuXOZozoeDmnHXkNCRmMW0gwFWDfEZDA= -github.com/bsm/ginkgo/v2 v2.7.0 h1:ItPMPH90RbmZJt5GtkcNvIRuGEdwlBItdNVoyzaNQao= -github.com/bsm/gomega v1.26.0 h1:LhQm+AFcgV2M0WyKroMASzAzCAJVpAxQXv4SaI9a69Y= -github.com/cenkalti/backoff v2.1.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= -github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= -github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= -github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= -github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927 h1:SKI1/fuSdodxmNNyVBR8d7X/HuLnRpvvFO0AgyQk764= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575/go.mod h1:9d6lWj8KzO/fd/NrVaLscBKmPigpZpn5YawRPw+e3Yo= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudevents/sdk-go/binding/format/protobuf/v2 v2.8.0 h1:hRguaVL9rVsO8PMOpKSZ5gYZ2kjGRCvuKw4yMlfsBtg= -github.com/cloudevents/sdk-go/protocol/kafka_sarama/v2 v2.8.0 h1:48wFAj3LK/G80FqXgKzyciQF9BU3W+RwucGwWY1Tk0M= -github.com/cloudevents/sdk-go/protocol/kafka_sarama/v2 v2.8.0/go.mod h1:m41mqM/Pa9pzPPNrvWwY3M7llCuzciKk5tqH0m6Rz9I= -github.com/cloudevents/sdk-go/v2 v2.8.0 h1:kmRaLbsafZmidZ0rZ6h7WOMqCkRMcVTLV5lxV/HKQ9Y= -github.com/cloudevents/sdk-go/v2 v2.8.0/go.mod h1:GpCBmUj7DIRiDhVvsK5d6WCbgTWs8DxAWTRtAwQmIXs= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I= -github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= -github.com/cockroachdb/cockroach-go v0.0.0-20181001143604-e0a95dfd547c/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= -github.com/cockroachdb/cockroach-go v0.0.0-20190925194419-606b3d062051/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= -github.com/cockroachdb/cockroach-go v0.0.0-20200312223839-f565e4789405/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= -github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= -github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= -github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= -github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= -github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/codegangsta/negroni v1.0.0/go.mod h1:v0y3T5G7Y1UlFfyxFn/QLRU4a2EuNau2iZY63YTKWo0= -github.com/containerd/containerd v1.4.3/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/continuity v0.0.0-20181203112020-004b46473808/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -github.com/containerd/continuity v0.0.0-20190827140505-75bee3e2ccb6/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -github.com/containerd/continuity v0.0.0-20200107194136-26c1120b8d41/go.mod h1:Dq467ZllaHgAtVp4p1xUQWBrFXR9s/wyoTpG8zOJGkY= -github.com/coocood/freecache v1.1.1 h1:uukNF7QKCZEdZ9gAV7WQzvh0SbjwdMF6m3x3rxEkaPc= -github.com/coocood/freecache v1.1.1/go.mod h1:OKrEjkGVoxZhyWAJoeFi5BMLUJm2Tit0kpGkIr7NGYY= -github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= -github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= -github.com/coreos/go-oidc v2.2.1+incompatible h1:mh48q/BqXqgjVHpy2ZY7WnWAbenxRjsz9N1i1YxjHAk= -github.com/coreos/go-oidc v2.2.1+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= -github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= -github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/cucumber/godog v0.8.1/go.mod h1:vSh3r/lM+psC1BPXvdkSEuNjmXfpVqrMGYAElF6hxnA= -github.com/dask/dask-kubernetes/v2023 v2023.0.0-20230626103304-abd02cd17b26 h1:6RByIva89lKEvwIzNQSUNcu8NG1p1wwwC4mJfVk/kqw= -github.com/dask/dask-kubernetes/v2023 v2023.0.0-20230626103304-abd02cd17b26/go.mod h1:OqIYr2QnxR3sQK2XahJIyWVcjz38LQ4GNcUzqezFpRg= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/decred/dcrd/chaincfg/chainhash v1.0.2/go.mod h1:BpbrGgrPTr3YJYRN3Bm+D9NuaFd+zGyNeIKgrhCXK60= -github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= -github.com/decred/dcrd/dcrec/secp256k1/v3 v3.0.0 h1:sgNeV1VRMDzs6rzyPpxyM0jp317hnwiq58Filgag2xw= -github.com/decred/dcrd/dcrec/secp256k1/v3 v3.0.0/go.mod h1:J70FGZSbzsjecRTiTzER+3f1KZLNaXkuv+yeFTKoxM8= -github.com/denisenkom/go-mssqldb v0.0.0-20200428022330-06a60b6afbbc h1:VRRKCwnzqk8QCaRC4os14xoKDdbHqqlJtJA0oc1ZAjg= -github.com/denisenkom/go-mssqldb v0.0.0-20200428022330-06a60b6afbbc/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= -github.com/dgraph-io/ristretto v0.0.1/go.mod h1:T40EBc7CJke8TkpiYfGGKAeFjSaxuFXhuXRyumBd6RE= -github.com/dgraph-io/ristretto v0.0.2/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= -github.com/dgraph-io/ristretto v0.0.3 h1:jh22xisGBjrEVnRZ1DVTpBVQm0Xndu8sMl0CWDzSIBI= -github.com/dgraph-io/ristretto v0.0.3/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA= -github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= -github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/dnaeon/go-vcr v1.1.0 h1:ReYa/UBrRyQdant9B4fNHGoCNKw6qh6P0fsdGmZpR7c= -github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= -github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v0.7.3-0.20190327010347-be7ac8be2ae0/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker v17.12.0-ce-rc1.0.20201201034508-7d75c1d40d88+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= -github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dustin/go-humanize v0.0.0-20180713052910-9f541cc9db5d/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= -github.com/eapache/go-resiliency v1.2.0 h1:v7g92e/KSN71Rq7vSThKaWIq68fL4YHvWyiUKorFR1Q= -github.com/eapache/go-resiliency v1.2.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 h1:YEetp8/yCZMuEPMUDHG0CW/brkkEp8mzqk2+ODEitlw= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= -github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= -github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= -github.com/elastic/go-sysinfo v1.1.1/go.mod h1:i1ZYdU10oLNfRzq4vq62BEwD2fH8KaWh6eh0ikPT9F0= -github.com/elastic/go-windows v1.0.0/go.mod h1:TsU0Nrp7/y3+VwE82FoZF8gC/XFg/Elz6CcloAxnPgU= -github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= -github.com/elazarl/goproxy v0.0.0-20181003060214-f58a169a71a5/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= -github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/evanphx/json-patch v0.0.0-20200808040245-162e5629780b/go.mod h1:NAJj0yf/KaRKURN6nyi7A9IZydMivZEm9oQLWNjfKDc= -github.com/evanphx/json-patch v0.5.2/go.mod h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMikGIFbs31qQ= -github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84= -github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= -github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= -github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= -github.com/fatih/structs v1.0.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= -github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= -github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= -github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/flyteorg/datacatalog v1.0.48 h1:KPUV4uUZ0adLL9uvQ+pmGymdzDrwqeYJzpOk+DR+2e4= -github.com/flyteorg/datacatalog v1.0.48/go.mod h1:VhtWkjCBJ9LZpt6uqTyKMYq1IAkW7dUeAdbWN9DI6h0= -github.com/flyteorg/flyteplugins v1.1.8 h1:UVYdqDdcIqz2JIso+m3MsaPSsTZJZyZQ6Eg7nhX9r/Y= -github.com/flyteorg/flyteplugins v1.1.8/go.mod h1:sRxeatEOHq1b9bTxTRNcwoIkVTAVN9dTz8toXkfcz2E= -github.com/flyteorg/flytepropeller v1.1.106 h1:o9wmCcki/YI3vwZ3NjiQApCCMtJo+1hwMHvYuIKe3GI= -github.com/flyteorg/flytepropeller v1.1.106/go.mod h1:quRRoa2lbK/R6/GXt75pGm1NR+Renm2Kov/vMUHQ4dI= -github.com/flyteorg/flytestdlib v1.0.20 h1:BrCQMlpdrFAPlADFJvCyn7gm+37df9WGYqLEB1mOlCQ= -github.com/flyteorg/flytestdlib v1.0.20/go.mod h1:v3ua7HfHDXXTCrAt2yZERGKCuilP5Rh+L8TdAbfVcBg= -github.com/flyteorg/stow v0.3.6 h1:jt50ciM14qhKBaIrB+ppXXY+SXB59FNREFgTJqCyqIk= -github.com/flyteorg/stow v0.3.6/go.mod h1:5dfBitPM004dwaZdoVylVjxFT4GWAgI0ghAndhNUzCo= -github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= -github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= -github.com/frankban/quicktest v1.4.1/go.mod h1:36zfPVQyHxymz4cH7wlDmVwDrJuljRB60qkgn7rorfQ= -github.com/frankban/quicktest v1.7.2/go.mod h1:jaStnuzAqU1AJdCO0l53JDCJrVDKcS03DbaAcR7Ks/o= -github.com/frankban/quicktest v1.10.0 h1:Gfh+GAJZOAoKZsIZeZbdn2JF10kN1XHNvjsvQK8gVkE= -github.com/frankban/quicktest v1.10.0/go.mod h1:ui7WezCLWMWxVWr1GETZY3smRy0G4KWq9vcPtJmFl7Y= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= -github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= -github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= -github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= -github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= -github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= -github.com/go-bindata/go-bindata v3.1.1+incompatible/go.mod h1:xK8Dsgwmeed+BBsSy2XTopBn/8uK2HWuGSnA11C3Joo= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gormigrate/gormigrate/v2 v2.0.0 h1:e2A3Uznk4viUC4UuemuVgsNnvYZyOA8B3awlYk3UioU= -github.com/go-gormigrate/gormigrate/v2 v2.0.0/go.mod h1:YuVJ+D/dNt4HWrThTBnjgZuRbt7AuwINeg4q52ZE3Jw= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= -github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v0.2.1/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= -github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/zapr v0.1.0/go.mod h1:tabnROwaDl0UNxkVeFRbY8bwB37GwRv0P8lg6aAiEnk= -github.com/go-logr/zapr v0.2.0/go.mod h1:qhKdvif7YF5GI9NWEpyxTSSBdGmzkNguibrdCNVPunU= -github.com/go-logr/zapr v1.2.0 h1:n4JnPI1T3Qq1SFEi/F8rwLrZERp2bso19PJZDB9dayk= -github.com/go-logr/zapr v1.2.0/go.mod h1:Qa4Bsj2Vb+FAVeAKsLD8RLQ+YRJB8YDmOAKxaBQf7Ro= -github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI= -github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= -github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= -github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk= -github.com/go-openapi/analysis v0.19.4/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk= -github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU= -github.com/go-openapi/analysis v0.19.10/go.mod h1:qmhS3VNFxBlquFJ0RGoDtylO9y4pgTAUNE9AEEMdlJQ= -github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= -github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= -github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= -github.com/go-openapi/errors v0.19.3/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= -github.com/go-openapi/errors v0.19.6/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.20.0/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= -github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= -github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= -github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= -github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= -github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= -github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= -github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= -github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= -github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= -github.com/go-openapi/jsonreference v0.20.1 h1:FBLnyygC4/IZZr893oiomc9XaghoveYTrLC1F86HID8= -github.com/go-openapi/jsonreference v0.20.1/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= -github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= -github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= -github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs= -github.com/go-openapi/loads v0.19.3/go.mod h1:YVfqhUCdahYwR3f3iiwQLhicVRvLlU/WO5WPaZvcvSI= -github.com/go-openapi/loads v0.19.4/go.mod h1:zZVHonKd8DXyxyw4yfnVjPzBjIQcLt0CCsn0N0ZrQsk= -github.com/go-openapi/loads v0.19.5/go.mod h1:dswLCAdonkRufe/gSUC3gN8nTSaB9uaS2es0x5/IbjY= -github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA= -github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64= -github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4= -github.com/go-openapi/runtime v0.19.15/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2gUt9nTQPQZuoo= -github.com/go-openapi/runtime v0.19.26/go.mod h1:BvrQtn6iVb2QmiVXRsFAm6ZCAZBpbVKFfN6QWCp582M= -github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= -github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= -github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= -github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY= -github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= -github.com/go-openapi/spec v0.19.6/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= -github.com/go-openapi/spec v0.19.8/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= -github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= -github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= -github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY= -github.com/go-openapi/strfmt v0.19.2/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= -github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= -github.com/go-openapi/strfmt v0.19.4/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= -github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= -github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= -github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= -github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= -github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.7/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= -github.com/go-openapi/swag v0.19.9/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= -github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4= -github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA= -github.com/go-openapi/validate v0.19.3/go.mod h1:90Vh6jjkTn+OT1Eefm0ZixWNFjhtOH7vS9k0lo6zwJo= -github.com/go-openapi/validate v0.19.5/go.mod h1:8DJv2CVJQ6kGNpFW6eV9N3JviE1C85nY1c2z52x1Gk4= -github.com/go-openapi/validate v0.19.10/go.mod h1:RKEZTUWDkxKQxN2jDT7ZnZi2bhZlbNMAuKvKB+IaGx8= -github.com/go-redis/redis v6.15.7+incompatible h1:3skhDh95XQMpnqeqNftPkQD9jL9e5e36z/1SUm6dy1U= -github.com/go-redis/redis v6.15.7+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= -github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= -github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= -github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-test/deep v1.0.7 h1:/VSMRlnY/JSyqxQUzQLKVMAskpY/NZKFA5j2P+0pP2M= -github.com/go-test/deep v1.0.7/go.mod h1:QV8Hv/iy04NyLBxAdO9njL0iVPN1S4d/A3NVv1V36o8= -github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= -github.com/gobuffalo/attrs v0.1.0/go.mod h1:fmNpaWyHM0tRm8gCZWKx8yY9fvaNLo2PyzBNSrBZ5Hw= -github.com/gobuffalo/buffalo v0.12.8-0.20181004233540-fac9bb505aa8/go.mod h1:sLyT7/dceRXJUxSsE813JTQtA3Eb1vjxWfo/N//vXIY= -github.com/gobuffalo/buffalo v0.13.0/go.mod h1:Mjn1Ba9wpIbpbrD+lIDMy99pQ0H0LiddMIIDGse7qT4= -github.com/gobuffalo/buffalo-plugins v1.0.2/go.mod h1:pOp/uF7X3IShFHyobahTkTLZaeUXwb0GrUTb9ngJWTs= -github.com/gobuffalo/buffalo-plugins v1.0.4/go.mod h1:pWS1vjtQ6uD17MVFWf7i3zfThrEKWlI5+PYLw/NaDB4= -github.com/gobuffalo/buffalo-plugins v1.4.3/go.mod h1:uCzTY0woez4nDMdQjkcOYKanngeUVRO2HZi7ezmAjWY= -github.com/gobuffalo/buffalo-plugins v1.5.1/go.mod h1:jbmwSZK5+PiAP9cC09VQOrGMZFCa/P0UMlIS3O12r5w= -github.com/gobuffalo/buffalo-plugins v1.6.4/go.mod h1:/+N1aophkA2jZ1ifB2O3Y9yGwu6gKOVMtUmJnbg+OZI= -github.com/gobuffalo/buffalo-plugins v1.6.5/go.mod h1:0HVkbgrVs/MnPZ/FOseDMVanCTm2RNcdM0PuXcL1NNI= -github.com/gobuffalo/buffalo-plugins v1.6.7/go.mod h1:ZGZRkzz2PiKWHs0z7QsPBOTo2EpcGRArMEym6ghKYgk= -github.com/gobuffalo/buffalo-plugins v1.6.9/go.mod h1:yYlYTrPdMCz+6/+UaXg5Jm4gN3xhsvsQ2ygVatZV5vw= -github.com/gobuffalo/buffalo-plugins v1.6.11/go.mod h1:eAA6xJIL8OuynJZ8amXjRmHND6YiusVAaJdHDN1Lu8Q= -github.com/gobuffalo/buffalo-plugins v1.8.2/go.mod h1:9te6/VjEQ7pKp7lXlDIMqzxgGpjlKoAcAANdCgoR960= -github.com/gobuffalo/buffalo-plugins v1.8.3/go.mod h1:IAWq6vjZJVXebIq2qGTLOdlXzmpyTZ5iJG5b59fza5U= -github.com/gobuffalo/buffalo-plugins v1.9.4/go.mod h1:grCV6DGsQlVzQwk6XdgcL3ZPgLm9BVxlBmXPMF8oBHI= -github.com/gobuffalo/buffalo-plugins v1.10.0/go.mod h1:4osg8d9s60txLuGwXnqH+RCjPHj9K466cDFRl3PErHI= -github.com/gobuffalo/buffalo-plugins v1.11.0/go.mod h1:rtIvAYRjYibgmWhnjKmo7OadtnxuMG5ZQLr25ozAzjg= -github.com/gobuffalo/buffalo-plugins v1.15.0/go.mod h1:BqSx01nwgKUQr/MArXzFkSD0QvdJidiky1OKgyfgrK8= -github.com/gobuffalo/buffalo-pop v1.0.5/go.mod h1:Fw/LfFDnSmB/vvQXPvcXEjzP98Tc+AudyNWUBWKCwQ8= -github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= -github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= -github.com/gobuffalo/envy v1.6.4/go.mod h1:Abh+Jfw475/NWtYMEt+hnJWRiC8INKWibIMyNt1w2Mc= -github.com/gobuffalo/envy v1.6.5/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ= -github.com/gobuffalo/envy v1.6.6/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ= -github.com/gobuffalo/envy v1.6.7/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ= -github.com/gobuffalo/envy v1.6.8/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ= -github.com/gobuffalo/envy v1.6.9/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ= -github.com/gobuffalo/envy v1.6.10/go.mod h1:X0CFllQjTV5ogsnUrg+Oks2yTI+PU2dGYBJOEI2D1Uo= -github.com/gobuffalo/envy v1.6.11/go.mod h1:Fiq52W7nrHGDggFPhn2ZCcHw4u/rqXkqo+i7FB6EAcg= -github.com/gobuffalo/envy v1.6.12/go.mod h1:qJNrJhKkZpEW0glh5xP2syQHH5kgdmgsKss2Kk8PTP0= -github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/envy v1.7.1/go.mod h1:FurDp9+EDPE4aIUS3ZLyD+7/9fpx7YRt/ukY6jIHf0w= -github.com/gobuffalo/envy v1.8.1/go.mod h1:FurDp9+EDPE4aIUS3ZLyD+7/9fpx7YRt/ukY6jIHf0w= -github.com/gobuffalo/envy v1.9.0/go.mod h1:FurDp9+EDPE4aIUS3ZLyD+7/9fpx7YRt/ukY6jIHf0w= -github.com/gobuffalo/events v1.0.3/go.mod h1:Txo8WmqScapa7zimEQIwgiJBvMECMe9gJjsKNPN3uZw= -github.com/gobuffalo/events v1.0.7/go.mod h1:z8txf6H9jWhQ5Scr7YPLWg/cgXBRj8Q4uYI+rsVCCSQ= -github.com/gobuffalo/events v1.0.8/go.mod h1:A5KyqT1sA+3GJiBE4QKZibse9mtOcI9nw8gGrDdqYGs= -github.com/gobuffalo/events v1.1.3/go.mod h1:9yPGWYv11GENtzrIRApwQRMYSbUgCsZ1w6R503fCfrk= -github.com/gobuffalo/events v1.1.4/go.mod h1:09/YRRgZHEOts5Isov+g9X2xajxdvOAcUuAHIX/O//A= -github.com/gobuffalo/events v1.1.5/go.mod h1:3YUSzgHfYctSjEjLCWbkXP6djH2M+MLaVRzb4ymbAK0= -github.com/gobuffalo/events v1.1.7/go.mod h1:6fGqxH2ing5XMb3EYRq9LEkVlyPGs4oO/eLzh+S8CxY= -github.com/gobuffalo/events v1.1.8/go.mod h1:UFy+W6X6VbCWS8k2iT81HYX65dMtiuVycMy04cplt/8= -github.com/gobuffalo/events v1.1.9/go.mod h1:/0nf8lMtP5TkgNbzYxR6Bl4GzBy5s5TebgNTdRfRbPM= -github.com/gobuffalo/events v1.3.1/go.mod h1:9JOkQVoyRtailYVE/JJ2ZQ/6i4gTjM5t2HsZK4C1cSA= -github.com/gobuffalo/events v1.4.1/go.mod h1:SjXgWKpeSuvQDvGhgMz5IXx3Czu+IbL+XPLR41NvVQY= -github.com/gobuffalo/fizz v1.0.12/go.mod h1:C0sltPxpYK8Ftvf64kbsQa2yiCZY4RZviurNxXdAKwc= -github.com/gobuffalo/fizz v1.9.8/go.mod h1:w1FEn1yKNVCc49KnADGyYGRPH7jFON3ak4Bj1yUudHo= -github.com/gobuffalo/fizz v1.10.0/go.mod h1:J2XGPO0AfJ1zKw7+2BA+6FEGAkyEsdCOLvN93WCT2WI= -github.com/gobuffalo/flect v0.0.0-20180907193754-dc14d8acaf9f/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= -github.com/gobuffalo/flect v0.0.0-20181002182613-4571df4b1daf/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= -github.com/gobuffalo/flect v0.0.0-20181007231023-ae7ed6bfe683/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= -github.com/gobuffalo/flect v0.0.0-20181018182602-fd24a256709f/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= -github.com/gobuffalo/flect v0.0.0-20181019110701-3d6f0b585514/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= -github.com/gobuffalo/flect v0.0.0-20181024204909-8f6be1a8c6c2/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= -github.com/gobuffalo/flect v0.0.0-20181104133451-1f6e9779237a/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= -github.com/gobuffalo/flect v0.0.0-20181114183036-47375f6d8328/go.mod h1:0HvNbHdfh+WOvDSIASqJOSxTOWSxCCUF++k/Y53v9rI= -github.com/gobuffalo/flect v0.0.0-20181210151238-24a2b68e0316/go.mod h1:en58vff74S9b99Eg42Dr+/9yPu437QjlNsO/hBYPuOk= -github.com/gobuffalo/flect v0.0.0-20190104192022-4af577e09bf2/go.mod h1:en58vff74S9b99Eg42Dr+/9yPu437QjlNsO/hBYPuOk= -github.com/gobuffalo/flect v0.0.0-20190117212819-a62e61d96794/go.mod h1:397QT6v05LkZkn07oJXXT6y9FCfwC8Pug0WA2/2mE9k= -github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs= -github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= -github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= -github.com/gobuffalo/flect v0.1.5/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80= -github.com/gobuffalo/flect v0.2.0/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80= -github.com/gobuffalo/flect v0.2.1/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= -github.com/gobuffalo/genny v0.0.0-20180924032338-7af3a40f2252/go.mod h1:tUTQOogrr7tAQnhajMSH6rv1BVev34H2sa1xNHMy94g= -github.com/gobuffalo/genny v0.0.0-20181003150629-3786a0744c5d/go.mod h1:WAd8HmjMVrnkAZbmfgH5dLBUchsZfqzp/WS5sQz+uTM= -github.com/gobuffalo/genny v0.0.0-20181005145118-318a41a134cc/go.mod h1:WAd8HmjMVrnkAZbmfgH5dLBUchsZfqzp/WS5sQz+uTM= -github.com/gobuffalo/genny v0.0.0-20181007153042-b8de7d566757/go.mod h1:+oG5Ljrw04czAHbPXREwaFojJbpUvcIy4DiOnbEJFTA= -github.com/gobuffalo/genny v0.0.0-20181012161047-33e5f43d83a6/go.mod h1:+oG5Ljrw04czAHbPXREwaFojJbpUvcIy4DiOnbEJFTA= -github.com/gobuffalo/genny v0.0.0-20181017160347-90a774534246/go.mod h1:+oG5Ljrw04czAHbPXREwaFojJbpUvcIy4DiOnbEJFTA= -github.com/gobuffalo/genny v0.0.0-20181024195656-51392254bf53/go.mod h1:o9GEH5gn5sCKLVB5rHFC4tq40rQ3VRUzmx6WwmaqISE= -github.com/gobuffalo/genny v0.0.0-20181025145300-af3f81d526b8/go.mod h1:uZ1fFYvdcP8mu0B/Ynarf6dsGvp7QFIpk/QACUuFUVI= -github.com/gobuffalo/genny v0.0.0-20181027191429-94d6cfb5c7fc/go.mod h1:x7SkrQQBx204Y+O9EwRXeszLJDTaWN0GnEasxgLrQTA= -github.com/gobuffalo/genny v0.0.0-20181027195209-3887b7171c4f/go.mod h1:JbKx8HSWICu5zyqWOa0dVV1pbbXOHusrSzQUprW6g+w= -github.com/gobuffalo/genny v0.0.0-20181106193839-7dcb0924caf1/go.mod h1:x61yHxvbDCgQ/7cOAbJCacZQuHgB0KMSzoYcw5debjU= -github.com/gobuffalo/genny v0.0.0-20181107223128-f18346459dbe/go.mod h1:utQD3aKKEsdb03oR+Vi/6ztQb1j7pO10N3OBoowRcSU= -github.com/gobuffalo/genny v0.0.0-20181114215459-0a4decd77f5d/go.mod h1:kN2KZ8VgXF9VIIOj/GM0Eo7YK+un4Q3tTreKOf0q1ng= -github.com/gobuffalo/genny v0.0.0-20181119162812-e8ff4adce8bb/go.mod h1:BA9htSe4bZwBDJLe8CUkoqkypq3hn3+CkoHqVOW718E= -github.com/gobuffalo/genny v0.0.0-20181127225641-2d959acc795b/go.mod h1:l54xLXNkteX/PdZ+HlgPk1qtcrgeOr3XUBBPDbH+7CQ= -github.com/gobuffalo/genny v0.0.0-20181128191930-77e34f71ba2a/go.mod h1:FW/D9p7cEEOqxYA71/hnrkOWm62JZ5ZNxcNIVJEaWBU= -github.com/gobuffalo/genny v0.0.0-20181203165245-fda8bcce96b1/go.mod h1:wpNSANu9UErftfiaAlz1pDZclrYzLtO5lALifODyjuM= -github.com/gobuffalo/genny v0.0.0-20181203201232-849d2c9534ea/go.mod h1:wpNSANu9UErftfiaAlz1pDZclrYzLtO5lALifODyjuM= -github.com/gobuffalo/genny v0.0.0-20181206121324-d6fb8a0dbe36/go.mod h1:wpNSANu9UErftfiaAlz1pDZclrYzLtO5lALifODyjuM= -github.com/gobuffalo/genny v0.0.0-20181207164119-84844398a37d/go.mod h1:y0ysCHGGQf2T3vOhCrGHheYN54Y/REj0ayd0Suf4C/8= -github.com/gobuffalo/genny v0.0.0-20181211165820-e26c8466f14d/go.mod h1:sHnK+ZSU4e2feXP3PA29ouij6PUEiN+RCwECjCTB3yM= -github.com/gobuffalo/genny v0.0.0-20190104222617-a71664fc38e7/go.mod h1:QPsQ1FnhEsiU8f+O0qKWXz2RE4TiDqLVChWkBuh1WaY= -github.com/gobuffalo/genny v0.0.0-20190112155932-f31a84fcacf5/go.mod h1:CIaHCrSIuJ4il6ka3Hub4DR4adDrGoXGEEt2FbBxoIo= -github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= -github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= -github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= -github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= -github.com/gobuffalo/genny v0.2.0/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= -github.com/gobuffalo/genny v0.3.0/go.mod h1:ywJ2CoXrTZj7rbS8HTbzv7uybnLKlsNSBhEQ+yFI3E8= -github.com/gobuffalo/genny v0.6.0/go.mod h1:Vigx9VDiNscYpa/LwrURqGXLSIbzTfapt9+K6gF1kTA= -github.com/gobuffalo/genny/v2 v2.0.5/go.mod h1:kRkJuAw9mdI37AiEYjV4Dl+TgkBDYf8HZVjLkqe5eBg= -github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= -github.com/gobuffalo/github_flavored_markdown v1.0.4/go.mod h1:uRowCdK+q8d/RF0Kt3/DSalaIXbb0De/dmTqMQdkQ4I= -github.com/gobuffalo/github_flavored_markdown v1.0.5/go.mod h1:U0643QShPF+OF2tJvYNiYDLDGDuQmJZXsf/bHOJPsMY= -github.com/gobuffalo/github_flavored_markdown v1.0.7/go.mod h1:w93Pd9Lz6LvyQXEG6DktTPHkOtCbr+arAD5mkwMzXLI= -github.com/gobuffalo/github_flavored_markdown v1.1.0/go.mod h1:TSpTKWcRTI0+v7W3x8dkSKMLJSUpuVitlptCkpeY8ic= -github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= -github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= -github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= -github.com/gobuffalo/gogen v0.2.0/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= -github.com/gobuffalo/helpers v0.2.2/go.mod h1:xYbzUdCUpVzLwLnqV8HIjT6hmG0Cs7YIBCJkNM597jw= -github.com/gobuffalo/helpers v0.2.4/go.mod h1:NX7v27yxPDOPTgUFYmJ5ow37EbxdoLraucOGvMNawyk= -github.com/gobuffalo/helpers v0.5.0/go.mod h1:stpgxJ2C7T99NLyAxGUnYMM2zAtBk5NKQR0SIbd05j4= -github.com/gobuffalo/helpers v0.6.0/go.mod h1:pncVrer7x/KRvnL5aJABLAuT/RhKRR9klL6dkUOhyv8= -github.com/gobuffalo/helpers v0.6.1/go.mod h1:wInbDi0vTJKZBviURTLRMFLE4+nF2uRuuL2fnlYo7w4= -github.com/gobuffalo/here v0.6.0/go.mod h1:wAG085dHOYqUpf+Ap+WOdrPTp5IYcDAs/x7PLa8Y5fM= -github.com/gobuffalo/httptest v1.0.2/go.mod h1:7T1IbSrg60ankme0aDLVnEY0h056g9M1/ZvpVThtB7E= -github.com/gobuffalo/licenser v0.0.0-20180924033006-eae28e638a42/go.mod h1:Ubo90Np8gpsSZqNScZZkVXXAo5DGhTb+WYFIjlnog8w= -github.com/gobuffalo/licenser v0.0.0-20181025145548-437d89de4f75/go.mod h1:x3lEpYxkRG/XtGCUNkio+6RZ/dlOvLzTI9M1auIwFcw= -github.com/gobuffalo/licenser v0.0.0-20181027200154-58051a75da95/go.mod h1:BzhaaxGd1tq1+OLKObzgdCV9kqVhbTulxOpYbvMQWS0= -github.com/gobuffalo/licenser v0.0.0-20181109171355-91a2a7aac9a7/go.mod h1:m+Ygox92pi9bdg+gVaycvqE8RVSjZp7mWw75+K5NPHk= -github.com/gobuffalo/licenser v0.0.0-20181128165715-cc7305f8abed/go.mod h1:oU9F9UCE+AzI/MueCKZamsezGOOHfSirltllOVeRTAE= -github.com/gobuffalo/licenser v0.0.0-20181203160806-fe900bbede07/go.mod h1:ph6VDNvOzt1CdfaWC+9XwcBnlSTBz2j49PBwum6RFaU= -github.com/gobuffalo/licenser v0.0.0-20181211173111-f8a311c51159/go.mod h1:ve/Ue99DRuvnTaLq2zKa6F4KtHiYf7W046tDjuGYPfM= -github.com/gobuffalo/licenser v1.1.0/go.mod h1:ZVWE6uKUE3rGf7sedUHWVjNWrEgxaUQLVFL+pQiWpfY= -github.com/gobuffalo/logger v0.0.0-20181022175615-46cfb361fc27/go.mod h1:8sQkgyhWipz1mIctHF4jTxmJh1Vxhp7mP8IqbljgJZo= -github.com/gobuffalo/logger v0.0.0-20181027144941-73d08d2bb969/go.mod h1:7uGg2duHKpWnN4+YmyKBdLXfhopkAdVM6H3nKbyFbz8= -github.com/gobuffalo/logger v0.0.0-20181027193913-9cf4dd0efe46/go.mod h1:7uGg2duHKpWnN4+YmyKBdLXfhopkAdVM6H3nKbyFbz8= -github.com/gobuffalo/logger v0.0.0-20181109185836-3feeab578c17/go.mod h1:oNErH0xLe+utO+OW8ptXMSA5DkiSEDW1u3zGIt8F9Ew= -github.com/gobuffalo/logger v0.0.0-20181117211126-8e9b89b7c264/go.mod h1:5etB91IE0uBlw9k756fVKZJdS+7M7ejVhmpXXiSFj0I= -github.com/gobuffalo/logger v0.0.0-20181127160119-5b956e21995c/go.mod h1:+HxKANrR9VGw9yN3aOAppJKvhO05ctDi63w4mDnKv2U= -github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= -github.com/gobuffalo/logger v1.0.0/go.mod h1:2zbswyIUa45I+c+FLXuWl9zSWEiVuthsk8ze5s8JvPs= -github.com/gobuffalo/logger v1.0.1/go.mod h1:2zbswyIUa45I+c+FLXuWl9zSWEiVuthsk8ze5s8JvPs= -github.com/gobuffalo/logger v1.0.3/go.mod h1:SoeejUwldiS7ZsyCBphOGURmWdwUFXs0J7TCjEhjKxM= -github.com/gobuffalo/makr v1.1.5/go.mod h1:Y+o0btAH1kYAMDJW/TX3+oAXEu0bmSLLoC9mIFxtzOw= -github.com/gobuffalo/mapi v1.0.0/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/mapi v1.1.0/go.mod h1:pqQ1XAqvpy/JYtRwoieNps2yU8MFiMxBUpAm2FBtQ50= -github.com/gobuffalo/mapi v1.2.1/go.mod h1:giGJ2AUESRepOFYAzWpq8Gf/s/QDryxoEHisQtFN3cY= -github.com/gobuffalo/meta v0.0.0-20181018155829-df62557efcd3/go.mod h1:XTTOhwMNryif3x9LkTTBO/Llrveezd71u3quLd0u7CM= -github.com/gobuffalo/meta v0.0.0-20181018192820-8c6cef77dab3/go.mod h1:E94EPzx9NERGCY69UWlcj6Hipf2uK/vnfrF4QD0plVE= -github.com/gobuffalo/meta v0.0.0-20181025145500-3a985a084b0a/go.mod h1:YDAKBud2FP7NZdruCSlmTmDOZbVSa6bpK7LJ/A/nlKg= -github.com/gobuffalo/meta v0.0.0-20181114191255-b130ebedd2f7/go.mod h1:K6cRZ29ozr4Btvsqkjvg5nDFTLOgTqf03KA70Ks0ypE= -github.com/gobuffalo/meta v0.0.0-20181127070345-0d7e59dd540b/go.mod h1:RLO7tMvE0IAKAM8wny1aN12pvEKn7EtkBLkUZR00Qf8= -github.com/gobuffalo/meta v0.0.0-20190120163247-50bbb1fa260d/go.mod h1:KKsH44nIK2gA8p0PJmRT9GvWJUdphkDUA8AJEvFWiqM= -github.com/gobuffalo/meta v0.0.0-20190329152330-e161e8a93e3b/go.mod h1:mCRSy5F47tjK8yaIDcJad4oe9fXxY5gLrx3Xx2spK+0= -github.com/gobuffalo/meta v0.3.0/go.mod h1:cpr6mrUX5H/B4wEP86Gdq568TK4+dKUD8oRPl698RUw= -github.com/gobuffalo/mw-basicauth v1.0.3/go.mod h1:dg7+ilMZOKnQFHDefUzUHufNyTswVUviCBgF244C1+0= -github.com/gobuffalo/mw-contenttype v0.0.0-20180802152300-74f5a47f4d56/go.mod h1:7EvcmzBbeCvFtQm5GqF9ys6QnCxz2UM1x0moiWLq1No= -github.com/gobuffalo/mw-csrf v0.0.0-20180802151833-446ff26e108b/go.mod h1:sbGtb8DmDZuDUQoxjr8hG1ZbLtZboD9xsn6p77ppcHo= -github.com/gobuffalo/mw-forcessl v0.0.0-20180802152810-73921ae7a130/go.mod h1:JvNHRj7bYNAMUr/5XMkZaDcw3jZhUZpsmzhd//FFWmQ= -github.com/gobuffalo/mw-i18n v0.0.0-20180802152014-e3060b7e13d6/go.mod h1:91AQfukc52A6hdfIfkxzyr+kpVYDodgAeT5cjX1UIj4= -github.com/gobuffalo/mw-paramlogger v0.0.0-20181005191442-d6ee392ec72e/go.mod h1:6OJr6VwSzgJMqWMj7TYmRUqzNe2LXu/W1rRW4MAz/ME= -github.com/gobuffalo/mw-tokenauth v0.0.0-20181001105134-8545f626c189/go.mod h1:UqBF00IfKvd39ni5+yI5MLMjAf4gX7cDKN/26zDOD6c= -github.com/gobuffalo/nulls v0.2.0/go.mod h1:w4q8RoSCEt87Q0K0sRIZWYeIxkxog5mh3eN3C/n+dUc= -github.com/gobuffalo/nulls v0.3.0/go.mod h1:UP49vd/k+bcaz6m0cHMyuk8oQ7XgLnkfxeiVoPAvBSs= -github.com/gobuffalo/packd v0.0.0-20181027182251-01ad393492c8/go.mod h1:SmdBdhj6uhOsg1Ui4SFAyrhuc7U4VCildosO5IDJ3lc= -github.com/gobuffalo/packd v0.0.0-20181027190505-aafc0d02c411/go.mod h1:SmdBdhj6uhOsg1Ui4SFAyrhuc7U4VCildosO5IDJ3lc= -github.com/gobuffalo/packd v0.0.0-20181027194105-7ae579e6d213/go.mod h1:SmdBdhj6uhOsg1Ui4SFAyrhuc7U4VCildosO5IDJ3lc= -github.com/gobuffalo/packd v0.0.0-20181031195726-c82734870264/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI= -github.com/gobuffalo/packd v0.0.0-20181104210303-d376b15f8e96/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI= -github.com/gobuffalo/packd v0.0.0-20181111195323-b2e760a5f0ff/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI= -github.com/gobuffalo/packd v0.0.0-20181114190715-f25c5d2471d7/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI= -github.com/gobuffalo/packd v0.0.0-20181124090624-311c6248e5fb/go.mod h1:Foenia9ZvITEvG05ab6XpiD5EfBHPL8A6hush8SJ0o8= -github.com/gobuffalo/packd v0.0.0-20181207120301-c49825f8f6f4/go.mod h1:LYc0TGKFBBFTRC9dg2pcRcMqGCTMD7T2BIMP7OBuQAA= -github.com/gobuffalo/packd v0.0.0-20181212173646-eca3b8fd6687/go.mod h1:LYc0TGKFBBFTRC9dg2pcRcMqGCTMD7T2BIMP7OBuQAA= -github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packd v0.2.0/go.mod h1:k2CkHP3bjbqL2GwxwhxUy1DgnlbW644hkLC9iIUvZwY= -github.com/gobuffalo/packd v0.3.0/go.mod h1:zC7QkmNkYVGKPw4tHpBQ+ml7W/3tIebgeo1b36chA3Q= -github.com/gobuffalo/packd v1.0.0/go.mod h1:6VTc4htmJRFB7u1m/4LeMTWjFoYrUiBkU9Fdec9hrhI= -github.com/gobuffalo/packr v1.13.7/go.mod h1:KkinLIn/n6+3tVXMwg6KkNvWwVsrRAz4ph+jgpk3Z24= -github.com/gobuffalo/packr v1.15.0/go.mod h1:t5gXzEhIviQwVlNx/+3SfS07GS+cZ2hn76WLzPp6MGI= -github.com/gobuffalo/packr v1.15.1/go.mod h1:IeqicJ7jm8182yrVmNbM6PR4g79SjN9tZLH8KduZZwE= -github.com/gobuffalo/packr v1.19.0/go.mod h1:MstrNkfCQhd5o+Ct4IJ0skWlxN8emOq8DsoT1G98VIU= -github.com/gobuffalo/packr v1.20.0/go.mod h1:JDytk1t2gP+my1ig7iI4NcVaXr886+N0ecUga6884zw= -github.com/gobuffalo/packr v1.21.0/go.mod h1:H00jGfj1qFKxscFJSw8wcL4hpQtPe1PfU2wa6sg/SR0= -github.com/gobuffalo/packr v1.22.0/go.mod h1:Qr3Wtxr3+HuQEwWqlLnNW4t1oTvK+7Gc/Rnoi/lDFvA= -github.com/gobuffalo/packr/v2 v2.0.0-rc.8/go.mod h1:y60QCdzwuMwO2R49fdQhsjCPv7tLQFR0ayzxxla9zes= -github.com/gobuffalo/packr/v2 v2.0.0-rc.9/go.mod h1:fQqADRfZpEsgkc7c/K7aMew3n4aF1Kji7+lIZeR98Fc= -github.com/gobuffalo/packr/v2 v2.0.0-rc.10/go.mod h1:4CWWn4I5T3v4c1OsJ55HbHlUEKNWMITG5iIkdr4Px4w= -github.com/gobuffalo/packr/v2 v2.0.0-rc.11/go.mod h1:JoieH/3h3U4UmatmV93QmqyPUdf4wVM9HELaHEu+3fk= -github.com/gobuffalo/packr/v2 v2.0.0-rc.12/go.mod h1:FV1zZTsVFi1DSCboO36Xgs4pzCZBjB/tDV9Cz/lSaR8= -github.com/gobuffalo/packr/v2 v2.0.0-rc.13/go.mod h1:2Mp7GhBFMdJlOK8vGfl7SYtfMP3+5roE39ejlfjw0rA= -github.com/gobuffalo/packr/v2 v2.0.0-rc.14/go.mod h1:06otbrNvDKO1eNQ3b8hst+1010UooI2MFg+B2Ze4MV8= -github.com/gobuffalo/packr/v2 v2.0.0-rc.15/go.mod h1:IMe7H2nJvcKXSF90y4X1rjYIRlNMJYCxEhssBXNZwWs= -github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= -github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= -github.com/gobuffalo/packr/v2 v2.4.0/go.mod h1:ra341gygw9/61nSjAbfwcwh8IrYL4WmR4IsPkPBhQiY= -github.com/gobuffalo/packr/v2 v2.5.2/go.mod h1:sgEE1xNZ6G0FNN5xn9pevVu4nywaxHvgup67xisti08= -github.com/gobuffalo/packr/v2 v2.7.1/go.mod h1:qYEvAazPaVxy7Y7KR0W8qYEE+RymX74kETFqjFoFlOc= -github.com/gobuffalo/packr/v2 v2.8.0/go.mod h1:PDk2k3vGevNE3SwVyVRgQCCXETC9SaONCNSXT1Q8M1g= -github.com/gobuffalo/plush v3.7.16+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= -github.com/gobuffalo/plush v3.7.20+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= -github.com/gobuffalo/plush v3.7.21+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= -github.com/gobuffalo/plush v3.7.22+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= -github.com/gobuffalo/plush v3.7.23+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= -github.com/gobuffalo/plush v3.7.30+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= -github.com/gobuffalo/plush v3.7.31+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= -github.com/gobuffalo/plush v3.7.32+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= -github.com/gobuffalo/plush v3.8.2+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= -github.com/gobuffalo/plush v3.8.3+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= -github.com/gobuffalo/plush/v4 v4.0.0/go.mod h1:ErFS3UxKqEb8fpFJT7lYErfN/Nw6vHGiDMTjxpk5bQ0= -github.com/gobuffalo/plushgen v0.0.0-20181128164830-d29dcb966cb2/go.mod h1:r9QwptTFnuvSaSRjpSp4S2/4e2D3tJhARYbvEBcKSb4= -github.com/gobuffalo/plushgen v0.0.0-20181203163832-9fc4964505c2/go.mod h1:opEdT33AA2HdrIwK1aibqnTJDVVKXC02Bar/GT1YRVs= -github.com/gobuffalo/plushgen v0.0.0-20181207152837-eedb135bd51b/go.mod h1:Lcw7HQbEVm09sAQrCLzIxuhFbB3nAgp4c55E+UlynR0= -github.com/gobuffalo/plushgen v0.0.0-20190104222512-177cd2b872b3/go.mod h1:tYxCozi8X62bpZyKXYHw1ncx2ZtT2nFvG42kuLwYjoc= -github.com/gobuffalo/plushgen v0.1.2/go.mod h1:3U71v6HWZpVER1nInTXeAwdoRNsRd4W8aeIa1Lyp+Bk= -github.com/gobuffalo/pop v4.8.2+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop v4.8.3+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop v4.8.4+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop v4.13.1+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= -github.com/gobuffalo/pop/v5 v5.0.11/go.mod h1:mZJHJbA3cy2V18abXYuVop2ldEJ8UZ2DK6qOekC5u5g= -github.com/gobuffalo/pop/v5 v5.3.1/go.mod h1:vcEDhh6cJ3WVENqJDFt/6z7zNb7lLnlN8vj3n5G9rYA= -github.com/gobuffalo/release v1.0.35/go.mod h1:VtHFAKs61vO3wboCec5xr9JPTjYyWYcvaM3lclkc4x4= -github.com/gobuffalo/release v1.0.38/go.mod h1:VtHFAKs61vO3wboCec5xr9JPTjYyWYcvaM3lclkc4x4= -github.com/gobuffalo/release v1.0.42/go.mod h1:RPs7EtafH4oylgetOJpGP0yCZZUiO4vqHfTHJjSdpug= -github.com/gobuffalo/release v1.0.52/go.mod h1:RPs7EtafH4oylgetOJpGP0yCZZUiO4vqHfTHJjSdpug= -github.com/gobuffalo/release v1.0.53/go.mod h1:FdF257nd8rqhNaqtDWFGhxdJ/Ig4J7VcS3KL7n/a+aA= -github.com/gobuffalo/release v1.0.54/go.mod h1:Pe5/RxRa/BE8whDpGfRqSI7D1a0evGK1T4JDm339tJc= -github.com/gobuffalo/release v1.0.61/go.mod h1:mfIO38ujUNVDlBziIYqXquYfBF+8FDHUjKZgYC1Hj24= -github.com/gobuffalo/release v1.0.72/go.mod h1:NP5NXgg/IX3M5XmHmWR99D687/3Dt9qZtTK/Lbwc1hU= -github.com/gobuffalo/release v1.1.1/go.mod h1:Sluak1Xd6kcp6snkluR1jeXAogdJZpFFRzTYRs/2uwg= -github.com/gobuffalo/release v1.1.3/go.mod h1:CuXc5/m+4zuq8idoDt1l4va0AXAn/OSs08uHOfMVr8E= -github.com/gobuffalo/release v1.1.6/go.mod h1:18naWa3kBsqO0cItXZNJuefCKOENpbbUIqRL1g+p6z0= -github.com/gobuffalo/release v1.7.0/go.mod h1:xH2NjAueVSY89XgC4qx24ojEQ4zQ9XCGVs5eXwJTkEs= -github.com/gobuffalo/shoulders v1.0.1/go.mod h1:V33CcVmaQ4gRUmHKwq1fiTXuf8Gp/qjQBUL5tHPmvbA= -github.com/gobuffalo/shoulders v1.0.4/go.mod h1:LqMcHhKRuBPMAYElqOe3POHiZ1x7Ry0BE8ZZ84Bx+k4= -github.com/gobuffalo/syncx v0.0.0-20181120191700-98333ab04150/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= -github.com/gobuffalo/syncx v0.0.0-20181120194010-558ac7de985f/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= -github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= -github.com/gobuffalo/syncx v0.1.0/go.mod h1:Mg/s+5pv7IgxEp6sA+NFpqS4o2x+R9dQNwbwT0iuOGQ= -github.com/gobuffalo/tags v2.0.11+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY= -github.com/gobuffalo/tags v2.0.14+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY= -github.com/gobuffalo/tags v2.0.15+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY= -github.com/gobuffalo/tags v2.1.0+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY= -github.com/gobuffalo/tags v2.1.7+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY= -github.com/gobuffalo/tags/v3 v3.0.2/go.mod h1:ZQeN6TCTiwAFnS0dNcbDtSgZDwNKSpqajvVtt6mlYpA= -github.com/gobuffalo/tags/v3 v3.1.0/go.mod h1:ZQeN6TCTiwAFnS0dNcbDtSgZDwNKSpqajvVtt6mlYpA= -github.com/gobuffalo/uuid v2.0.3+incompatible/go.mod h1:ErhIzkRhm0FtRuiE/PeORqcw4cVi1RtSpnwYrxuvkfE= -github.com/gobuffalo/uuid v2.0.4+incompatible/go.mod h1:ErhIzkRhm0FtRuiE/PeORqcw4cVi1RtSpnwYrxuvkfE= -github.com/gobuffalo/uuid v2.0.5+incompatible/go.mod h1:ErhIzkRhm0FtRuiE/PeORqcw4cVi1RtSpnwYrxuvkfE= -github.com/gobuffalo/validate v2.0.3+incompatible/go.mod h1:N+EtDe0J8252BgfzQUChBgfd6L93m9weay53EWFVsMM= -github.com/gobuffalo/validate v2.0.4+incompatible/go.mod h1:N+EtDe0J8252BgfzQUChBgfd6L93m9weay53EWFVsMM= -github.com/gobuffalo/validate/v3 v3.0.0/go.mod h1:HFpjq+AIiA2RHoQnQVTFKF/ZpUPXwyw82LgyDPxQ9r0= -github.com/gobuffalo/validate/v3 v3.1.0/go.mod h1:HFpjq+AIiA2RHoQnQVTFKF/ZpUPXwyw82LgyDPxQ9r0= -github.com/gobuffalo/validate/v3 v3.2.0/go.mod h1:PrhDOdDHxtN8KUgMvF3TDL0r1YZXV4sQnyFX/EmeETY= -github.com/gobuffalo/x v0.0.0-20181003152136-452098b06085/go.mod h1:WevpGD+5YOreDJznWevcn8NTmQEW5STSBgIkpkjzqXc= -github.com/gobuffalo/x v0.0.0-20181007152206-913e47c59ca7/go.mod h1:9rDPXaB3kXdKWzMc4odGQQdG2e2DIEmANy5aSJ9yesY= -github.com/goccy/go-json v0.4.8 h1:TfwOxfSp8hXH+ivoOk36RyDNmXATUETRdaNWDaZglf8= -github.com/goccy/go-json v0.4.8/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gofrs/uuid v3.1.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gofrs/uuid v4.2.0+incompatible h1:yyYWMnhkhrKwwr8gAOcOCYxOOscHgDS9yZgBrnJfGa0= -github.com/gofrs/uuid v4.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gofrs/uuid/v3 v3.1.2/go.mod h1:xPwMqoocQ1L5G6pXX5BcE7N5jlzn2o19oqAKxwZW/kI= -github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-jwt/jwt v3.2.1+incompatible h1:73Z+4BJcrTC+KczS6WvTPvRGOp1WmfEP4Q1lOd9Z/+c= -github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.4.1 h1:pC5DB52sCeK48Wlb9oPcdhnjkz1TKt1D/P7WKJ0kUcQ= -github.com/golang-jwt/jwt/v4 v4.4.1/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= -github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= -github.com/golang/gddo v0.0.0-20180828051604-96d2a289f41e/go.mod h1:xEhNfoBDX1hzLm2Nf80qUvZ2sVwoMZ8d6IE2SrsQfh4= -github.com/golang/gddo v0.0.0-20190904175337-72a348e765d2/go.mod h1:xEhNfoBDX1hzLm2Nf80qUvZ2sVwoMZ8d6IE2SrsQfh4= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= -github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= -github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= -github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= -github.com/google/cel-go v0.10.1/go.mod h1:U7ayypeSkw23szu4GaQTPJGx66c20mx8JklMSxrmI1w= -github.com/google/cel-spec v0.6.0/go.mod h1:Nwjgxy5CbjlPrtCWjeDjUyKMl8w41YBYGjsyDdqk0xA= -github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54= -github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-jsonnet v0.16.0/go.mod h1:sOcuej3UW1vpPTZOr8L7RQimqai1a57bt5j22LzGZCw= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/enterprise-certificate-proxy v0.2.3 h1:yk9/cqRKtT9wXZSsRH9aurXEpJX+U6FLtpYTdC3R06k= -github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.7.1 h1:gF4c0zjUP2H/s/hEGyLA3I0fA2ZWjzYiONAD6cvPr8A= -github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= -github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= -github.com/googleapis/gnostic v0.1.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= -github.com/googleapis/gnostic v0.3.1/go.mod h1:on+2t9HRStVgn95RSsFWFz+6Q0Snyqv1awfrALZdbtU= -github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= -github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8= -github.com/gopherjs/gopherjs v0.0.0-20181004151105-1babbf986f6f/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= -github.com/gorilla/handlers v1.4.2/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= -github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= -github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= -github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.7.0/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= -github.com/gorilla/pat v0.0.0-20180118222023-199c85a7f6d1/go.mod h1:YeAe0gNeiNT5hoiZRI4yiOky6jVdNvfO2N6Kav/HmxY= -github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ= -github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= -github.com/gorilla/sessions v1.1.2/go.mod h1:8KCfur6+4Mqcc6S0FEfKuN15Vl5MgXW92AE8ovaJD0w= -github.com/gorilla/sessions v1.1.3/go.mod h1:8KCfur6+4Mqcc6S0FEfKuN15Vl5MgXW92AE8ovaJD0w= -github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gotestyourself/gotestyourself v1.3.0/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= -github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-middleware v1.2.0/go.mod h1:mJzapYve32yjrKlk9GbyCZHuPgZsrbyIbyKhSzOpg6s= -github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= -github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/gtank/cryptopasta v0.0.0-20170601214702-1f550f6f2f69 h1:7xsUJsB2NrdcttQPa7JLEaGzvdbk7KvfrjgHZXOQRo0= -github.com/gtank/cryptopasta v0.0.0-20170601214702-1f550f6f2f69/go.mod h1:YLEMZOtU+AZ7dhN9T/IpGhXVGly2bvkJQ+zxj3WeVQo= -github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= -github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-retryablehttp v0.6.8/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= -github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= -github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= -github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= -github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.9/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= -github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= -github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/inhies/go-bytesize v0.0.0-20201103132853-d0aed0d254f8/go.mod h1:KrtyD5PFj++GKkFS/7/RRrfnRhAMGQwy75GLCHWrCNs= -github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= -github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= -github.com/jackc/chunkreader/v2 v2.0.1 h1:i+RDz65UE+mmpjTfyz0MoVTnzeYxroil2G82ki7MGG8= -github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= -github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod h1:WrMFNQdiFJ80sQsxDoMokWK1W5TQtxBFNpzWTD84ibQ= -github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA= -github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE= -github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s= -github.com/jackc/pgconn v1.3.2/go.mod h1:LvCquS3HbBKwgl7KbX9KyqEIumJAbm1UMcTvGaIf3bM= -github.com/jackc/pgconn v1.4.0/go.mod h1:Y2O3ZDF0q4mMacyWV3AstPJpeHXWGEetiFttmq5lahk= -github.com/jackc/pgconn v1.5.0/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI= -github.com/jackc/pgconn v1.5.1-0.20200601181101-fa742c524853/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI= -github.com/jackc/pgconn v1.6.0/go.mod h1:yeseQo4xhQbgyJs2c87RAXOH2i624N0Fh1KSPJya7qo= -github.com/jackc/pgconn v1.6.4/go.mod h1:w2pne1C2tZgP+TvjqLpOigGzNqjBgQW9dUw/4Chex78= -github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o= -github.com/jackc/pgconn v1.9.0/go.mod h1:YctiPyvzfU11JFxoXokUOOKQXQmDMoJL9vJzHH8/2JY= -github.com/jackc/pgconn v1.9.1-0.20210724152538-d89c8390a530/go.mod h1:4z2w8XhRbP1hYxkpTuBjTS3ne3J48K83+u0zoyvg2pI= -github.com/jackc/pgconn v1.13.0 h1:3L1XMNV2Zvca/8BYhzcRFS70Lr0WlDg16Di6SFGAbys= -github.com/jackc/pgconn v1.13.0/go.mod h1:AnowpAqO4CMIIJNZl2VJp+KrkAZciAkhEl0W0JIobpI= -github.com/jackc/pgio v1.0.0 h1:g12B9UwVnzGhueNavwioyEEpAmqMe1E/BN9ES+8ovkE= -github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= -github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE= -github.com/jackc/pgmock v0.0.0-20201204152224-4fe30f7445fd/go.mod h1:hrBW0Enj2AZTNpt/7Y5rr2xe/9Mn757Wtb2xeBzPv2c= -github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65 h1:DadwsjnMwFjfWc9y5Wi/+Zz7xoE5ALHsRQlOctkOiHc= -github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65/go.mod h1:5R2h2EEX+qri8jOWMbJCtaPWkrrNc7OHwsp2TCqp7ak= -github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= -github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= -github.com/jackc/pgproto3 v1.1.0/go.mod h1:eR5FA3leWg7p9aeAqi37XOTgTIbkABlvcPB3E5rlc78= -github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190420180111-c116219b62db/go.mod h1:bhq50y+xrl9n5mRYyCBFKkpRVTLYJVWeCc+mEAI3yXA= -github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod h1:uH0AWtUmuShn0bcesswc4aBTWGvw0cAxIJp+6OB//Wg= -github.com/jackc/pgproto3/v2 v2.0.0-rc3/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= -github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= -github.com/jackc/pgproto3/v2 v2.0.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgproto3/v2 v2.0.2/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgproto3/v2 v2.0.6/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgproto3/v2 v2.1.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgproto3/v2 v2.3.1 h1:nwj7qwf0S+Q7ISFfBndqeLwSwxs+4DPsbRFjECT1Y4Y= -github.com/jackc/pgproto3/v2 v2.3.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgservicefile v0.0.0-20200307190119-3430c5407db8/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= -github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b h1:C8S2+VttkHFdOOCXJe+YGfa4vHYwlt4Zx+IVXQ97jYg= -github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= -github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg= -github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc= -github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw= -github.com/jackc/pgtype v1.2.0/go.mod h1:5m2OfMh1wTK7x+Fk952IDmI4nw3nPrvtQdM0ZT4WpC0= -github.com/jackc/pgtype v1.3.0/go.mod h1:b0JqxHvPmljG+HQ5IsvQ0yqeSi4nGcDTVjFoiLDb0Ik= -github.com/jackc/pgtype v1.3.1-0.20200510190516-8cd94a14c75a/go.mod h1:vaogEUkALtxZMCH411K+tKzNpwzCKU+AnPzBKZ+I+Po= -github.com/jackc/pgtype v1.3.1-0.20200606141011-f6355165a91c/go.mod h1:cvk9Bgu/VzJ9/lxTO5R5sf80p0DiucVtN7ZxvaC4GmQ= -github.com/jackc/pgtype v1.4.2/go.mod h1:JCULISAZBFGrHaOXIIFiyfzW5VY0GRitRr8NeJsrdig= -github.com/jackc/pgtype v1.8.1-0.20210724151600-32e20a603178/go.mod h1:C516IlIV9NKqfsMCXTdChteoXmwgUceqaLfjg2e3NlM= -github.com/jackc/pgtype v1.12.0 h1:Dlq8Qvcch7kiehm8wPGIW0W3KsCCHJnRacKW0UM8n5w= -github.com/jackc/pgtype v1.12.0/go.mod h1:LUMuVrfsFfdKGLw+AFFVv6KtHOFMwRgDDzBt76IqCA4= -github.com/jackc/pgx v3.2.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= -github.com/jackc/pgx v3.6.2+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= -github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y= -github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM= -github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc= -github.com/jackc/pgx/v4 v4.4.1/go.mod h1:6iSW+JznC0YT+SgBn7rNxoEBsBgSmnC5FwyCekOGUiE= -github.com/jackc/pgx/v4 v4.5.0/go.mod h1:EpAKPLdnTorwmPUUsqrPxy5fphV18j9q3wrfRXgo+kA= -github.com/jackc/pgx/v4 v4.6.0/go.mod h1:vPh43ZzxijXUVJ+t/EmXBtFmbFVO72cuneCT9oAlxAg= -github.com/jackc/pgx/v4 v4.6.1-0.20200510190926-94ba730bb1e9/go.mod h1:t3/cdRQl6fOLDxqtlyhe9UWgfIi9R8+8v8GKV5TRA/o= -github.com/jackc/pgx/v4 v4.6.1-0.20200606145419-4e5062306904/go.mod h1:ZDaNWkt9sW1JMiNn0kdYBaLelIhw7Pg4qd+Vk6tw7Hg= -github.com/jackc/pgx/v4 v4.8.1/go.mod h1:4HOLxrl8wToZJReD04/yB20GDwf4KBYETvlHciCnwW0= -github.com/jackc/pgx/v4 v4.12.1-0.20210724153913-640aa07df17c/go.mod h1:1QD0+tgSXP7iUjYm9C1NxKhny7lq6ee99u/z+IHFcgs= -github.com/jackc/pgx/v4 v4.17.2 h1:0Ut0rpeKwvIVbMQ1KbMBU4h6wxehBI535LK6Flheh8E= -github.com/jackc/pgx/v4 v4.17.2/go.mod h1:lcxIZN44yMIrWI78a5CpucdD14hX0SBDbNRvjDBItsw= -github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jackc/puddle v1.1.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jackc/puddle v1.1.1/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jackc/puddle v1.3.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jandelgado/gcov2lcov v1.0.4-0.20210120124023-b83752c6dc08/go.mod h1:NnSxK6TMlg1oGDBfGelGbjgorT5/L3cchlbtgFYZSss= -github.com/jcmturner/gofork v0.0.0-20190328161633-dc7c13fece03/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o= -github.com/jcmturner/gofork v1.0.0 h1:J7uCkflzTEhUZ64xqKnkDxq3kzc96ajM1Gli5ktUem8= -github.com/jcmturner/gofork v1.0.0/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jinzhu/copier v0.3.5 h1:GlvfUwHk62RokgqVNvYsku0TATCF7bAHVwEXoBh3iJg= -github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= -github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= -github.com/jinzhu/now v1.1.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= -github.com/jinzhu/now v1.1.4/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= -github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= -github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= -github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= -github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= -github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= -github.com/jmoiron/sqlx v0.0.0-20180614180643-0dae4fefe7c0/go.mod h1:IiEW3SEiiErVyFdH8NTuWjSifiEQKUoyK3LNqr2kCHU= -github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= -github.com/joeshaw/multierror v0.0.0-20140124173710-69b34d4ec901/go.mod h1:Z86h9688Y0wesXCyonoVr47MasHilkuLMqGhRZ4Hpak= -github.com/joho/godotenv v1.2.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= -github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= -github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= -github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= -github.com/karrick/godirwalk v1.7.5/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34= -github.com/karrick/godirwalk v1.7.7/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34= -github.com/karrick/godirwalk v1.7.8/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34= -github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= -github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= -github.com/karrick/godirwalk v1.10.9/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= -github.com/karrick/godirwalk v1.10.12/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= -github.com/karrick/godirwalk v1.15.3/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= -github.com/karrick/godirwalk v1.15.5/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= -github.com/karrick/godirwalk v1.16.1/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= -github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= -github.com/kelseyhightower/envconfig v1.4.0 h1:Im6hONhd3pLkfDFsbRgu68RDNkGF1r3dvMUtDTo2cv8= -github.com/kelseyhightower/envconfig v1.4.0/go.mod h1:cccZRl6mQpaq41TPp5QxidR+Sa3axMbJDNb//FQX6Gg= -github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= -github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/compress v1.9.7/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/compress v1.9.8 h1:VMAMUUOh+gaxKTMk+zqbjsSjsIcUcL/LF4o63i82QyA= -github.com/klauspost/compress v1.9.8/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/knadh/koanf v0.14.1-0.20201201075439-e0853799f9ec/go.mod h1:H5mEFsTeWizwFXHKtsITL5ipsLTuAMQoGuQpp+1JL9U= -github.com/konsorten/go-windows-terminal-sequences v0.0.0-20180402223658-b729f2633dfe/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.3/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= -github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kubeflow/common v0.4.3 h1:vVoOMNPOZK4wzZvQ4rsRLvC3SDi+J1fVKNHSXC/QRvU= -github.com/kubeflow/common v0.4.3/go.mod h1:Qb/5aON7/OWVkN8OnjRqqT0i8X/XzMekRIZ8lkLosj4= -github.com/kubeflow/training-operator v1.5.0-rc.0 h1:MaxbG80SYpIbDG63tSiwav4OXczrSFA5AFnaQavzgbw= -github.com/kubeflow/training-operator v1.5.0-rc.0/go.mod h1:xgcu/ZI/RwKbTvYgzU7ZWFpxbsefSey5We3KmKroALY= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/lestrrat-go/backoff/v2 v2.0.7 h1:i2SeK33aOFJlUNJZzf2IpXRBvqBBnaGXfY5Xaop/GsE= -github.com/lestrrat-go/backoff/v2 v2.0.7/go.mod h1:rHP/q/r9aT27n24JQLa7JhSQZCKBBOiM/uP402WwN8Y= -github.com/lestrrat-go/codegen v1.0.0/go.mod h1:JhJw6OQAuPEfVKUCLItpaVLumDGWQznd1VaXrBk9TdM= -github.com/lestrrat-go/httpcc v1.0.0 h1:FszVC6cKfDvBKcJv646+lkh4GydQg2Z29scgUfkOpYc= -github.com/lestrrat-go/httpcc v1.0.0/go.mod h1:tGS/u00Vh5N6FHNkExqGGNId8e0Big+++0Gf8MBnAvE= -github.com/lestrrat-go/iter v1.0.1 h1:q8faalr2dY6o8bV45uwrxq12bRa1ezKrB6oM9FUgN4A= -github.com/lestrrat-go/iter v1.0.1/go.mod h1:zIdgO1mRKhn8l9vrZJZz9TUMMFbQbLeTsbqPDrJ/OJc= -github.com/lestrrat-go/jwx v1.1.6 h1:VfyUo2PAU4lO/liwhdwiSZ55/QZDLTT3EYY5z9KfwZs= -github.com/lestrrat-go/jwx v1.1.6/go.mod h1:c+R8G7qsaFNmTzYjU98A+sMh8Bo/MJqO9GnpqR+X024= -github.com/lestrrat-go/option v0.0.0-20210103042652-6f1ecfceda35/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= -github.com/lestrrat-go/option v1.0.0 h1:WqAWL8kh8VcSoD6xjSH34/1m8yxluXQbDeKNfvFeEO4= -github.com/lestrrat-go/option v1.0.0/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= -github.com/lestrrat-go/pdebug/v3 v3.0.1 h1:3G5sX/aw/TbMTtVc9U7IHBWRZtMvwvBziF1e4HoQtv8= -github.com/lestrrat-go/pdebug/v3 v3.0.1/go.mod h1:za+m+Ve24yCxTEhR59N7UlnJomWwCiIqbJRmKeiADU4= -github.com/lib/pq v0.0.0-20180327071824-d34b9ff171c2/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/lib/pq v1.10.4 h1:SO9z7FRPzA03QhHKJrH5BXA6HU1rS4V2nIVrrNC1iYk= -github.com/luna-duclos/instrumentedsql v0.0.0-20181127104832-b7d587d28109/go.mod h1:PWUIzhtavmOR965zfawVsHXbEuU1G29BPZ/CB3C7jXk= -github.com/luna-duclos/instrumentedsql v1.1.2/go.mod h1:4LGbEqDnopzNAiyxPPDXhLspyunZxgPTMJBKtC6U0BQ= -github.com/luna-duclos/instrumentedsql v1.1.3/go.mod h1:9J1njvFds+zN7y85EDhN9XNQLANWwZt2ULeIC8yMNYs= -github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= -github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= -github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= -github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= -github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/markbates/deplist v1.0.4/go.mod h1:gRRbPbbuA8TmMiRvaOzUlRfzfjeCCBqX2A6arxN01MM= -github.com/markbates/deplist v1.0.5/go.mod h1:gRRbPbbuA8TmMiRvaOzUlRfzfjeCCBqX2A6arxN01MM= -github.com/markbates/deplist v1.1.3/go.mod h1:BF7ioVzAJYEtzQN/os4rt8H8Ti3h0T7EoN+7eyALktE= -github.com/markbates/errx v1.1.0/go.mod h1:PLa46Oex9KNbVDZhKel8v1OT7hD5JZ2eI7AHhA0wswc= -github.com/markbates/going v1.0.2/go.mod h1:UWCk3zm0UKefHZ7l8BNqi26UyiEMniznk8naLdTcy6c= -github.com/markbates/grift v1.0.4/go.mod h1:wbmtW74veyx+cgfwFhlnnMWqhoz55rnHR47oMXzsyVs= -github.com/markbates/hmax v1.0.0/go.mod h1:cOkR9dktiESxIMu+65oc/r/bdY4bE8zZw3OLhLx0X2c= -github.com/markbates/inflect v1.0.0/go.mod h1:oTeZL2KHA7CUX6X+fovmK9OvIOFuqu0TwdQrZjLTh88= -github.com/markbates/inflect v1.0.1/go.mod h1:uv3UVNBe5qBIfCm8O8Q+DW+S1EopeyINj+Ikhc7rnCk= -github.com/markbates/inflect v1.0.3/go.mod h1:1fR9+pO2KHEO9ZRtto13gDwwZaAKstQzferVeWqbgNs= -github.com/markbates/inflect v1.0.4/go.mod h1:1fR9+pO2KHEO9ZRtto13gDwwZaAKstQzferVeWqbgNs= -github.com/markbates/oncer v0.0.0-20180924031910-e862a676800b/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= -github.com/markbates/oncer v0.0.0-20180924034138-723ad0170a46/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= -github.com/markbates/oncer v0.0.0-20181014194634-05fccaae8fc4/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= -github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= -github.com/markbates/oncer v1.0.0/go.mod h1:Z59JA581E9GP6w96jai+TGqafHPW+cPfRxz2aSZ0mcI= -github.com/markbates/pkger v0.17.1/go.mod h1:0JoVlrol20BSywW79rN3kdFFsE5xYM+rSCQDXbLhiuI= -github.com/markbates/refresh v1.4.10/go.mod h1:NDPHvotuZmTmesXxr95C9bjlw1/0frJwtME2dzcVKhc= -github.com/markbates/safe v1.0.0/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= -github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= -github.com/markbates/sigtx v1.0.0/go.mod h1:QF1Hv6Ic6Ca6W+T+DL0Y/ypborFKyvUY9HmuCD4VeTc= -github.com/markbates/willie v1.0.9/go.mod h1:fsrFVWl91+gXpx/6dv715j7i11fYPfZ9ZGfH0DQzY7w= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= -github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= -github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= -github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= -github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/go-sqlite3 v1.14.0/go.mod h1:JIl7NbARA7phWnGvh0LKTyg7S9BA+6gx71ShQilpsus= -github.com/mattn/go-sqlite3 v2.0.3+incompatible h1:gXHsfypPkaMZrKbD5209QV9jbUTJKjyR5WD3HYQSd+U= -github.com/mattn/go-sqlite3 v2.0.3+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= -github.com/mattn/goveralls v0.0.6 h1:cr8Y0VMo/MnEZBjxNN/vh6G90SZ7IMb6lms1dzMoO+Y= -github.com/mattn/goveralls v0.0.6/go.mod h1:h8b4ow6FxSPMQHF6o2ve3qsclnffZjYTNEKmLesRwqw= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4= -github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc= -github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= -github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= -github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.0.0/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.2.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= -github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= -github.com/moby/term v0.0.0-20200915141129-7f0af18e79f2/go.mod h1:TjQg8pa4iejrUrjiz0MCtMV38jdMNW4doKSiBrEvCQQ= -github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= -github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw= -github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= -github.com/monoculum/formam v0.0.0-20180901015400-4e68be1d79ba/go.mod h1:RKgILGEJq24YyJ2ban8EO0RUVSJlF1pGsEvoLEACr/Q= -github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= -github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -github.com/moul/http2curl v0.0.0-20170919181001-9ac6cf4d929b/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ= -github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= -github.com/ncw/swift v1.0.53 h1:luHjjTNtekIEvHg5KdAFIBaH7bWfNkefwFnpDffSIks= -github.com/ncw/swift v1.0.53/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= -github.com/nicksnyder/go-i18n v1.10.0/go.mod h1:HrK7VCrbOvQoUAQ7Vpy7i87N7JZZZ7R2xBGjv0j365Q= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d/go.mod h1:YUTz3bUH2ZwIWBy3CJBeOBEugqcmXREj14T+iG/4k4U= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/oleiade/reflections v1.0.0/go.mod h1:RbATFBbKYkVdqmSFtx13Bb/tVhR0lgOBXunWTZKeL4w= -github.com/oleiade/reflections v1.0.1 h1:D1XO3LVEYroYskEsoSiGItp9RUxG6jWnCVvrqH0HHQM= -github.com/oleiade/reflections v1.0.1/go.mod h1:rdFxbxq4QXVZWj0F+e9jqjDkc7dbp97vkRixKo2JR60= -github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.9.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= -github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= -github.com/onsi/ginkgo/v2 v2.1.4 h1:GNapqRSid3zijZ9H77KrgVG4/8KqiyRsxcSxe+7ApXY= -github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.4.2/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.6.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.8.1/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.19.0 h1:4ieX6qQjPP/BfC3mpsAtIGGlxTWPeA3Inl/7DtXw1tw= -github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= -github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= -github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= -github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= -github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= -github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= -github.com/ory/analytics-go/v4 v4.0.0/go.mod h1:FMx9cLRD9xN+XevPvZ5FDMfignpmcqPP6FUKnJ9/MmE= -github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= -github.com/ory/dockertest/v3 v3.5.4/go.mod h1:J8ZUbNB2FOhm1cFZW9xBpDsODqsSWcyYgtJYVPcnF70= -github.com/ory/dockertest/v3 v3.6.3/go.mod h1:EFLcVUOl8qCwp9NyDAcCDtq/QviLtYswW/VbWzUnTNE= -github.com/ory/fosite v0.29.0/go.mod h1:0atSZmXO7CAcs6NPMI/Qtot8tmZYj04Nddoold4S2h0= -github.com/ory/fosite v0.42.2 h1:fKfGAgMmmeM1C0DXCyt5TOzQWrKmLOL+PApEC4bIv2o= -github.com/ory/fosite v0.42.2/go.mod h1:qggrqm3ZWQF9i2f/d3RLH5mHHPtv44hsiltkVKLsCYo= -github.com/ory/go-acc v0.0.0-20181118080137-ddc355013f90/go.mod h1:sxnvPCxChFuSmTJGj8FdMupeq1BezCiEpDjTUXQ4hf4= -github.com/ory/go-acc v0.2.6 h1:YfI+L9dxI7QCtWn2RbawqO0vXhiThdXu/RgizJBbaq0= -github.com/ory/go-acc v0.2.6/go.mod h1:4Kb/UnPcT8qRAk3IAxta+hvVapdxTLWtrr7bFLlEgpw= -github.com/ory/go-convenience v0.1.0 h1:zouLKfF2GoSGnJwGq+PE/nJAE6dj2Zj5QlTgmMTsTS8= -github.com/ory/go-convenience v0.1.0/go.mod h1:uEY/a60PL5c12nYz4V5cHY03IBmwIAEm8TWB0yn9KNs= -github.com/ory/gojsonreference v0.0.0-20190720135523-6b606c2d8ee8/go.mod h1:wsH1C4nIeeQClDtD5AH7kF1uTS6zWyqfjVDTmB0Em7A= -github.com/ory/gojsonschema v1.1.1-0.20190919112458-f254ca73d5e9/go.mod h1:BNZpdJgB74KOLSsWFvzw6roXg1I6O51WO8roMmW+T7Y= -github.com/ory/herodot v0.6.2/go.mod h1:3BOneqcyBsVybCPAJoi92KN2BpJHcmDqAMcAAaJiJow= -github.com/ory/herodot v0.7.0/go.mod h1:YXKOfAXYdQojDP5sD8m0ajowq3+QXNdtxA+QiUXBwn0= -github.com/ory/herodot v0.8.3/go.mod h1:rvLjxOAlU5omtmgjCfazQX2N82EpMfl3BytBWc1jjsk= -github.com/ory/herodot v0.9.2/go.mod h1:Da2HXR8mpwPbPrH+Gv9qV8mM5gI3v+PoJ69BA4l2RAk= -github.com/ory/jsonschema/v3 v3.0.1/go.mod h1:jgLHekkFk0uiGdEWGleC+tOm6JSSP8cbf17PnBuGXlw= -github.com/ory/viper v1.5.6/go.mod h1:TYmpFpKLxjQwvT4f0QPpkOn4sDXU1kDgAwJpgLYiQ28= -github.com/ory/viper v1.7.4/go.mod h1:T6sodNZKNGPpashUOk7EtXz2isovz8oCd57GNVkkNmE= -github.com/ory/viper v1.7.5 h1:+xVdq7SU3e1vNaCsk/ixsfxE4zylk1TJUiJrY647jUE= -github.com/ory/viper v1.7.5/go.mod h1:ypOuyJmEUb3oENywQZRgeAMwqgOyDqwboO1tj3DjTaM= -github.com/ory/x v0.0.84/go.mod h1:RXLPBG7B+hAViONVg0sHwK+U/ie1Y/NeXrq1JcARfoE= -github.com/ory/x v0.0.93/go.mod h1:lfcTaGXpTZs7IEQAW00r9EtTCOxD//SiP5uWtNiz31g= -github.com/ory/x v0.0.110/go.mod h1:DJfkE3GdakhshNhw4zlKoRaL/ozg/lcTahA9OCih2BE= -github.com/ory/x v0.0.127/go.mod h1:FwUujfFuCj5d+xgLn4fGMYPnzriR5bdAIulFXMtnK0M= -github.com/ory/x v0.0.214 h1:nz5ijvm5MVhYxWsQSuUrW1hj9F5QLZvPn/nLo5s06T4= -github.com/ory/x v0.0.214/go.mod h1:aRl57gzyD4GF0HQCekovXhv0xTZgAgiht3o8eVhsm9Q= -github.com/parnurzeal/gorequest v0.2.15/go.mod h1:3Kh2QUMJoqw3icWAecsyzkpY7UzRfDhbRdTjtNwNiUE= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pborman/uuid v1.2.0 h1:J7Q5mO4ysT1dv8hyrUGHb9+ooztCXu1D8MY8DZYsu3g= -github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo= -github.com/pelletier/go-toml v1.6.0/go.mod h1:5N711Q9dKgbdkxHL+MEfF31hpT7l0S0s/t2kKREewys= -github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= -github.com/pelletier/go-toml v1.8.0/go.mod h1:D6yutnOGMveHEPV7VQOuvI/gXY61bv+9bAOTRnLElKs= -github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= -github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml/v2 v2.0.0-beta.8 h1:dy81yyLYJDwMTifq24Oi/IslOslRrDSb3jwDggjz3Z0= -github.com/pelletier/go-toml/v2 v2.0.0-beta.8/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= -github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= -github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2/go.mod h1:iIss55rKnNBTvrwdmkUpLnDpZoAHvWaiq5+iMmen4AE= -github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= -github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= -github.com/pierrec/lz4 v2.2.6+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pierrec/lz4 v2.4.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pierrec/lz4 v2.5.2+incompatible h1:WCjObylUIOlKy/+7Abdn34TLIkXiA4UWUMhxq9m9ZXI= -github.com/pierrec/lz4 v2.5.2+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4 h1:Qj1ukM4GlMWXNdMBuXcXfz/Kw9s1qm0CLY32QxuSImI= -github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4/go.mod h1:N6UoU20jOqggOuDwUaBQpluzLNDqif3kq9z2wpdYEfQ= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= -github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= -github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= -github.com/pquerna/cachecontrol v0.0.0-20201205024021-ac21108117ac h1:jWKYCNlX4J5s8M0nHYkh7Y7c9gRVDEb3mq51j5J0F5M= -github.com/pquerna/cachecontrol v0.0.0-20201205024021-ac21108117ac/go.mod h1:hoLfEwdY11HjRfKFH6KqnPsfxlo3BP6bJehpDv8t6sQ= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= -github.com/prometheus/client_golang v0.9.4/go.mod h1:oCXIBxdI62A4cR6aTRJCgetEjecSIYzOEaeAn4iYEpM= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1 h1:ZiaPsmm9uiBeaSMRznKsCDNtPCS0T3JVDGF+06gjBzk= -github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4= -github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190425082905-87a4384529e0/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= -github.com/prometheus/procfs v0.0.11/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU= -github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/ray-project/kuberay/ray-operator v0.0.0-20220728052838-eaa75fa6707c h1:eEqXhtlsUVt798HNUEbdQsMRZSjHSOF5Ilsywuhlgfc= -github.com/ray-project/kuberay/ray-operator v0.0.0-20220728052838-eaa75fa6707c/go.mod h1:uLBlYqsCS2nsKiVlxJxI5EVgq8CrqNeHDP5uq3hde+c= -github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/rcrowley/go-metrics v0.0.0-20190826022208-cac0b30c2563/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 h1:MkV+77GLUNo5oJ0jf870itWm3D0Sjh7+Za9gazKc5LQ= -github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/redis/go-redis/v9 v9.0.5 h1:CuQcn5HIEeK7BgElubPP8CGtE0KakrnbBSTLjathl5o= -github.com/redis/go-redis/v9 v9.0.5/go.mod h1:WqMKv5vnQbRuZstUwxQI195wHy+t4PuXDOjzMvcuQHk= -github.com/remyoudompheng/bigfft v0.0.0-20190728182440-6a916e37a237/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= -github.com/rhnvrm/simples3 v0.5.0/go.mod h1:Y+3vYm2V7Y4VijFoJHHTrja6OgPrJ2cBti8dPGkC3sA= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.0.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.3.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.4.0/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.5.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= -github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= -github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= -github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= -github.com/rubenv/sql-migrate v0.0.0-20190212093014-1007f53448d7/go.mod h1:WS0rl9eEliYI8DPnr3TOwz4439pay+qNgzJoVya/DmY= -github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/santhosh-tekuri/jsonschema v1.2.4/go.mod h1:TEAUOeZSmIxTTuHatJzrvARHiuO9LYd+cIxzgEHCQI4= -github.com/santhosh-tekuri/jsonschema/v2 v2.1.0/go.mod h1:yzJzKUGV4RbWqWIBBP4wSOBqavX5saE02yirLS0OTyg= -github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/seatgeek/logrus-gelf-formatter v0.0.0-20210219220335-367fa274be2c/go.mod h1:/THDZYi7F/BsVEcYzYPqdcWFQ+1C2InkawTKfLOAnzg= -github.com/segmentio/analytics-go v3.0.1+incompatible/go.mod h1:C7CYBtQWk4vRk2RyLu0qOcbHJ18E3F1HV2C/8JvKN48= -github.com/segmentio/analytics-go v3.1.0+incompatible/go.mod h1:C7CYBtQWk4vRk2RyLu0qOcbHJ18E3F1HV2C/8JvKN48= -github.com/segmentio/backo-go v0.0.0-20160424052352-204274ad699c/go.mod h1:kJ9mm9YmoWSkk+oQ+5Cj8DEoRCX2JT6As4kEtIIOp1M= -github.com/segmentio/backo-go v0.0.0-20200129164019-23eae7c10bd3/go.mod h1:9/Rh6yILuLysoQnZ2oNooD2g7aBnvM7r/fNVxRNWfBc= -github.com/segmentio/conf v1.2.0/go.mod h1:Y3B9O/PqqWqjyxyWWseyj/quPEtMu1zDp/kVbSWWaB0= -github.com/segmentio/go-snakecase v1.1.0/go.mod h1:jk1miR5MS7Na32PZUykG89Arm+1BUSYhuGR6b7+hJto= -github.com/segmentio/objconv v1.0.1/go.mod h1:auayaH5k3137Cl4SoXTgrzQcuQDmvuVtZgS0fb1Ahys= -github.com/sendgrid/rest v2.6.8+incompatible h1:GldbsYQ10qackj/IH9DskKhMm5Q10lpMJznaRAj+zOQ= -github.com/sendgrid/rest v2.6.8+incompatible/go.mod h1:kXX7q3jZtJXK5c5qK83bSGMdV6tsOE70KbHoqJls4lE= -github.com/sendgrid/sendgrid-go v3.10.0+incompatible h1:aSYyurHxEZSDy7kxhvZ4fH0inNkEEmRssZNbAmETR2c= -github.com/sendgrid/sendgrid-go v3.10.0+incompatible/go.mod h1:QRQt+LX/NmgVEvmdRw0VT/QgUn499+iza2FnDca9fg8= -github.com/serenize/snaker v0.0.0-20171204205717-a683aaf2d516/go.mod h1:Yow6lPLSAXx2ifx470yD/nUe22Dv5vBvxK/UK9UUTVs= -github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= -github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= -github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= -github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ= -github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= -github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= -github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= -github.com/shurcooL/highlight_diff v0.0.0-20170515013008-09bb4053de1b/go.mod h1:ZpfEhSmds4ytuByIcDnOLkTHGUI6KNqRNPDLHDk+mUU= -github.com/shurcooL/highlight_go v0.0.0-20170515013102-78fb10f4a5f8/go.mod h1:UDKB5a1T23gOMUJrI+uSuH0VRDStOiUVSjBTRDVBVag= -github.com/shurcooL/octicon v0.0.0-20180602230221-c42b0e3b24d9/go.mod h1:eWdoE5JD4R5UVWDucdOPg1g2fqQRq78IQa9zlOV1vpQ= -github.com/shurcooL/sanitized_anchor_name v0.0.0-20170918181015-86672fcb3f95/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= -github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= -github.com/sirupsen/logrus v1.1.0/go.mod h1:zrgwTnHtNr00buQ1vSptGe8m1f/BbgsPukg8qsT7A+A= -github.com/sirupsen/logrus v1.1.1/go.mod h1:zrgwTnHtNr00buQ1vSptGe8m1f/BbgsPukg8qsT7A+A= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.3.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.5.0/go.mod h1:+F7Ogzej0PZc/94MaYx/nvG9jOFMD2osvC3s+Squfpo= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= -github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v0.0.0-20180222194500-ef6db91d284a/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= -github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= -github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d/go.mod h1:UdhH50NIW0fCiwBSr0co2m7BnFLdv4fQTgdqdJTHFeE= -github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e/go.mod h1:HuIsMU8RRBOtsCgI77wP899iHVBQpCmg4ErYMZB+2IA= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.2.0/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/afero v1.3.2/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= -github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= -github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= -github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= -github.com/spf13/cast v1.2.0/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.3.2-0.20200723214538-8d17101741c8/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= -github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/cobra v0.0.6/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/cobra v0.0.7/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= -github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= -github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= -github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.2.1/go.mod h1:P4AexN0a+C9tGAnUFNwDMYYZv3pjFuvmeiMyKRaNVlI= -github.com/spf13/viper v1.3.1/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= -github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spf13/viper v1.11.0 h1:7OX/1FS6n7jHD1zGrZTM7WtY13ZELRyosK4k93oPr44= -github.com/spf13/viper v1.11.0/go.mod h1:djo0X/bA5+tYVoCn+C7cAYJGcVn/qYLFTG8gdUsX7Zk= -github.com/sqs/goreturns v0.0.0-20181028201513-538ac6014518/go.mod h1:CKI4AZ4XmGV240rTHfO0hfE83S6/a3/Q1siZJ/vXf7A= -github.com/square/go-jose/v3 v3.0.0-20200630053402-0a67ce9b0693/go.mod h1:6hSY48PjDm4UObWmGLyJE9DxYVKTgR9kbCspXXJEhcU= -github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= -github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/subosito/gotenv v1.1.1/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= -github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/tidwall/gjson v1.3.2/go.mod h1:P256ACg0Mn+j1RXIDXoss50DeIABTYK1PULOJHhxOls= -github.com/tidwall/gjson v1.6.8/go.mod h1:zeFuBCIqD4sN/gmqBzZ4j7Jd6UcA2Fc56x7QFsv+8fI= -github.com/tidwall/gjson v1.7.1/go.mod h1:5/xDoumyyDNerp2U36lyolv46b3uF/9Bu6OfyQ9GImk= -github.com/tidwall/match v1.0.1/go.mod h1:LujAq0jyVjBy028G1WhWfIzbpQfMO8bBZ6Tyb0+pL9E= -github.com/tidwall/match v1.0.3/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= -github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= -github.com/tidwall/pretty v1.0.2/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= -github.com/tidwall/pretty v1.1.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= -github.com/tidwall/sjson v1.0.4/go.mod h1:bURseu1nuBkFpIES5cz6zBtjmYeOQmEESshn7VpF15Y= -github.com/tidwall/sjson v1.1.5/go.mod h1:VuJzsZnTowhSxWdOgsAnb886i4AjEyTkk7tNtsL7EYE= -github.com/tinylib/msgp v1.1.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= -github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/uber-go/atomic v1.3.2/go.mod h1:/Ct5t2lcmbJ4OSe/waGBoaVvVqtO0bmtfVNex1PFV8g= -github.com/uber/jaeger-client-go v2.15.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= -github.com/uber/jaeger-client-go v2.22.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= -github.com/uber/jaeger-lib v1.5.0/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= -github.com/uber/jaeger-lib v2.2.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= -github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= -github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= -github.com/unrolled/secure v0.0.0-20180918153822-f340ee86eb8b/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= -github.com/unrolled/secure v0.0.0-20181005190816-ff9db2ff917f/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= -github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= -github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= -github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw= -github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I= -github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= -github.com/xdg/stringprep v1.0.0/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= -github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/xtgo/uuid v0.0.0-20140804021211-a0b114877d4c/go.mod h1:UrdRz5enIKZ63MEE3IF9l2/ebyx59GyGgPi+tICQdmM= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= -github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0= -go.elastic.co/apm v1.8.0/go.mod h1:tCw6CkOJgkWnzEthFN9HUP1uL3Gjc/Ur6m7gRPLaoH0= -go.elastic.co/apm/module/apmhttp v1.8.0/go.mod h1:9LPFlEON51/lRbnWDfqAWErihIiAFDUMfMV27YjoWQ8= -go.elastic.co/apm/module/apmot v1.8.0/go.mod h1:Q5Xzabte8G/fkvDjr1jlDuOSUt9hkVWNZEHh6ZNaTjI= -go.elastic.co/fastjson v1.0.0/go.mod h1:PmeUOMMtLHQr9ZS9J9owrAVg0FkaZDRZJEFTTGHtchs= -go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= -go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= -go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= -go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= -go.etcd.io/etcd/client/v3 v3.5.1/go.mod h1:OnjH4M8OnAotwaB2l9bVgZzRFKru7/ZMoS46OtKyd3Q= -go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= -go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= -go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= -go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= -go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= -go.mongodb.org/mongo-driver v1.1.2/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= -go.mongodb.org/mongo-driver v1.3.0/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= -go.mongodb.org/mongo-driver v1.3.4/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.1/go.mod h1:Ap50jQcDJrx6rB6VgeeFPtuPIf3wMRvRfrfYDO6+BmA= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= -go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/contrib v0.18.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= -go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= -go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.18.0/go.mod h1:iK1G0FgHurSJ/aYLg5LpnPI0pqdanM73S3dhyDp0Lk4= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= -go.opentelemetry.io/otel v0.18.0/go.mod h1:PT5zQj4lTsR1YeARt8YNKcFb88/c2IKoSABK9mX0r78= -go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= -go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= -go.opentelemetry.io/otel/metric v0.18.0/go.mod h1:kEH2QtzAyBy3xDVQfGZKIcok4ZZFvd5xyKPfPcuK6pE= -go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= -go.opentelemetry.io/otel/oteltest v0.18.0/go.mod h1:NyierCU3/G8DLTva7KRzGii2fdxdR89zXKH1bNWY7Bo= -go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= -go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= -go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= -go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= -go.opentelemetry.io/otel/trace v0.18.0/go.mod h1:FzdUu3BPwZSZebfQ1vl5/tAa8LyMLXSJN57AXIt/iDk= -go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/atomic v1.5.1/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= -go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= -go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= -go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= -go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8= -go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= -go.uber.org/zap v1.8.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= -go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= -go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= -go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= -go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8= -go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= -golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20180830192347-182538f80094/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20180910181607-0e37d006457b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181001203147-e3636079e1a4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181015023909-0c41d7ab0a0e/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181024171144-74cb1d3d52f4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181025113841-85e1b3f9139a/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181025213731-e84da0312774/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181106171534-e4dc69e5b2fd/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181112202954-3d3f9f413869/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181127143415-eb0de9b17e85/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190102171810-8d7daa0c54b3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190103213133-ff983b9c42bc/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190404164418-38d8ce5564a5/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= -golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= -golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190621222207-cc06ce4a13d4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191122220453-ac88ee75c92c/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200117160349-530e935923ad/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200204104054-c9f3fb736b72/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200320181102-891825fb96df/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.0.0-20201217014255-9d1352758620/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa h1:zuSxTR4o9y82ebqCUJYNGJbGPo6sKVl54f/TVDObg1c= -golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e h1:+WEEuIdZHnUeJJmEUjyYC2gfUMj69yZXw17EnHg/otA= -golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA= -golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= -golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8= -golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180816102801-aaf60122140d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180921000356-2f5d2388922f/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180926154720-4dfa2610cdf3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181017193950-04a2e542c03f/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181102091132-c10e9556a7bc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181106065722-10aee1819953/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181207154023-610586996380/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191003171128-d98b1b443823/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200219183655-46282727080f/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM= -golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20181003184128-c57b0facaced/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.7.0 h1:qe6s0zUXlPX80/dITx3440hWZ7GwMwgDDyrSGTPJG/g= -golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180816055513-1c9583448a9c/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180831094639-fa5fdf94c789/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180906133057-8cf3aee42992/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180921163948-d47a0f339242/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180927150500-dad3d9fb7b6e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181005133103-4497e2df6f9e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181011152604-fa43e7bc11ba/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181022134430-8a28ead16f52/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181024145615-5cd93ef61a7c/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181025063200-d989b31c8746/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181026064943-731415f00dce/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181106135930-3a76605856fd/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181206074257-70b957f3b65e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190102155601-82a175fd1598/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190116161447-11f53e031339/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190515120540-06a5c4944438/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191025021431-6c3a3bfe00ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191105231009-c1f44814a5cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200121082415-34d275377bf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= -golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.7.0 h1:BEvjmm5fURWqcfbSKTdpkDXYBrUS1c0m8agp14W48vQ= -golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= -golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181003024731-2f84ea8ef872/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181006002542-f60d9635b16a/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181008205924-a2b3f7f249e9/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181013182035-5e66757b835f/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181017214349-06f26fdaaa28/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181024171208-a2dc47679d30/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181026183834-f60e5f99f081/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181105230042-78dc5bac0cac/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181107215632-34b416bd17b3/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181114190951-94339b83286c/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181119130350-139d099f6620/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181127195227-b4e97c0ed882/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181127232545-e782529d0ddd/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181203210056-e5f3ab76ea4b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181205224935-3576414c54a4/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181206194817-bcd4e47d0288/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181207183836-8bc39b988060/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181212172921-837e80568c09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190102213336-ca9055ed7d04/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190104182027-498d95493402/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190111214448-fc1d57b08d7b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190118193359-16909d206f00/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190613204242-ed0dc450797f/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190624190245-7f2218787638/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190711191110-9a621aea19f8/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190920225731-5eefd052ad72/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191004055002-72853e10c5a3/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191010075000-0337d82405ff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191224055732-dd894d0a8a40/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117220505-0cba7a3a9ee9/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200203215610-ab391d50b528/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200308013534-11ec41452d41/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20200918232735-d647fc253266/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210114065538-d78b04bdf963/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.10-0.20220218145154-897bd77cd717/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= -golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -gomodules.xyz/jsonpatch/v2 v2.0.1/go.mod h1:IhYNNY4jnS53ZnfE4PAmpKtDpTCj1JFXc+3mwe7XcUU= -gomodules.xyz/jsonpatch/v2 v2.2.0 h1:4pT439QV83L+G9FkcCriY6EkpcK6r6bK+A5FBUMI7qY= -gomodules.xyz/jsonpatch/v2 v2.2.0/go.mod h1:WXp+iVDkoLQqPudfQ9GBlwB2eZ5DKOnjQZCYdOS8GPY= -gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= -gonum.org/v1/gonum v0.6.2/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= -gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= -gonum.org/v1/netlib v0.0.0-20191229114700-bbb4dff026f8/go.mod h1:2IgXn/sJaRbePPBA1wRj8OE+QLvVaH0q8SK6TSTKlnk= -gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= -gonum.org/v1/plot v0.0.0-20200111075622-4abb28f724d5/go.mod h1:+HbaZVpsa73UwN7kXGCECULRHovLRJjH+t5cFPgxErs= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.10.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.25.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.114.0 h1:1xQPji6cO2E2vLiI+C/XiFAnsn1WV3mjaEwGLhi3grE= -google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.2/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190626174449-989357319d63/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= -google.golang.org/genproto v0.0.0-20190708153700-3bdd9d9f5532/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= -google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200806141610-86f49bd18e98/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201102152239-715cce707fb0/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20220107163113-42d7afdf6368/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.56.1 h1:z0dNfjIl0VpaZ9iSVjA6daGatAYwPGstTjt5vkRMFkQ= -google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= -google.golang.org/grpc/examples v0.0.0-20210304020650-930c79186c99/go.mod h1:Ly7ZA/ARzg8fnPU9TyZIxoz33sEUuWX7txiqs8lPTgE= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= -google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/DataDog/dd-trace-go.v1 v1.22.0/go.mod h1:DVp8HmDh8PuTu2Z0fVVlBsyWaC++fzwVCaGWylTe3tg= -gopkg.in/DataDog/dd-trace-go.v1 v1.27.0/go.mod h1:Sp1lku8WJMvNV0kjDI4Ni/T7J/U3BO5ct5kEaoVU8+I= -gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= -gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= -gopkg.in/go-playground/mold.v2 v2.2.0/go.mod h1:XMyyRsGtakkDPbxXbrA5VODo6bUXyvoDjLd5l3T0XoA= -gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df/go.mod h1:LRQQ+SO6ZHR7tOkpBDuZnXENFzX8qRjMDMyPD6BRkCw= -gopkg.in/gorp.v1 v1.7.2/go.mod h1:Wo3h+DBQZIxATwftsglhdD/62zRFPhGhTiu5jUJmCaw= -gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.55.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.57.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.66.4 h1:SsAcf+mM7mRZo2nJNGt8mZCjG8ZRaNGMURJw7BsIST4= -gopkg.in/ini.v1 v1.66.4/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/jcmturner/aescts.v1 v1.0.1 h1:cVVZBK2b1zY26haWB4vbBiZrfFQnfbTVrE3xZq6hrEw= -gopkg.in/jcmturner/aescts.v1 v1.0.1/go.mod h1:nsR8qBOg+OucoIW+WMhB3GspUQXq9XorLnQb9XtvcOo= -gopkg.in/jcmturner/dnsutils.v1 v1.0.1 h1:cIuC1OLRGZrld+16ZJvvZxVJeKPsvd5eUIvxfoN5hSM= -gopkg.in/jcmturner/dnsutils.v1 v1.0.1/go.mod h1:m3v+5svpVOhtFAP/wSz+yzh4Mc0Fg7eRhxkJMWSIz9Q= -gopkg.in/jcmturner/goidentity.v3 v3.0.0 h1:1duIyWiTaYvVx3YX2CYtpJbUFd7/UuPYCfgXtQ3VTbI= -gopkg.in/jcmturner/goidentity.v3 v3.0.0/go.mod h1:oG2kH0IvSYNIu80dVAyu/yoefjq1mNfM5bm88whjWx4= -gopkg.in/jcmturner/gokrb5.v7 v7.2.3/go.mod h1:l8VISx+WGYp+Fp7KRbsiUuXTTOnxIc3Tuvyavf11/WM= -gopkg.in/jcmturner/gokrb5.v7 v7.5.0 h1:a9tsXlIDD9SKxotJMK3niV7rPZAJeX2aD/0yg3qlIrg= -gopkg.in/jcmturner/gokrb5.v7 v7.5.0/go.mod h1:l8VISx+WGYp+Fp7KRbsiUuXTTOnxIc3Tuvyavf11/WM= -gopkg.in/jcmturner/rpc.v1 v1.1.0 h1:QHIUxTX1ISuAv9dD2wJ9HWQVuWDX/Zc0PfeC2tjc4rU= -gopkg.in/jcmturner/rpc.v1 v1.1.0/go.mod h1:YIdkC4XfD6GXbzje11McwsDuOlZQSb9W4vfLvuNnlv8= -gopkg.in/mail.v2 v2.0.0-20180731213649-a0242b2233b4/go.mod h1:htwXN1Qh09vZJ1NVKxQqHPBaCBbzKhp5GzuJEA4VJWw= -gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= -gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/square/go-jose.v2 v2.1.9/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/square/go-jose.v2 v2.5.2-0.20210529014059-a5c7eec3c614 h1:lwJmuuJQGclcankpPJwh8rorzB0bNbVALv8phDGh8TQ= -gopkg.in/square/go-jose.v2 v2.5.2-0.20210529014059-a5c7eec3c614/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/validator.v2 v2.0.0-20180514200540-135c24b11c19/go.mod h1:o4V0GXN9/CAmCsvJ0oXYZvrZOe7syiDZSN1GWGZTGzc= -gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20190905181640-827449938966/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gorm.io/driver/mysql v1.0.1/go.mod h1:KtqSthtg55lFp3S5kUXqlGaelnWpKitn4k1xZTnoiPw= -gorm.io/driver/mysql v1.4.4 h1:MX0K9Qvy0Na4o7qSC/YI7XxqUw5KDw01umqgID+svdQ= -gorm.io/driver/postgres v1.0.0/go.mod h1:wtMFcOzmuA5QigNsgEIb7O5lhvH1tHAF1RbWmLWV4to= -gorm.io/driver/postgres v1.4.5 h1:mTeXTTtHAgnS9PgmhN2YeUbazYpLhUI1doLnw42XUZc= -gorm.io/driver/postgres v1.4.5/go.mod h1:GKNQYSJ14qvWkvPwXljMGehpKrhlDNsqYRr5HnYGncg= -gorm.io/driver/sqlite v1.1.1 h1:qtWqNAEUyi7gYSUAJXeiAMz0lUOdakZF5ia9Fqnp5G4= -gorm.io/driver/sqlite v1.1.1/go.mod h1:hm2olEcl8Tmsc6eZyxYSeznnsDaMqamBvEXLNtBg4cI= -gorm.io/driver/sqlserver v1.0.2 h1:FzxAlw0/7hntMzSiNfotpYCo9Lz8dqWQGdmCGqIiFGo= -gorm.io/driver/sqlserver v1.0.2/go.mod h1:gb0Y9QePGgqjzrVyTQUZeh9zkd5v0iz71cM1B4ZycEY= -gorm.io/gorm v1.9.19/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= -gorm.io/gorm v1.20.0/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= -gorm.io/gorm v1.24.1-0.20221019064659-5dd2bb482755 h1:7AdrbfcvKnzejfqP5g37fdSZOXH/JvaPIzBIHTOqXKk= -gorm.io/gorm v1.24.1-0.20221019064659-5dd2bb482755/go.mod h1:DVrVomtaYTbqs7gB/x2uVvqnXzv0nqjB396B8cG4dBA= -gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= -gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= -gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= -gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -howett.net/plist v0.0.0-20181124034731-591f970eefbb/go.mod h1:vMygbs4qMhSZSc4lCUl2OEE+rDiIIJAIdR4m7MiMcm0= -k8s.io/api v0.18.2/go.mod h1:SJCWI7OLzhZSvbY7U8zwNl9UA4o1fizoug34OV/2r78= -k8s.io/api v0.18.6/go.mod h1:eeyxr+cwCjMdLAmr2W3RyDI0VvTawSg/3RFFBEnmZGI= -k8s.io/api v0.18.8/go.mod h1:d/CXqwWv+Z2XEG1LgceeDmHQwpUJhROPx16SlxJgERY= -k8s.io/api v0.24.1 h1:BjCMRDcyEYz03joa3K1+rbshwh1Ay6oB53+iUx2H8UY= -k8s.io/api v0.24.1/go.mod h1:JhoOvNiLXKTPQ60zh2g0ewpA+bnEYf5q44Flhquh4vQ= -k8s.io/apiextensions-apiserver v0.18.2/go.mod h1:q3faSnRGmYimiocj6cHQ1I3WpLqmDgJFlKL37fC4ZvY= -k8s.io/apiextensions-apiserver v0.18.6/go.mod h1:lv89S7fUysXjLZO7ke783xOwVTm6lKizADfvUM/SS/M= -k8s.io/apiextensions-apiserver v0.24.1 h1:5yBh9+ueTq/kfnHQZa0MAo6uNcPrtxPMpNQgorBaKS0= -k8s.io/apiextensions-apiserver v0.24.1/go.mod h1:A6MHfaLDGfjOc/We2nM7uewD5Oa/FnEbZ6cD7g2ca4Q= -k8s.io/apimachinery v0.18.2/go.mod h1:9SnR/e11v5IbyPCGbvJViimtJ0SwHG4nfZFjU77ftcA= -k8s.io/apimachinery v0.18.6/go.mod h1:OaXp26zu/5J7p0f92ASynJa1pZo06YlV9fG7BoWbCko= -k8s.io/apimachinery v0.18.8/go.mod h1:6sQd+iHEqmOtALqOFjSWp2KZ9F0wlU/nWm0ZgsYWMig= -k8s.io/apimachinery v0.24.1 h1:ShD4aDxTQKN5zNf8K1RQ2u98ELLdIW7jEnlO9uAMX/I= -k8s.io/apimachinery v0.24.1/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= -k8s.io/apiserver v0.18.2/go.mod h1:Xbh066NqrZO8cbsoenCwyDJ1OSi8Ag8I2lezeHxzwzw= -k8s.io/apiserver v0.18.6/go.mod h1:Zt2XvTHuaZjBz6EFYzpp+X4hTmgWGy8AthNVnTdm3Wg= -k8s.io/apiserver v0.24.1/go.mod h1:dQWNMx15S8NqJMp0gpYfssyvhYnkilc1LpExd/dkLh0= -k8s.io/client-go v0.18.2/go.mod h1:Xcm5wVGXX9HAA2JJ2sSBUn3tCJ+4SVlCbl2MNNv+CIU= -k8s.io/client-go v0.18.6/go.mod h1:/fwtGLjYMS1MaM5oi+eXhKwG+1UHidUEXRh6cNsdO0Q= -k8s.io/client-go v0.18.8/go.mod h1:HqFqMllQ5NnQJNwjro9k5zMyfhZlOwpuTLVrxjkYSxU= -k8s.io/client-go v0.24.1 h1:w1hNdI9PFrzu3OlovVeTnf4oHDt+FJLd9Ndluvnb42E= -k8s.io/client-go v0.24.1/go.mod h1:f1kIDqcEYmwXS/vTbbhopMUbhKp2JhOeVTfxgaCIlF8= -k8s.io/code-generator v0.18.2/go.mod h1:+UHX5rSbxmR8kzS+FAv7um6dtYrZokQvjHpDSYRVkTc= -k8s.io/code-generator v0.18.6/go.mod h1:TgNEVx9hCyPGpdtCWA34olQYLkh3ok9ar7XfSsr8b6c= -k8s.io/code-generator v0.24.1 h1:zS+dvmUNaOcvsQ4faV9hXNjsKG9/pQaLnts1Wma4RM8= -k8s.io/code-generator v0.24.1/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= -k8s.io/component-base v0.18.2/go.mod h1:kqLlMuhJNHQ9lz8Z7V5bxUUtjFZnrypArGl58gmDfUM= -k8s.io/component-base v0.18.6/go.mod h1:knSVsibPR5K6EW2XOjEHik6sdU5nCvKMrzMt2D4In14= -k8s.io/component-base v0.24.1 h1:APv6W/YmfOWZfo+XJ1mZwep/f7g7Tpwvdbo9CQLDuts= -k8s.io/component-base v0.24.1/go.mod h1:DW5vQGYVCog8WYpNob3PMmmsY8A3L9QZNg4j/dV3s38= -k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= -k8s.io/gengo v0.0.0-20200114144118-36b2048a9120/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= -k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= -k8s.io/gengo v0.0.0-20211129171323-c02415ce4185/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= -k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= -k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= -k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= -k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= -k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/klog/v2 v2.90.1 h1:m4bYOKall2MmOiRaR1J+We67Do7vm9KiQVlT96lnHUw= -k8s.io/klog/v2 v2.90.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20200121204235-bf4fb3bd569c/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E= -k8s.io/kube-openapi v0.0.0-20200410145947-61e04a5be9a6/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E= -k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= -k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f h1:2kWPakN3i/k81b0gvD5C5FJ2kxm1WrQFanWchyKuqGg= -k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f/go.mod h1:byini6yhqGC14c3ebc/QwanvYwhuMWF6yz2F8uwW8eg= -k8s.io/utils v0.0.0-20200324210504-a9aa75ae1b89/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= -k8s.io/utils v0.0.0-20200603063816-c1c6865ac451/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20230209194617-a36077c30491 h1:r0BAOLElQnnFhE/ApUsg3iHdVYYPBjNSSOMowRZxxsY= -k8s.io/utils v0.0.0-20230209194617-a36077c30491/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw= -modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk= -modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k= -modernc.org/strutil v1.1.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs= -modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.7/go.mod h1:PHgbrJT7lCHcxMU+mDHEm+nx46H4zuuHZkDP6icnhu0= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.30/go.mod h1:fEO7lRTdivWO2qYVCVG7dEADOMo/MLDCVr8So2g88Uw= -sigs.k8s.io/controller-runtime v0.6.2/go.mod h1:vhcq/rlnENJ09SIRp3EveTaZ0yqH526hjf9iJdbUJ/E= -sigs.k8s.io/controller-runtime v0.12.1 h1:4BJY01xe9zKQti8oRjj/NeHKRXthf1YkYJAgLONFFoI= -sigs.k8s.io/controller-runtime v0.12.1/go.mod h1:BKhxlA4l7FPK4AQcsuL4X6vZeWnKDXez/vp1Y8dxTU0= -sigs.k8s.io/controller-tools v0.3.0/go.mod h1:enhtKGfxZD1GFEoMgP8Fdbu+uKQ/cq1/WGJhdVChfvI= -sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v3 v3.0.0-20200116222232-67a7b8c61874/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw= -sigs.k8s.io/structured-merge-diff/v3 v3.0.0/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw= -sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= From 5f22ad5e5b4a7b7c3f6ede24ac7ba7fe04fd8ffa Mon Sep 17 00:00:00 2001 From: Yee Hing Tong Date: Fri, 29 Sep 2023 15:10:47 -0700 Subject: [PATCH 22/47] add service dummy Signed-off-by: Yee Hing Tong --- .../manifests/complete-agent.yaml | 4 +- .../sandbox-bundled/manifests/complete.yaml | 4 +- docker/sandbox-bundled/manifests/dev.yaml | 4 +- flyteartifacts/Dockerfile | 43 ++++++++++++ flyteartifacts/Makefile | 6 ++ flyteartifacts/cmd/main.go | 45 ++++++++++++ flyteartifacts/go.mod | 22 ++++++ flyteartifacts/go.sum | 36 ++++++++++ flyteartifacts/main | Bin 0 -> 18285970 bytes flyteartifacts/pkg/server/server.go | 66 ++++++++++++++++++ 10 files changed, 224 insertions(+), 6 deletions(-) create mode 100644 flyteartifacts/Dockerfile create mode 100644 flyteartifacts/Makefile create mode 100644 flyteartifacts/cmd/main.go create mode 100644 flyteartifacts/go.mod create mode 100644 flyteartifacts/go.sum create mode 100755 flyteartifacts/main create mode 100644 flyteartifacts/pkg/server/server.go diff --git a/docker/sandbox-bundled/manifests/complete-agent.yaml b/docker/sandbox-bundled/manifests/complete-agent.yaml index 387fb00f98..eff728a31a 100644 --- a/docker/sandbox-bundled/manifests/complete-agent.yaml +++ b/docker/sandbox-bundled/manifests/complete-agent.yaml @@ -1071,7 +1071,7 @@ type: Opaque --- apiVersion: v1 data: - haSharedSecret: UGZobHZEcktoSlltcHNOZw== + haSharedSecret: ZWxiQ0JYUUJZSENoeG5FRQ== proxyPassword: "" proxyUsername: "" kind: Secret @@ -1790,7 +1790,7 @@ spec: metadata: annotations: checksum/config: 8f50e768255a87f078ba8b9879a0c174c3e045ffb46ac8723d2eedbe293c8d81 - checksum/secret: dd15edd55f839d254000dba285a232088aaa1434c6da55d684be8dd7a686828f + checksum/secret: 183acc4de162cc63bff13b9da701693fc3c02ac26c9d7ff1bca65ba1fae0d388 labels: app: docker-registry release: flyte-sandbox diff --git a/docker/sandbox-bundled/manifests/complete.yaml b/docker/sandbox-bundled/manifests/complete.yaml index 77a44ce905..40ca662ae3 100644 --- a/docker/sandbox-bundled/manifests/complete.yaml +++ b/docker/sandbox-bundled/manifests/complete.yaml @@ -1060,7 +1060,7 @@ type: Opaque --- apiVersion: v1 data: - haSharedSecret: azVaTmNYdzV2OTJ6QnN2Ug== + haSharedSecret: VUh0UzRWS0RyQ0l1WDBDUw== proxyPassword: "" proxyUsername: "" kind: Secret @@ -1747,7 +1747,7 @@ spec: metadata: annotations: checksum/config: 8f50e768255a87f078ba8b9879a0c174c3e045ffb46ac8723d2eedbe293c8d81 - checksum/secret: bfdfab71ae5ed72a9a4345de0769775da0a1e0aa352582f487a6ead189d262cd + checksum/secret: b5ceec74c1c81a90b9f028e7a45c5138a85dd5a20b522ac8e2bcdd7182948f79 labels: app: docker-registry release: flyte-sandbox diff --git a/docker/sandbox-bundled/manifests/dev.yaml b/docker/sandbox-bundled/manifests/dev.yaml index dccd898f33..07dd4781ac 100644 --- a/docker/sandbox-bundled/manifests/dev.yaml +++ b/docker/sandbox-bundled/manifests/dev.yaml @@ -744,7 +744,7 @@ metadata: --- apiVersion: v1 data: - haSharedSecret: YWd0NktxUHZYdTh3VWpoVQ== + haSharedSecret: VFpQSXduUGEyZkgxQ0IyYQ== proxyPassword: "" proxyUsername: "" kind: Secret @@ -1304,7 +1304,7 @@ spec: metadata: annotations: checksum/config: 8f50e768255a87f078ba8b9879a0c174c3e045ffb46ac8723d2eedbe293c8d81 - checksum/secret: 4ba63951b24cf3c851ed512f8835b48669d09a16dc63e06d8e3f6207fda511dc + checksum/secret: db7f477669a3dd30b567a390215b0840d15f6598ea01d2c9a8e640552796e9b4 labels: app: docker-registry release: flyte-sandbox diff --git a/flyteartifacts/Dockerfile b/flyteartifacts/Dockerfile new file mode 100644 index 0000000000..3a8f364b5c --- /dev/null +++ b/flyteartifacts/Dockerfile @@ -0,0 +1,43 @@ +FROM --platform=${BUILDPLATFORM} golang:1.19-alpine3.16 as builder + +ARG TARGETARCH +ENV GOARCH "${TARGETARCH}" +ENV GOOS linux + +RUN apk add git openssh-client make curl + +# Create the artifacts directory +RUN mkdir /artifacts + + +# COPY only the go mod files for efficient caching +COPY go.mod go.sum /go/src/github.com/flyteorg/flyte/flyteartifacts/ +WORKDIR /go/src/github.com/flyteorg/flyte/flyteartifacts/ + + +# Pull dependencies +RUN go mod download + +# COPY the rest of the source code +COPY . /go/src/github.com/flyteorg/flyte/flyteartifacts/ + +# This 'linux_compile' target should compile binaries to the /artifacts directory +# The main entrypoint should be compiled to /artifacts/flyteadmin +RUN make linux_compile + +# update the PATH to include the /artifacts directory +ENV PATH="/artifacts:${PATH}" + +# This will eventually move to centurylink/ca-certs:latest for minimum possible image size +FROM alpine:3.16 +LABEL org.opencontainers.image.source https://github.com/flyteorg/flyte/ + +COPY --from=builder /artifacts /bin + +# Ensure the latest CA certs are present to authenticate SSL connections. +RUN apk --update add ca-certificates + +RUN addgroup -S flyte && adduser -S flyte -G flyte +USER flyte + +CMD ["artifacts"] diff --git a/flyteartifacts/Makefile b/flyteartifacts/Makefile new file mode 100644 index 0000000000..fbbfa915dd --- /dev/null +++ b/flyteartifacts/Makefile @@ -0,0 +1,6 @@ + +.PHONY: linux_compile +linux_compile: export CGO_ENABLED ?= 0 +linux_compile: export GOOS ?= linux +linux_compile: + go build -o /artifacts/flyteadmin -ldflags=$(LD_FLAGS) ./cmd/ diff --git a/flyteartifacts/cmd/main.go b/flyteartifacts/cmd/main.go new file mode 100644 index 0000000000..5e070909e2 --- /dev/null +++ b/flyteartifacts/cmd/main.go @@ -0,0 +1,45 @@ +package main + +import ( + "fmt" + "github.com/flyteorg/flyte/flyteartifacts/pkg/server" + "github.com/golang/glog" + "github.com/spf13/cobra" + "google.golang.org/grpc" + + "context" + + _ "net/http/pprof" // Required to serve application. +) + +var serveCmd = &cobra.Command{ + Use: "serve", + Short: "Launches the Flyte artifacts server", + RunE: func(cmd *cobra.Command, args []string) error { + ctx := context.Background() + opts := make([]grpc.ServerOption, 0) + return server.Serve(ctx, opts...) + }, +} + +// RootCmd represents the base command when called without any subcommands +var RootCmd = &cobra.Command{ + Use: "artifacts", + Short: "Fill in later", + Long: ` +To get started run the serve subcommand which will start a server on localhost:50051 +`, +} + +func init() { + // Command information + RootCmd.AddCommand(serveCmd) +} + +func main() { + glog.V(2).Info("Beginning Flyte Artifacts Service") + if err := RootCmd.Execute(); err != nil { + fmt.Println(err) + panic(err) + } +} diff --git a/flyteartifacts/go.mod b/flyteartifacts/go.mod new file mode 100644 index 0000000000..d6463077db --- /dev/null +++ b/flyteartifacts/go.mod @@ -0,0 +1,22 @@ +module github.com/flyteorg/flyte/flyteartifacts + +go 1.19 + +require ( + github.com/golang/glog v1.1.0 + github.com/spf13/cobra v1.4.0 + google.golang.org/grpc v1.56.1 + +) + +require ( + github.com/flyteorg/flyteidl v1.5.14-0.20230928230632-4854ce7ad143 // indirect + github.com/golang/protobuf v1.5.3 // indirect + github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/spf13/pflag v1.0.5 // indirect + golang.org/x/net v0.9.0 // indirect + golang.org/x/sys v0.7.0 // indirect + golang.org/x/text v0.9.0 // indirect + google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect + google.golang.org/protobuf v1.30.0 // indirect +) diff --git a/flyteartifacts/go.sum b/flyteartifacts/go.sum new file mode 100644 index 0000000000..777cfa2593 --- /dev/null +++ b/flyteartifacts/go.sum @@ -0,0 +1,36 @@ +github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/flyteorg/flyteidl v1.5.14-0.20230928230632-4854ce7ad143 h1:H8SEoRv2bgdXPIAxQS2iHUkmd8YW38uTUtfl3a4LKu4= +github.com/flyteorg/flyteidl v1.5.14-0.20230928230632-4854ce7ad143/go.mod h1:EtE/muM2lHHgBabjYcxqe9TWeJSL0kXwbI0RgVwI4Og= +github.com/flyteorg/flyteidl v1.5.21 h1:zP1byUlNFqstTe7Io1DiiNgNf+mZAVmGZM04oIUA5kU= +github.com/flyteorg/flyteidl v1.5.21/go.mod h1:EtE/muM2lHHgBabjYcxqe9TWeJSL0kXwbI0RgVwI4Og= +github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= +github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= +github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= +golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= +google.golang.org/grpc v1.56.1 h1:z0dNfjIl0VpaZ9iSVjA6daGatAYwPGstTjt5vkRMFkQ= +google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= diff --git a/flyteartifacts/main b/flyteartifacts/main new file mode 100755 index 0000000000000000000000000000000000000000..46a93559cfa80c59714f7b83dd2b2de1f5665dcc GIT binary patch literal 18285970 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

=ne|HxA9DUY- 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

^zs7s_{_!@cky_+^ObK>cCqS&w}kB2 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�&8%s^NHn_g!dIYWudzsGE2-Rzsk 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 -67|2g<}()W>xh3iLmvwpM}xsr`k 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

lkw>a} zA9*C@kCZ!F4(*?WFZ1M)=C2};^dx-oGQZP4@d}>_VikvXjNV;8%J_xxmu;QVB7Sau z_i>WXx83}eA^JqSa(p6eqI_F$kgZlRf8+Pz^UCjQ_4vH&#ivW&{@lOM z+>Ot(HtX};{8n(_td9>hc0Zji)|tfva1a{A_nr6laqtBf2dlF<2n+!S8C!}yXu$6a z=lFe(etC%U{9=~Z3(2Dukw@D^9*w&`m7ChP+oAtP5B-gNzxej&eu2yTFInmP@kLKZ z7w?=c=8Vo6;Ol;4sB_-xnKOB~jpX5sK8DWHWv*{;=DGFl&oc>JM#dlItfwK&6Fivx zDGPvQKuxIQhsCzp@ZW(CQUv_F>^$OjotY?Eb>WwsCTG{AySC{*@WQ>xu{GE`KDo>F zq2nv>=~`DqOi<9KJrp(6K*nd|Ka9oxt@EX;fq4VESMTUNt{XYeM&~md*iPZ=YcD}Q zAJ^W`R?sn;n&Q}g5Bw+RZnvl4xft`<<>5Iqm-)t00 zsmx)%GlxLV9NO$Txba_NHS4+1WttPuQ}1)1YKRrLL3eVaMbu^8x`Simo|wiSl?RW# zT^bd2Y|)(Rm=kr_(RSvv)HA0ldrk?_#hI6xQyp_!>dc8c>H$2~o-?Pl&YYb1JZDZj z?KyE4VLunx-JF8_Ug;}4r%;l~DI{JG5wqY&H`S!0PXKcPwb)Mp+a&PXP3 zk~V_vDso(1wB2O+_IC06NFGiA+7#wA$C*=qXrK;Ql{2Td|9ic*lsUy-$&n-MOkN#O z&s<({<}x9NKHD5QN;q;<51uAK`)$7Tr^&$>o5?%xq#R8b>>G1n@3dj}t|=HDFbmi> zIpV4nl*Pdc!d=fJ+vf&D25 z_Bp^_4(uC!={LUU;GK8gN!Yt@M-HYjPBG)GMh+US^qtaS)`Sa;9*K@JeoAH?i#(s` zVPt$7b7^$uQk*lF)s8%%6SYp4xc|&#eBnD_=eKEYlbPEwWW1HR&2s0~^nEio%l5&{ z`kZ%OlbP2nXI{s0O z;5POwS8+xPvEt*pA4|1^W>3zvP?|l{52&^;Il;a6#%I=~RVOIlTzO6VOc2Yir)#x; z&sPhe_5LHv^5bK-=e!7=w|b*F|KjBH_AK@~de3(7tHux*Ldqj>-iH@1v*zob`^R}) zIxpLW+520xnEYlb^9H`>1Ya?JM5%4#-SdpL;48dYR-W0LnwU&&K6p-rt@LjE>Mm%I zoI*d)LBGWvT0Cv&P;AoyTq}QX`$& zS7(4e_aX64afij(H@6T zh`)N^gWh`b-0;Ey^z?x`fN%?BZ;kM1Lr_3wQ?bRI9!Bm-DaiL6Cpw9OXULCr;}l zzYlGdn^t|JY93<~Tzz1_XUmiQ_xr$O6du=^x7rh}du7c2t~%ghp0a8G4Gp{bd$-lR zqZ@qaEWJPSEK$w4I?JBgOYNKc&oRg&_>D6c?fpzt(--*F`2*(ujuZWJ?_Y7E{Sfc2 zELqvMj&;XxQQIt>wQ=^jzBle$`P~Ejo=+!v`OwJ!H}dNzue>zUm*xC(^}~(qiF&ha zpuD(p!g;#(-9tl^2f^|15a5UbhuKfmYVV)#eeXd2cX=M)I~e62?D*@*8GP@`K!dqM zpezz7W8c&)aQbQ12RWZ$95vN`&i{^s;{-1W(&Oe%v{cZh@KUx zK?b$H(y6<&tVxmIp9QSYU*~PM=#DF^FtT6I;0>Sd00`N40K~Xg+gFMF)1PlVpRebU1Ap_|cU7lmVBjoX<~f|XNH*fg zf_S?lg^bW{I&vKb=GJ1)prW1Gk4L*o;e$TI{Jw~@GNemqASW|v`xLS0Gw_dDn}pY0 z{@3~RX74CI(?22yv5Cksc-NUMI&VPzbs?{^L+W=I`?s~nPI)ugciVOpckFH9UF1vc zYoMX*d6+pT!G(K9+Au5ht7$723mJ97oE4%1^nLg zG-OlR2btXi!1v35KZeeTPk<)eBhtv38U{z`Cohac(G5@k-RX71`5xV1@h_tv(A#g8 zWzSzVdmG@{IJ}%d_GXo_uNI!Twv@fK@cSn?Tkw;dEjXLA1=sjO=|~~x-Vd|sFWTDs zM+5A?FM!@7q4inNrVJX5LPwA8_yD@T58hl*Xr&hpv(g8_)x9-SBH!|bc77RJH~4Hh zjcB6e)7W5EV9GW0~z?3hdIN5c|;u;HJ5_GKsdegz3>d?dqKvhv*&v{dC5I5^N(LY zz3h0;%e>9u31i=!{jxWXl?-L~%W7||_Q-a%S=b!ThJgMt=-;~*zpNb|Sp|QzTImq##hPg*KP}? z{|Q>e;6dpyWF(S=H|x>m*iLh{glqp?eSYD4&_z?}b16IvFIU`9_0a?{EOKCIfhTP{ zMqGu>O~5}o^FwDM8F<7?4m{C%=9&Y)bc*JtbA=MCc(;|a4SBb#&c4${vTbx9dR=Eu z$$$DKeq|haN+3_k#mEr)D0l9Lm+MyqsRs%!#8%hBzp`;I|C%#A;Nhx4c(~faUM+Tb z7+IJF-Z;<0*!4JaYjB|R=Ac6iScQi~6Y#^!T~m-jXpv&xt_&WK{e!n-@Hx5O;4IGe zNxaejn32a_0lQ`zJtepX*ed5Y*`rO+D}#?P<2v}boVYWNu1TOjV(1o~BN_+KIyX=7 zH3+sPz%~ci>Q4{bcwlQio*%XZys#cUk`KnA%9r$N`5DO8WgcDYwNKBR*lD1?1>;Xx!Jf&s9+uvf4wjyEeZZTjF*Eks<6{{=5_~7nU&2{lKQf&4Bh7s(@clTQ zs{^k{Pb)@>RX_)xha2qYqC<2d&&#oI;>pk`or#=Ia369j{^QT_A6KqFD{?!};?-II z@hZUx&zbYuKcLz+UnI;k+jpEwet10fvr*FX@jq*3Y{V#v(e8cDjY~n=LZY#AOY~P(4F9*-#9T+OPH<<4S zXpjH8&*JVI)f|0}dq-pFn0Pffo51&OY#;qft~K8lK3CwY)$)I(d^O|y6`(%~?L3cT z_s)b*Z(2HZ8}K=={%>{8OW?e|H_J}GFULI-A&E{+AiMIZqUf|3`nW61nc=0}=?wl- z=$xxsL%|--5xRO+DA>E)7rdq|6g;rZ7nJ{X?O1#-bm%9**CBZOli=o6^!se^a~OXA zt76VLSxml1b^*Vs6CR8$hF8H=HFz2io(i!On`9>(eA&KLVaHkcvI*KQfR7e>d~fcr zGCme|$=228J^9*J$F0!Joc+anF?e<&I;-9)HL*e;a%k^MEXD7WuaDpF#LaD^urtt7 zc9> zN4`+{tP;+zN8dE^_o71fLkzRW7o38j8@@H?E!6`bynP_dxtMPOt_lY(=RDT*oxpUx zU;=lNYx!Y<>m1st*7@h;R2qP30Wd8DCduce_)AIfv4VGQhu*|0``lPXK6MLtH+|8M zaO|hAD7hOuCb4apa+#<4p3l$jLLbT|eB*2M2fya}+FkJWM2`(H{#Dq{AKYzx?t%A} zU1$aNKFqly@^SWz>ik1b;O}=7`-=CbxJNC;-P);JX72AV;J#vVE?vlu?!-}EOnHU^ z;6EFDHCz6^NAQVMODca!K8`IHMIBc);tN10^i&H#5spx@Sj7xC>%ct6G& zFg?Js&MN6+ab)hrMjlG~{N#BQPfJE@nJDqf1aafJk=PzH->fmjrlC-m?NBMU80ydm!j{=nD-c)?&sy9`>I@exBAU~x!!vA z%e58^*e}I4|5hTk%=@KGOI)aw@X9 z8|^!^8+C5MTFz#Luh4gfwlThc68er;JLyl}kzHPIHGRL3{c(jijC`5A1?Q+JpLJKb_v@W`U@qhB~?)a6?y{x%&XC2d>d+d|;9CcPeoOvq_xNV{0 zK6`)p({5ku2kEOb+gH`Bllxli>FY;sUqgUvK^?pdEUmXtvjfgu_~v=~`>xyH5MWyY ze+-qrzdP$>`iic%oxyk;{?Zw52sHgyjh91H(Q%<_WS<%ggNKBRrlrazS-l! z`<3`0{r#i1+|z$d`#bEjHCCZ#+N^ZQd$vY3=hR|ftXtUTu3OuLfV(Hmksn!#wl&0`o9&ANt?$ zwfq+P5UzGFfWOg)O#E`gxQ~iIG#~NE?e1I_GnYE%GVA2I{5IX+zRP0$hq?N7UycLc4|Cx2;^=(Q ztdTimyK`ywSkHFak& zUX1%chpJ0kHC~RblrEik2IFaeobYuAwqWHg&G)xbGyau zwbTUz`uwSl`DW@<}rKv22TveQZ_M`y;Vta%AV$n(CWD~5-Vf|@+)H#RFz2YBwxW9eOo9K2s zzC-twM&@i~d}Lp8?`?YtZA)_6UNuPD3ut@d#K3+(K1ka!wEbgF+Yjcp{r9uYUF;>a zP35$mklWU|BmTsu{`UXOX?uQdTj$>PKhpNsIc-PhwsrbV(RO!E+oD0*{wHmp%xQb9 zBR_tBP224`ZI9%(bzs;{+f6xbyK>t)G=7q{-_2?JhupT~KgPb=mfvir?dqJiFM8Ux zUcfnBPTNhiUFo##H2cs>BR{9D?9Wj1Htu~_{v|`t-RS)8Zs&{+6JNI4@#Q6F4P2kr z-k2CRz~o!8F`*IGW6yBsJbut)1>{r66`rkpwb~^3J&s?XcVsh7ZWcSYlD37Mb-Afw zL`3-l-OHi4bHlZ^O_6_8@fquA4e_FCRiemDvt{+k*YY{OmTC#&*q|Gu$IShGM%HNe zGzo>dR(l@V+=BgGI2S&Ylc;yr^;qNkjcTiG-^H1KG4m>AUS*6i zhX3RmmVf2sT*K{7%xSOR*z~_T=X`(pY%$TbiGJ{D3WPt#YZ0EnopJ^7CI_#JJ$Qu= zRF4u?tpRg1cm+SkM*%P9IrPx;IJl~?{C&hsbM2fQJ|{SQ^%d^h@IhbtF}Vlc6Mx+0 zu5<0O=NseqDrcNZ`tw)XFopyp_>Mt;(L#6KM0sD&2eiR2GP!GLIt@71lRGeXZ1)e_ zV%FlI&D!I~+Hc1`)pD1+$z9H}48O!GLg@#*zu|jE@rNsQKhZbeAK8$(^R(Ic^}js7 zzx^)Si+^2te{Ku9OtxbR>zgkhYlqHL#FM&H)@`$Zb@8f}vm-yHt>LjeH1_AA@!j+x z`l?>+YSxjw^>HR=FL|W~-&?O29c$ymFaC$t!dIp479ERBT*fozY;apnJ7g%%bLGCr zL6=xLv=IKmcO~!Hxgxv9Oz&4sx8K)qey!Iy{d?)*eMd4Np7%a;b1LHNXTO}~>yzpe z@wf7==gU7A4GTgY4A0g?L}JEs|+}i2MZKd#Ec? zol5wlz#zT=jt0gz&&~rj=lj#DgA)vT=D=WNQZ%VRUg@LJ(_S(#9bYO5-9)cu@@UG{ zbWIGUM=-u*K)TZAxpO0utJrY-BHDHVhhmW^e5rm^(~@AEhb(_vCbvy|@Lpl_# zY?#zX9G*~2o8Ud+F&BqMc7fmUghzID@AprS9cy19zYw{T4p+@vgJS0M3nD8DvmPo3>x<3ICI{(1fz&)s>t{g+XXhrPAu_nB<}I(8DilE0+7xtXdp z09G?Ty4bb(lA{{(5mEY8UBJj;yzAObmmYJxG!p-UpNGj$n7-r_(3f;dY%;h*PsHJw_26$m^N#_8 zx5mb$p-(h)_*pvT5Ac+9)*||ozEPju&{FIEoC`<3NN4&M8{gxn^s5|-*<(gK;~z`` z2Kv#skMq0HGl9YB=B~qhXb{?I9VX(T-!Nl8v-P9Wl}Th)`c$>$#%_YUxa0_&He9Z? zTz}+&0>>6`53r9MU5tKZ3&`PZcWXIi3$(tV+RcnD;QMvdV~LLnSg#(B&A^xbu>30j zD5qTuHiPf;X(ya#?#hM^A@E@1z_wSe-E{pz@ve)5*B0mJU*Vt=99W)z#$OEB>%Gq# zp3dI)YI28*ng3GovW!phxcF-x_?g3a;6^nGGmD`u{8?9qT!P1|#$flr;nk(A3xd-Z z#IxKfpn4z+|3v&|Y%Ms^yi6@DvJwa1KiCM*qJxcZ2@b^TlKqEyp3y7Fv}`5!S+%RL zD)}+=rTAPvWfC4z4USoB63@-ycgDe|IXebVRY?cIUzI#_`Pb+mXDs1f>xo*YZ=`Qm zUz&Rq7{}xs8O!J(##7&=^qr!;?p`o*z?d0$=(meGD6UZ3j2;Tu>yD?QWy2|G>E-7e z*;DVm@7nmv(4YjoNw2IR4{7|B=%x0VyXXhkH?a4iIcMpLk7@I}5`2Yn<{;Tc7Z@Kz ze{&|f+&4*f;Pu=c^Pch1}e=Z1G%^YAWyUtP`|_j-8L^>?@A z$ZL#RnJ6_f3C7Y|WSm+V=CjXgd4FVUfSMELZ2Y&Dk3=@}9a-I8)#-EVO^mEoA%o!M z!-Ct73>#Tho{sN-PmNEU+7bM?V4PYK|8&*k@Oc%V$Y{o&gQgA8RL^SVpYc7!_fP!` z{7OGz3m#%$K^R>T;_m@6oM%6Y{NRA_k>{@KpL+CHuc>d%?vHW(e^cKD-Hk1S#&Pg4 zBOD5Lt+RqN>q5cqwN|ih7I&7nTfwV}kyGe4>`TB6O)HVl65y7MsK%lexRIH3qWIPw zjjTl{S&MG90(%=r1lk%|i*CGS=KfmN4=RY0^V|L3K8AIn zAZv%gYV5l^MqrSBg|mhDqo&V{-Oj^5W1P8yw}1Fze!cf-9)7a-J5^-rT|@AzRe3Hs z4d|!8t#cz5f7kGLl~o?8)Z9Kz&Jus0=R4QKH}*T_%7Yl*sikdgWqG8Jx*J31uw~X{ zMAL5ro4bF&#Bao<-u(-*KPG=+WXtNPG_|V3Bmc~Ot5I?V-k8qILq`9NfPU~_C47hP z@6^c-#Fb$9vIjrf4`T7pm9I-ot{{8=v8zA4absr*aU*)u>^Ycf^SSpP*C_m^7*hIV zH2N?O4}|6az)wa-csC5J(x=jq?m26!xiP=PJGJtOcu)Kx-VIdpJ~+|u(ns=@u4NC( zdhV9AT8bjusjEV^*HnexW6L&UII-E90kIk5DK=wW&5q6Zz5+UF-KzSd4ov7a<+)v0 zYeS4pJNax{C*x zCqV~qtfx6=?9wiqZ}ZtDjs2u&Y_ETOGJj{smwixt70_8F=%N^UD2fgmux}FmkkJ+B z4e5&WTz+<7QVzl3-i2`x9lAp>=Fy?Q_u$IQ|IZuylJ(~kvw#=hM*9n+>@AG5&+|Hy zV<<3ZXIA3JXiwRnS*z^C4= zx54m3eB#YF$tOIl5y&9)|CCQm3Q% zH)FSfN%+(=W4B!xX=~eT-$0ukcJwJQXs=V8v5l|EdoSUKcJUr_;lEo`<+L9J|HB8t z|3ib}-`I=6?fq5Av~2m+@ccFGW0}Q17R7Ge=r`^$MsJmxx;JBooqHwU3$OG5_b?xK zu~R=a%!h6oqOJYc8?ySxs{{Uh5cqq!gW2n!s!p`K4&Oq)$~5@sFnrVpAEm5dig_sK zqWwxY7~iD8>=}(tV~+>=c%1a|G@GX?i`ZwPXVX2;w9f68)WJZQqZ$66#Q>jZd{#CJH-hVj&Gy!D&ZHk&Gbbd$}N~UgK?ttwNkzf<5X!+ z3BFAnpNTcky;UQ8ZB_V8RrpMm_%>eq;f3{|hX5;v+qUrztjJmryMkY81rw#vbEB6vlXl5{*Hg){yss!!yhId z4bzX8R(1AR(fz=tK9rl5{)JY8A<+yU>~BFnEabyy@)6Nj;DeW-?aQIy7}1cnRrn%t z+J>R!VE(WCRMopQau%0~laM$0D3@^_f?_4xR@u71_;3ETtxdHLKS^2#pXd*L6zXJyvTB)rxI zuXV#~DR@nM_U}zOd{zdoOOd%U5w;C~c0uwMWlq;L_R_$Gxn@Cp2dR@1qZ6S1yL< z3rzah>mFD6M44f2YE&Z zn|u!XcqV;F#_L2cWbCR&YWVSku5O}+A7AL2#nkZQ56uD>ebD0C(w3dSWM20ky>Eg>6W9STQPt z2l8KY``tD6A$R-J5wgj!ntLG_o<+mjrjn zC(ucar?4xQC$Hii!`uIYLHgfI|AXaK)bC*Zo%r6+=W2N2H2krF`V;Pky>uuvwRtN` zvl?>IL+6Kqa*)d(rtj17AMu~Yi&I-yb9}`MLx%Y@{c2q#Mr~bHLGh6K%*3}D8P}cd zHZM|ZwB4;!yXT+#+i(0+CQpDJERAg0fE^^4lCS-3wEsd*`|ssz@6?rjjrM{`~ zy;Fa6J?&@Yw7(-?d#AqabF>fUw7)rDd#7gWleE7)r~Q}nwRhmDrF~US`vv*hJNQ>`exR@z8Zb!jfcnwt+BpTW@=32 z|GK$>=jJ%J58t@K&qiio+&>@9&>vw-=(*H!n+~ms(%0R$OhKvy|8V_ z1KTf70b3GS@RN+MCG zzt44kuV%b_zhCRV@5}%Dba(vXP~P!B=KLNWr2h}O?_>M(jenW@J9V}Bejm^8nj1Om zAb$CdWS%*ed)ox4b;{G`J)Sm+z%6;l8b+H0`2;goasGZRZyVa?8|!s)yly|$gW&a5 z)27)O>$bf8ba~n=qMv+Y{iml*c#yI7s}1ziymldfjpUvh;n!X8t73W94AxXNj52Em zjy#z?{8~>;Qm103w^Dy>i&Lz4*jIrv}lR0rPMJ za|!Wx0r7VszQ3P6uUbrzjfzT z?KAVLB1U)T#ipJC_-F4S`Z;@kjOKHskokncKXFrn_{iOl-@VZvT<^@y$K3qP?I^fA zLJqcfqd!u9XXuTo9Ex1wAJ+Fn_D&i;Ko@E+dN*qwDRjB^DQ)Q3_{O$g8xpi|HbgS!+*Yf^8x-nIq<&~{_8dQ z(d>GIyWSB;PAC2PSbIn{Tj08ZoP82}-@)hYW|8VHxtPOncU><#tBTo&U`FQiZlBefgzN+>cdD`INs}~%;^5!G% zHZ=;_e1veYPv>?q_jo-r)d(({z{O%K-Q5@nrj}Z1?RV9F*amP@Cfp=)aZ_e+(>)&< zN{}x|u^!ULdPo?#s)yEf$CF4El|6b(&Nf&SE2I*Jd8(De$se?D^R{eANXN$>? zW%-A_#GHMIKCb4xLwLy4p0)ae$yNSfR~zRquJ#90@Kq1Ey&7BLwyzo~T{GOAkLg|8 zjgqr%(Vm>pg^>;LxZ!VyPt3WB^xH?jee`=2{dokM_wDlPHit*6p#gJLUM$gC13Wdr z!&w2VYl12G)!gL-T@FB#D)N`^nvmk21!p<7(HYnH-KES8Upvu?zp@IyyNxqaR)hbs z%&i>!lM_AwEkuLI7dk$8DdS_u60ITL3Gohf538X8cAy8o?M1#1Ko1t_?DPDb`lqYU zmd?-CKlL`#cdKw52*%*a_!7Yppw9q(2IvzWg+F`X&;F;Zn;XmU`8eZZqdqzFB2gU< z2GA!uzXspn@kZ?x8FghOL0<{{ss#PHV6T-d>8c^D@Gzi&C*${KQ@$u&J#DqY-qp3i1M`p_Q9$ngRk3CCa!+YShUh;eg&_jLbp+(RZXP@2-00ap+{_C&}}!(U}7O(to^tJip1OH~TZufiv*YE@W?}bhGgx z+QPvLwa>u7W$#N>ETugvHctoanvALBLZ_i`rhp@G7Xt?~en-A$Dmb8jvraaR=kToe zJ;gun@8a2*o8xzCxjNa)Yf(QXJ0afAH@4n$eKoh8cZ@UT`_~to8Q+IJI>zW{hyO1b zH<16uKL^7FLCHYhDtH{8w)YbUf<_k5&&iF*!e(S)E3&XH5R@#4r^SOcqv0)RuUxJ8 zFb1wO@~*QTIioUpB+nY~d#x$a@bqAVvyOBHw2h*>qoNsc&!f644myS5pBi{)Iy`h8 zd@-}KCb$k;9>;g?Mh;!RvCnk0&(f)chq`$8LC*Zy4Xt+LyYInwZ^Cz9@6=&F*g_s3 z9!OI!quP{i&N~sk#CMArXFB=*i*Bg?XbhMnXYk&dTI;e%d=Bu<a2y85=rDNp06g2bDwIA}Vm;6a&kN^K&SmLjZ-ezl^L^Z%82s~m#tVefmS})n ztCqmaYwOJ!MUx``tvVz8TAkBWd70Kx-XHl7Jwrz9wUmp@TFU53EAq5wzdC-?hmCGY zoUB{ob*zn4T4~j1w_Kr`s>_hw(H-&XK;+yp#8AlBLh|pb6aGH9?liD)-Y4@q3%+=8 zE_m%c%bYV6W1edNgWo`V+K2JqYSEF>7jf(#x!3fW&OHt;{W^P&@yxlQj3Hi4G=X#Q zFP+p4{!`$;2mJSf{{y_!2mTL&e_ICz935EDaTr}-&JRKdCeeXi=)i7tU(d(5zDVn8!XCsmjU6e0;W3JB!W?Ip+-A01dm)lTNNEb0&^iy9%qW z#FLNV`^TWeLe3YcB_AWaYHvh7zPbIM$g||(C*uo~AIsDwZ^UMA#%6EDW^dy>vvTx9 zg>AF@@ShHbv6I;D-3?9*6J`yz3|fy7-($NsW4pIvySK3hRSw@**tWZG0yGHM1ot^{ zGp>^PXY|=Fd%wqxre@`wObt}L2|mI0{#kRXM?M?TN8%m$UhCU4sw(irrvMH)7kHL4{wAY%F>Z)UH)X&QPz&on#T8Pa_qW>0Q zx30rJd2QD!_#g&J=$$S&l-g-_>eCE>Tv z0GnbZuYKH&eZ1adA0-pAk5|&Sd_LEvtM4ViIlH*!H%)#6MyIwS&#REBQQ~IiHzyocb=Pb#=VA#?Ae*;4gwI~B%D1&E- zh2oM=bZIhyeodiYshvtuL)B9aUr#^=CL#-ykO^$Tp()77RN5oYU#dsXmWeLtS>#x? z?#TptmfEFmYMWBjN%d4imkH2iB6ygDE}INpra+ge+)v^09W(OTYM*a)_2iS!w>t1B za6ADFPXWU&;6YaVmI5F08Et1Sy9$ETa-*e@Ozn(VTI(pYcYi_4G?+V}Jn+wbu`Gwx|uHX^(yesqE%AV6y!#a4h zo!?pCkv|c#n!X>SF5o!vR6jB_)P6Rw27Yos%Xb{0pF?&(=8o=7=wZo&;Mq_`T*H{| zzHhzX{Ud4>B)hbUEk)Pz`t;a?)NX;!+Dn4WA6MuPG=j@Pt|z4ANfB0{by~NL!NGfdw2CRD;-^q zUh>{uy)k=UN98B*ITiy?*pknI-*`@B*6XZGqPKk5CVa*118Oso!2v!8-z%t1lOAlK z-oe7}F#PVEEs_8?u6~j19tThDIe1zpJkc(>YdXAy4c`bpt7imL;I3!lj9~Ai8NmZv z;pJ`cGWt8$Z#$(faN^boF zBKmxa7=58)bnMo8=iX(lJqVw>k746@ryIJOJ%rPs3+;4ALMJt5MwdfROEv^vNit3= zwnILCD>e>4XS?g?v|@YWP2_8_Z|8xB+ZCVjJwjcSkqN=g+-g|Ae+aqLU6%$=?zus^ zcn*2+4E&Nm;rSnUSALR@|6U$+<A*bylxow@ZNp7R<7joKuZ;-Z2Y5S?1w)fGN zyG4U1>x(kdXrs2wr2PVSZ+A01)Cy0rhsB%$BtL82ieMGz0M*X1j%3aOlAlIRgZ0&- zNR0T`J_pD?Tj3ic`rEI}f#D`#sL*hHs0t14+qel2f@W5aBz4vFlf&8z#qUjMHUo~BpdNfoA6B+*gQUJW{jphKI&cc?e$TWTU>;m3FD(y)4gP*~kDq`Dz9H58odwM;7M6tH@)lmAshXg13_iA3mrLAJm5r$~mX-Sugxbermh! zq4~)Fkc+CeOn$2Ka^(&SB3J6!ST{d)nKwUWe2#I%Eq>*vSWinj^$Pffx2?0#+K#tX=4Ne=zWUGe=ewLi%Uo?mRY`?>5DJmkL& zn_A816?Tm7Z=gNT6SViY@Hf9j`J22Keh=q_mxt1S)yLU1bJ3BUrCy8AsQvZ{;Q8c> z$TRIjJgXreVeC`bUMGG#`q1Tz>)!#sxRuzz=)-WpoOgT4M~DZ)g#*sJjc$YPk3#b& zq4`tfi8qpuxgR{iD>3wA6#bY)SF+xd?t)MHU-1QJPDBpjhq?*KB6{vB^l(q3+3UhR zU{?AXbn=0A+P*|haxs1$`crvl>A{P)gE!>W#Ol)=JqT}}qzBC$-~(y&AUvSh z+tq{Jw2d`;^dL0-6?#TF8s%$Etj;@w>cQqbu{zJb054?pApH!`gUhq_+uUacX7rl{F8vr3HZdok3ALLI|Tn? z8~#NjtjG+~v339|Y zaPF<@wVyHT7G9X#JVi;zAKw6{z;P;^#vNMkHGOL>&R(-<#pZ>9u@;**?uPLnRcuzR z`uj#_51fPJ)8#m?CC91QNo#)DJc^y`cJtgO$K8f~oR3dV9H1Pya^K3Q{Le9H(k>ll zrNiVae-5s6R{kB}>N?@d$z|I4D;rPWVJ>E^k8x+9`<@-md8*6M7cRfzLy6uW5WTV2 z;#chZN%S`7vdEq|af&VDg&qG4UJbqLJoKiYJ6Q|geQ=an8`?d}(EBHb-lI;U_nM*5 z`+6_E&pV0U#Lc>YFH7%lh~B{A(0h&RM-A|C9D2_l0==smYb5?Htoa0NCGWW8Oy=H-} zR&C5*=G60@DnCBC!_6&Z^WzKYd&v3maDi=ar^?aAIveKo{Lw2q}`E2C(2Ufw}F6h6N&tzc4-h$&R@9Emc-Fy5# z@k7>Q2eH|G^YHJUWDM50V#v8_j{2`5AH#d~R-ms0AAopgXH54+VY~gr=ryd_OU6fT z1b^+oHWmE72oATZALSlGJN|-vNt`~E4Hb%N_YN6VQ5!r9leLVl((0@-_Rb5D7cSN`zu@U zxd*|CXt)s`0|rw+(HMvIl=)IbECPQarS~;dp-HFEE#y^`(T^=@7 z>k=pVX9H+vpZ%q^l*_=2eDEaiX8beJ44%xysjIQy(9HO8jAimnyyN7Vj9$798*~RY zsEhgCfz6g~GI=JxzfN6|tG}Y)fW5+JN4GH^cv9@UXBK%faFNjbnY(Qp{T(xyoAHA^YlQpz!OIkIzgf6y-myTq=Wm1iDQAxRU;eLyd)^%s_xFd=#V+m{>r8R~ogCaZ z3-{nTivOotkSjEYb@m(v^;5Y=4ZH8iyLiX;Q@;oN?CU(GOu2sQH-N+VsY~+vsnPnD zoiTVqvZH#2v#v!4LZ>9KcD2q7cE3dI@-lHtVrH;6H8XgiZ)ULX@XX-B1okyW9>MU9 zY6#@B6|zp8JtHlN57k8-K{q-!g^uk(5A~w24xqRC$RiwNjrcb9IvTvJ6<%)Lao`92 z?a8&|O!0?SkgILQ|CJuNb9_y(nKg(9buNqxga?p^WZ8Z+x{fkI>N zw~WKy2Z{&U`+zUqSM1{~0{9?Y9E=}EC%gt9ZY&OVZ7!ykqBxk^Rvhd(hRyG{j9qkV zwEXz@nKc3QM64crt=yR5$HUi!= zXZ}D_x4qW9B~P8|v)p>zU8B$#{z?xV%jj!9eW7D&1xtMh{%+2|qGz%a!qo1V$?pGw+v#zq1<#Lxwq+Dh=@>c!9f&+&G(l^!?o z7IRWwPIa%9tk=ZRLCQrvfE+0QoS=W>`_OJs-)C_i--l<_)GKCuANm>K`!r=?a($o4 zz}7{(Q|Tqee&T}>^zHS1a`U}0=%m{ID6}%M5V%f+>w?L{(DXHEy0I>p+FZxlb6v1^ zTV3$LG4e_9NOs-u%xhjZ|4)B=C-v(w#yT1(q81mulkn0#V0dCG_tCm~Q~Qak$z2{r z_KxsQY*&$oPssVRk3>FMr_LyDDThCbA~oD8qr9=vi-F=yeB}L}`+M&9GtDJRx6PY( z=DO`yx$%+N8<5?v+J{KS-xAR|X^9}gC!int5 z)3j%;nk7aDr_MeWgQHRle!HOKJa_J;q4Y1E{HOBa!?3U3dZ=;4v;qDrCi0G9kq4>b z|Igez>s##@&^t!|rycwVsGkn)kPjROM>?}Dif&jyy>(2ny}-z|ES zBgf|c_6s91`uJ`awv|3a6V;qtbj_R28F`)@HaNu=>~!O7;kVN>_jq{=zcKdMQ2H4M z4<_H-T4LiLGI#s;D`{>iX-6H!8mnbOrrp}y{?<&5e1~?n>{n*mMQ9ftWWAs6O*^fG%7F#8wX{MB>BKRwLz653zlyF7BS&#v7a zr*jRh%OeSXdyM)aIch7eP&w)PsKDlAwyNLh8`LF)G-=owK#PE0H_`R&VuW4k?N%nG$IP1;!XQ0)C z)>Ttvt2)^`Y;hNb2x4yUACOorIN6zJlEbk9UH{J)=VR^;kFW*ljJp z?-i?JaglG8!DA|6<54)&{)S=)kKXULPAmqGMIE0F434{BjRki(xN5zST2pIW7FX2$ z{KNug@FQHxr^6T7w`tV4h>JU;Gr;Xip0C7jF~8%hB)8#XJ%N0O@xe<@mce+^?7e$T z_2x0+Sm`Kt??fSg*9A_N$KN{d#5SV)rN?sKVGpAt!&%vU&V6Sc@8IL+zEhWZCo88< zy6>#z9sI1^cQ$dyT&~Ri$bF}schJST?;P~-o2!pnOwIPR$U5HDIa#{bE>Z8}Xm-0M zMSY0Q!f`jgSSRt8doPn>G1W51>foJ6855r{0Y6`7e4QH3rQ_@}-ckH?`MKCkeiM%u zq9-IfIt%L#hsO=yqA#fX3|d*V#KKEi6d|om@UsxmGY>(~&FHgaHONEzEdU?X$_n0fo53|o`H~St2(~plZUw5un z?p(p&mzk@4GPfUBKX&h7+`Z_>J)tx@^|4`J7+g1MUYeigCc5|cUqF2g@4ikS$LyF* zHGitZi7&;LZe$M)^45j#bL;CT+NZ%cs(Z(GqW%ur;wMQ5DBk%((VOkDt>6JzGqwY} zJqdn`A=4|c`$_KMy90kqJRw}iwu(QrUx|CDsfSg*OFp%7Zi*ww<GnA1oWnIrnLue*}tCq z(dw}A(p$E^v^vfKztWdAJWm2|7qGTkh4(}mNA+8(ce!dfFowYkV<{f&dIF!GxeJ%d z&-{S>KgJ(!9d7(%^PINN(6{!GKEvFiljyHq@42}m_S4Ttu8=S773e~~itrm{S2`tE zyeGN(7I(V$m-*7iT1z6$&DNIwT_wRdeHs6W{u*e@JLwqlc|2SaOw^SG8?L~Qu+Bn` zOCoLqyUWq9f(bN=IFm%^8`kijn@gV!K~^~m5ozBVI+;!D|S@uqNgtZ|r`cXbbrVuo37VV-XudFwotJI@!X-4RdSlEYKRe>x3M-H^*u zjSf#ufv46DojG4U_zvQGse^CbOL7ulF_*AC7xWEtari3AoImb;p5>`E`FQHbL!TqDqHSw$ z9NHZB<+HW9JoOi+;Hf3jwWqML``JU}wXxkz4o^*mr#9yBRMRPViua7aivEf7uHh-( z7f(qa^>TmU!b=pJPK_wfEnO5v2Pp?CpZb??0f*&5f}66j<@Vi9Z27PqTW;T-jV<@NvE^obTH>(nDe@;V;?5EHpE}J>*e_;oGLjqx6$Unc%z2__jUh zloI+^{zNg4VlVl--tS$l#H;xJJ*&_$#6tM%_@l)gt;$VZJU%j>9Nu-qPRg%rS8hsu zePax9=!?L#pIksFWPC9D@wGMSyWx>2aZEpce}8lNmPG2>Aa`&D6a2nNwwyLC z=vJ%Dnqt;RIHw~DOcuHKV;gP1{#e4}-#=0vNs(7g;iIR>u^Rur=8{NHy)WH^FW=LM z-?Wjni&n;8MNC!~N+;>33*V_59DX=pJ#Yc@Lp^S30*|Q&MnqD?=_%rc6fyfr@3Lmn z1#a~2MZBwhKK=dY>D}!q!Lo;U1f%VMnPt9UF2;=vz?4Tmhq2OJL5IlpY%-*`jSYhN#otRBemGm_Y$Y? zrFr_MAD5S?XLvyK?JU41;D5UDKXKr8l8 zl7OJt(iK{|OS=RD0!2$H?P^Qg1OkFYg(-H^mUhE~sEoBzAF5f~KT+ya(^k~oKC!z@ zX7WgQRNFcQ&F}p=_uk2!$pnb)zW#Z=@|rt$?mg#wzUTXVzUO;79(HK#QL7Jr*}od6 zv2Ov-e?!P?@4cef^{+FnpJ3Rp7*7< z)0W!LiEd;UnRpDkJsyu)ZO3C&i$t;o|H{_Q+z%ghbn{$KJO&z9JDzwRkYapo+193FX_cMgKf-!aFB?6GUyY2NV*MEik ztN8EQ%6ep(1$^1$d}W1{_YmD`#g@Q>9o3v&0Uv4~OTneq$scjPQo+TXi%o2*_E5*x(8u(co&zk$VlUTG+?kby1+C^gF(lYgF4@c$?ab zx5}%n$vr(E+S5_ZoIC^XR`B^8w9!W|_44j!_S}C{FceXvhrB%IE5>}iG2%C&x2D|t z>$jf!@sYQfr*0p)lBU1P-u}W@T2Cq7uh@onzIWKOYAu|Fsp5Mjz{yX8MkQK8TWU-0!{C7;xtaY z#)XUXm+bM5V7&O$EyV*L?~V^V-fYI3(`UTzpv$0X?1nsiPU;!~dzkvezuox-uK4A`+oe^lnK9n z>)@3~4Ie$P-?9UZ2an!+>#0{CGkjj8dlw-SkKAYYe23)b_3-)kd@ChG4d2OTb>-vv z$j1bHI&@TJf0m1HZn-iT$@0Z^p1`XnF>^Cl_~fjJBJEp8=j_04E;=$kIFkL-e|ir4-e*mgtm{P1_4Hh@r{i&a zmM5*g@~)~^-pwXwql|V9PH*VNX-yXOAtX<=*5TmUi(`9js$h?y)$rJ0dG0Sg#ErzGPTMYSJ7%LB&~2S_ zvAuj*-GiU+nUhJLQmVMYhd=4@o1M79wWkyJKQ1fNevHKZk1fna1U;m^kJuhhg_)l= ze4WT@@O3Bnn}r<+Eh%5X*r*luK9?@=KMGqz`D+pEs^~1)lGItmZfsp;kvETSUt+~J zU~_1Xq~wZf6T17HWJCQtREob{|CE2b^*elX8#fr68G1mElt@n%q z`MQ&Pr~%I!*SeaI1q-m{%82)wJkKh|I>p%JC#tS5G(PsdjKK?Uz=5~xDs(EaYQ56} z?gH{mrUGm0bSu{IDeGh>>y+zfSg-F(w@!8eyY4k{Z#jCX;j`Asn{@AU)=6?T=8WR~ z2G&tqS$|*0TBvBKVJY^=1Z&Pn-;Bu%t?RGTGg>3n8l#?VI9Kt_=xDB5V? zIs1Oi*A%;L7#{zQo2BQRF;KU-Out`Zo!pPD(J+esHCDcR+ihUKhx5Heu@K(3+Z`Lf z->2R2Y8O1#0H1K@qn@F@3+Mge+jkE5zCi7Q@8>VG<}9>kT&J9eq1-zY-UV|*rFC)# zu#AQd_G$i{n$3FO_(HSc6>{DqlO(4CPkirv#g6QJ^CsiV=LaA7Z+vrjq?NpO;ni!4 z6*z4^$U1r3O+WW}pq;yKN)_J%0OLThSje+})2^Wbr8LFLi^Eopusn0v< z6Iy(#l{RZDsUHr!H~+b(el_h{W_|eLV9N^HT^@+tF8DZel9&R%4lxDi{%zdfu6k?c z{@D2aO74dlPt%q10W;$F|C#%R$e-;Kw3nVWF50=0d!{Z7{m93dNB`d6)&DI#6BxuE z%=v-F5zl<@))B|If4SNkv3v(}AEk|T?5|wMdW3wk9pq+4d1n#x(K^}U{3Y-*&oaCq ze63GUuiJfkTHVgmWm`>Nkh3>aak2mC(ivXl=%dG?^Yp&Wx#2UW(?fP3+A9`HyjrR!_;B$W$e9yyYf^PxvEktfq0$)#0-k#Ef zr|OGor;2u>)yS(_D;7XsSlh40&Z~YxbxM?Tq5R}qPQ710jJ~{WoBcnutG1Lw-opD~ z-f7_-&Hcl?Bl+N^t)8Cq@sacQXwPR`J#rFR+P01N8hC#f-ybLc88~+U<1S#8&#y6z zWDKr;>jG!yInFe5Y4c@lxh2F>w-ZBEpUSzH5BI{Sd+~Q8Z9PODhJ0i1d*t(6dtz7W z9Cg)BaQn4w-}GS7`_!5QPPdJYnT|f)kNiWQ9(lEA&P?=alc^Jx6MUY$lLgo<$c-3w z%z>it#Gns2mCNB{42sP)jT7DG2jALoy54>7$pO6A%6p;@wRID@q%RQn+UcJ$nY_U* zip@%&s(wvR&#*lKc+djJ;SKa%2kw~*)dbo6M`|)ao8{1TWHa}-TCpb4!!77z;CI)8 zBjggk^4It4Yk6M%)fjrt4ekd9S5Lk}K2j^O0~e-Iz+_}c7JcSgu}B`WDIYm?A#*+g zoms$l@?hVe>9IHR;E8;A;zDR-1a?3Hvf({Xy~GN;9@{(%0S7v<{J47|Vq7`X|{-e~HP(21ev}fX*gOF+9p>>K~ljif# zLOQ=G?zkQtnzJ6jxycEF23lqTAF@$;yV9*^$KHn~|NP%7CR|lx1(lpRrNq@8y zQ?HtPE{$#CTp8gEne~8d4ap+a7-(Mw9*jIy+`=-s9#685DMFu7`fjCP#eN#d?T(=L zT9EzW3UUygxv}FN_I|L7;h)HCeg{Xk4@G_`@<%qX_^ox86L-rg$~ygA-gD%)YZKbE@7Si`clw#;i@y7tug5z3nJ;kuLFVh5%vTf~RB5i6 zuLg4UZ+VAvJU6rNg*lTSAYL5d@ZxChdFwwdqYjg|{!>L3aO6UNdA5F${=1twFR;?O zAE9Pj0Wml~pVO_(<_>>W^DCXJ-^_Y%!=@@Lt1gp!*cDGHKHSC}v_rSTo8<03WTf#8 z_S?0BI)JqU+F&h*IAnTA@h8QUTZ+@*A-`Rpj2K1Z=~MMl@Vy8)R6nW4%4oiYIgW5G zJ~TDop}%B)I>i2)DD<}w*!AvW^pA9gVu&NP|AIMcfsWv*111*%7!-d{jA<%!B--6+ z>!dC2`d%uXbgA&qd*VI$d#aV)0=_eY=HNs!Fx4JN53n3P5RB| z5i68q+M_MzR6M9U$os^Df9{#n1|D=~rsTA8&Hu==x<0_CD~~nTH8eKd<+^n_a4JP&mre?e`;B)94SIVXt-9b;f2`I|p7cHiMm)sJSfT_o4@{3RZz% zGoOBYFNEH$WRI6+eZ<%dtIqK5oTPVM8vU{Z_kTKY3wHgv@ZV$LPuwq3hHk6?c6gXG zw`?9h4Nq(Dw&a=UVj92gMy9yyDP{~j`xzGwrzVkU&FYFkj+@c%M_vkxxo8;XZ z_-iNiL(8!P(0#*YcMGoaQOH8ZDjV3f-)uR1VekR+-weI8F6M(4jr=3e5uYm-VO=b3 zFm|rigjp-|L-T3uhc(~RM+N=tD_1PTe+ha7Jg#FMJDs{QyXiAy6noy0oiA-18_X=U zV$)eq%c6diSyTNO=OT_p|6XIomhs-WHCG37s3{dDU&>-HgKB-sCcUx~y8{>mmyf=8 zLX+kACl%O$weU$4eqx-&7qC~kjxeWz+3(f6&+Q)r+^T7{0vxRZ))n|8;Ap#QtU5T- z+)0o7437LEqr0lXC-%X1lgD>{aHepCyeeZ1f`wSiiSh@|w{gT8f^Y`;gx6UBJ?YD(n zhrV}#<0@ojbS^N@gKp;zm~QcbM+Sc=n8zf+e9`3w=AF=_=yomiR}M|4K?4zJQv7Z1 zL6d3FZt~b>Xl$&1yFA&4ZpI|d1K;Px>1I+eGK(=`lggg`AoH+PV=7J>(_Mur=i$<` z%|o$g9=O&#T;-VuTYe1UJO^N&$vj|F3{ZX;+LgsL^vt_g1%1f6BSjR+~S=I{8cD5Ps~lQT(sNPORczK86qbumXD~eW<^#n19{Z z@3O6nc&8$}_c!l*f%kgm$kr`>0H1?@J->t4o}mlqS^evG=_4}^XK$|j;)V1VW}aK1 z(fORS!e+oZk$iLxc49iUYl`{L0M6aOVegOAxq}&@-B06VzMnO@8yh1GO&!)JHoyFG z*@BmXpKuoKVvqcXV~2R{|E{YO?f)<`)YNxHpH9Cdu$8ri*L$d2zLa%s&Oj;A?=8sK zhd6KJCF-%o)A--0`7_zB5SHSw$^WZ@`cr`ZS>e{iv zN`K%z#k&q(d9Qg^aV?z*+4HP#w3u6Of!zEm+}+NGby=SJUm z>%m|D=*#LWq5b{iO#4|pAE7?_kG_tbTm|nJ*Otg8l&={rww`8uZ}w!fo=tmJVBuw1 z&{{`$DC?p4xlJQ4OS5icS-&^8sSUqGXFu9=XZtbc9c!3*=UkpIM5IpMM znoHOV@e6BZ8K0*88heZyo9z4K_PuQB-?fF^2IT*=p zovrUu)(3X5?@w(VoN({0+wS z$z$Uz@C006NsiPm)=Rweb}#cLd%Xp@+=5&-?QXYmEI;>L+O_Fo^%FZ*_oa)kxOB1I zrVD7|3emvXXj6320#B+|h>tAEucXvMxEzGC)8dugYNeViJ*X&=6+r2Xy0^}V?J7-MU} zevv*pr~c3jt=Jo>`g6y3A_Z?1+c@0PQE21P9>dvj=<@5q6m6d8wiy^0zxMQS-W~DG zUDO(=vMx2YM>%zWif7})Quk+}YL{S(T*ld+#BkAn#Bi~x!q`+{bguQvP<-swPeh27 zxN+R>YlxLig#OSoh0dAVA3AiZK7u|;L&vXW@16WA_UAQXGhEw&?Tmcvwf*^ic-DJn z{ld#XquHyz8y~b?G{RhZ=hxLU5#^?%tK9gn^iK7Sy?Q57Rm1Ph+l9nyn7_&t`ub$8 zbN&(eQ19pUp0^psK2|NAC^|>yY(DJKNgFS=<~%}7JljW|k+0c$NO~g^T73yQ&R$^R zR+-&R=pJ*=8Wz6?o{WwOpj*&M2UhPI7hHf&vI-Ym_6zbC)sDGeHP+lOEUdgN9T{u! zDP6S--BFG1C_{II2V)-*UyLv(pI@W%Dr^~Pa8+yTiQZ?v{=}Sqo-whPUy=Ka?VYL( z^EJ&&#H!nmlPeq6n0YD)EFA%n8_>_i5Y zBZK5q>`azH=(0-H8Yjnry63^qyh#oU-^=+P!C%svgQYW8K6QaP*DVqy4ny2cYa%aC zLLMR4ThJq}JbLSYkVoi?v=s74GMzX?uRP-WOXRCa$BaY<>1;RIZgJb$;VWV?d#jxD zE#6w)Q~x?JO5fBt`!k2FIj#8q-YVx@i!PpdCFz-L_ZjCri!jgZOM0fK#%aen$KrQ9 z^V6hf{+#s8Z+Pahq-T!0&p2mXyvQ>TCOy;2Gm<}X`I?9PbLH!P&P@WRlChUh^T^n| zK=1n6{u-X4=BXoR-S}x2wt)A1@Gx^O8%%groOH4B&hJVyHM-bW3cqHAhOoEn-L3E+ z^1+RPy7r8%3+(u)tLOF1Y2ML#koR|YEQ0&psl9Oj0iVS9Beg!WUx#z{fbsnJ`FAa= zp)=y2E?>wFmhLCEGQ1q0Nqb03S(~^LyElTah$0IzmoB_s>+L<)SSzU!I;UrpwbIAf zZ^LhEKp&(b1KZK1HjRA9jML6JvU5zQMmQ5?HTXn+w9iI<82nHJ;7;TTahmDK$&QPz zla2nhhpDOkzl@=0Y>GZ+_20*MZy&Sz>BH*n<3;tscorZ}62<`!_BW36y?xB=r;qI3 zK7OP=Hl`Q{yxw0Qu@(=mruWmwv)9IPwN-umAVnX@n*RC-d;6&9r;qD<`%n&i&zF3C z=Nx+PuaB3#eU$doM^kSf3+UtJ8te5A`H*+{R=xsFErA{ztSpn?&`u4M)O}@zenekm zcs5RB)PzW;v4=RT^`p>u>m)1IhW*piGkDK>WZG_OZYyVQ47OqiwqpC>%)0jFCf8%H z_0%MzLv>cE_)l{9^|#)yk3h#$Enl71z7^wDjH3!Y*EUb*B4dB!3x%<-;_!06R`{4~ z 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

H~gMxbv_EbRL1Q zzmMrIKV}SEAK+p1Vt*g!x_z8CaD9O5+splZjCK2XA8W1f!{n*akG|xoP28U28M6+b zeLZ^}UcYPY$?YpUw(iq9e2zX!&jT;Gu9`TtT|&M+yY0Zae!3OAbSpV(-pHpWZbx2A z+_sKBK6cwehfh~q*wFX4rtjnv%p7U!=;x?&uC%B1lk85%ykY| ztQnvGA$yvmf1YBVN9q4@`hSA{pQ8U~=>J)_|FV2L z)^_y$OQy1Q!_*;UUq{XZryW@asUtM&itwj(_)5c{*7w7ovgHo@=<7@9>kjnw6)VyCIy$?dfILOM-QM8ODLMNNHKslM-d^pmA8~$*<*1cZUc;Zi zFm+|J4{p6`ME>Ly*PnFjSXKAHzQA(bYu*dSy|N{d16H|zU+4k$M%L9?o1#-_51GDa zme~`~WcCESYb7FoZfqeEFu@&884pD%az~9;>-8THbWWU+~_lByC){T}w9_&{e(Bph}9RAwU{0G_>24c-``)iM zpvPdB9)7#muQs5^cy}EB9B6;r_<-AnKNjw98y|Gr@aO*e)duviTzdG|x%=Bj$Zf-) z*X~;z2KQul(zut}Katu4k%gHx#fQhsGsy=~x4=F#az1YUBaL+>F3tRLO5etsZeyz3 zhJP)(zinLLw&AZ4>sK4_uE?dkzs|E?Z6M3%x#RG!-S@YRNp2hdd}M#yIKyqjpMUCa z8)Mxz{CR+WwE;~BsSWVbUw_oEHlS&lI}U#ixW8?byKVSuI{Vwk#cmt^y&U~*qr#LON47Uw` ztx~_*fPTlh^z+xN^{WkJa+*61{~Atz+nD0E;g3uE-o_Pfjs0x?-^e?+)4B5gwsD&6 zwBg@B(ziAwPo=9Id!v}f^U*8Wi<{4gXqdf7>W_+wkYm`rd{UrwnoF;jdxndm9ctCb;A9=U)2T#zk%${(89nw(%ji zjf$g^VTT?8mmdE8f_)!{(?*`#hCjF0w>Au}Di7fLU8Y{3j64APQSJI;sXTym#*IzW zd4NLp!#ew7RW}@AJ@K9}=Noxv0#sPU?k2Y1Y2yDm8S#IU;(yMXYSbCM$M(mu z&)?hM{WAOZ{pb6|&LIyoO?eRhAIsQPKS5q(R+zbwSEvUoNzc1_FOH=R9aL@P4`hCnu_nkD}^M#D7h;a^M zoFn;Tj?en$=;be7boaEU=48PXXFvm~P~ul)OVe)eH&0lZ*eGX9vi9tyuqPJ6DyNA25LLENza zEUWcXad0=pUSs^g7sIF7&vEub8~LZ_Ij_Q;5zAg=(I%xc(5>E_t3JZsdD;Hv4%%k# zcH%nDKiSBcGQ87x%Uztop|h3qID^BSv7@s}`2O&Z518}i^M+fAhq>>0os)tL1UdgJ z20epA-Sav)XDiP2Z*hOHhR^)=4L+yjj6K(moH@B2$z#U+E?|CDIp)V%WPP3==jVK@ zpYyx1pYyBn&F|Cx`9;PYetxXcuDB@2{K6&um>*~M_H%w0^mBe^`sO#mKR@b44$D8) zvRuGBtQDKokF}ANL{C{Ao0{uk<b4pIZ{lm_an%D@w zSP%Ji*HD!cI9_|1CEv1N=ujA4jFDTa+IEs%t#eY)Rh?0yz0bN|XEdEKjx!@BTQeN` z7575FVnaWp_cg_K8*Lq)j%V7xzO;Y({#ZZh_-{Tse%nvSNNENg!J<7@eX-rjcto23 z__N48e@W+atPrk1E1kdO$DdXHHn){zwAq6P$A~wNm+o&~dz#A|>(t!5iHtS;Fud93 z$oXM;!?|Xk=_hY0`^lT>KHi+~r{mg_4o^qc6iZoC?4iHg9Qo^;t(k03@8|pm_j7)S zew5bX{d`X8uvK>W`Dv|@cUPJ92V^cbFKpg9hTrnwVRfJ97O{TVlP>+R!JIwz?wtPV zWE*qSJ6`%~gP-xyWwW0yoEvc1`KeZkb;Ta@3!k3C?IZgbC)v;RbAFBeoL`-9es}uk z7d|y}e(=@Qn&1z~?@K0G2TK-g()s08oZ}-LmR~L0iQ!wX_#o%?au#Y8XNKv$3R-*I zHWnXw*JK;N^2t~&{yp!E*E-&hKYghAU%6j07oH$&E3%({E7QOC`@s9ZpZ4=(_^DdM zyZKPs-@k{m+TR;?a?1aW5}U;EA$6v@{QVeyZxlbSjd5?VE}f}&)vd;V-&ix$*4Y{9 zbBlDI8Rz8Tf9bp~$&Gn0P=($r5>6B{=dGLtxB`D$=aA_=-nW$OZ?<&yE%$S#W9l7Q z5uR1-H0KJ=JLLab-Z8L&bDN*1p2mA0sIdA4zHj9HptAXTkC@K(3SifathKpu18r~P zy)|ojzlh0wGj93i$z&cp$=?)aUKV5X;u^iT;Ss*;EXUdWruPqZz^hL9w3f58tmn_S z*M(SHElcy{34qi^-%@4w6%|9iv6ruoIVBr_f@ zG;Y1yDT+STx$j!(oX2^g_!n(M^Bapf-wRvcw2^l=aBul+&T{VHoY9T-Q*CTW(~FU* z_6yj^>*veIpJ~5{jeG0r*YIS>Dl zYs2L)!P{Nd?N7dF-Ese$R`K$Jz}@D34PDSjd@L|$I_a!)&e??CA?DzmRi}5{6|{`t zy)}lX)hq*wd)JL=Iq3dKR(z=UQN1@T z9Um$VRE+4C`^q@)QiX=K&`|zWg!5t?8O$B)Db5>}qi@NFVmtlw;=94-y#1d2x3Tu$ zfIhB77pstIbIvTZ_m3-nliq>l$e(B`+Aj3@e>#IpXRYfD$fja2i0|?Xk2Lm<@Abr# z?D#Z9Oc)?u4(hB{baPwCf7ZTb9qD&({*$nm1BFj(L=R-{aQIZpyNEn|nhQTHS<2ZI&8Y0 zb+2vFnPzpegPd{XTqCX)-j$57>*3vE&TGxaHe&0YdY?&RcKTgmi+JB_srRlh#vCAC zmaV8aXWEXmC!-I_(Hv_`9DePg<{cMh>S7Un`!Vq%_|Y3CUYi68ocjkNE)vqCYK z`(B&R{m{WjuN~oI#Kp%6N5DrvHcBtM&cUvt!*S$6JQX%dR$t~lFo(s*p#i&{{NUZ- z)b&|Bd1P1b_}Kj)J@wrGzA~LZ*%y3FL=QDrL&sX^*jIe~MUK7)8Xq6}m%iiUrKk5D zAOAha*#CdP$E!q-e&AyWn*2YZ2dckw-=%mYe2jJd&*0bO7cQ-*IhJ|(%bwEr01qFB66x&D+-Y1Uds)$v~9ET6J<)mjHL!OO`xe9Bh&luN49 z@2~|k)9^nYrsCh8@HvedH&=tE_85XJ2f3W{mD`Gi(L1`+D-mg+x&+A z==qb+aj)l3{^=<{UXD5@csc#%!{X)6+6zidy!}^j>ow*nUzA*w;l~N^qc^;~DhK_K z#-F_IO%E?e^%*ZO%+dGJ;N@c0OM8pA3z5CP;^pSCeaFkeImZ6K2`{gMCb{x~ZM^5c zKX`c)H2GhNm+1Fld`yFvW2*X&mzQZ?P`|@Mk^yB4;#{@5TlgBtr{GGzfN5QSTviR|0d+&Hzl!N|9gO?}& z$-~PN`;3=wKh~4?1C5u@{&U~)@`h9Tj+Z~lG4^AHm&;g}>u-LtH@v)6^f-clxrq8K zFF#oZO(MLTLVDxnC+nzZS?A^?Ypn23tZm~?H@QXXc-E0yRIZZihph18)7z+-sErJ_ z`JT{yLF@YOX8VK6cRDpZgY7q|D_i7`qc1(jyi+Hd!zUb$T>JBk$I2)C`zH=H|A6;= z`Y~>AJQL$ep=)m#cYY38xd)%n%Rg^Ae15TYBlPRx4_aw|FhD#|V=euz=xteNoGxC? zX1uwu&RIh_<*2dlDr(2lYcZ!B6Ri6_Iika2-S~@HkE?&}Mlfe?7GE0Si{_mxmfrbj zPrT9lyjcn{|2%&5CExhRKX~ggr}P=`T66S2(0Et3tnYX?_2j4LHs<<%)g(^W%q_Z=IgP zIeg9{`x*N7`*K}3^p11;9_guHjXCt|p2Oo^Qx3dq+UUc(DC;Q(@31A(^~sFc#k!sT zI2f#JRlOdu?oKZbzQld6rMKp6e#?x5cY1N~sjVrjGwmFUyx}e6dk%wjt+g)Jo%cu9 z|Fd{=1-$7E>%NhL7i)dI5a9I(@7Dd^;9YAi^z7^U%I9;8;VAKLXK(RvHS*ZkczDm~ zzT@5O9AiILcsF>c{JSyfdJAf*RbQ<-Yxzc|9w4he2LEnnu6Q`P6nan>Vb-6)JyRbu zC$l~#zZy-m%@P?u+1>zlJWa?$oSmvu?x@WQYkZ!57gs_`ia@J=|M33Fd1_gq74ZD`xz)~#@l{8Y^^kNFE9$nEhy?5TDY>&=Uu z^=5cobkw-`8|q5j^%T=ihiX;edk4Jk_j)sP(OR?CoHcH5z4x}-}-}h*JbglFZDJT=IDE%@lN{ISG?PNQs41zaE`Gb3%uLg;GF02 zGUwsEH|(S|=3Rr%EJTj3;(xauP}tYzs|oB4^PamthmUtvCgyD)l*YV&fiB@e>|^Ji zamZc?vR8?&sg6?b$S7sqM7U=#58V^y37;l#pX$=Q+QCb&KIr&H+$)^js#-YevV@Dq zXX1K3amq&aE*X5aMyK%=J^eho%XR7;Pc!kI-f5bRueV&%6JOiGMT4 zCj9PDbDOC*9M)%lZ{LQVd>Ux{d+EBq^uIwoMY_A0{=`sQ&#*VIaPga9KS*S zP6Yg$W%dC&dmp`h((AN02YXps5;kW(39o_|^BEr_tj~IPD4&&IGv7~5|3=Q6nzP}m zIZFho^HZ&t>N!n&+CO-agMael9GwZZ#70}rzC>`iMsC^^~gc4 zdQbSgM{Dz6g3qOH9=1~NbIwukS#t(_sUK;7|4%*g6RpOlH+H1|HSqP+Tj$D8JovFg z&GXJn*^wsYC+?$fV{0Y1^tW|M?{;M8`kwfdtDb37FZJ&mq1{Gk=jCFztFF`7m{7~^ zb5l8pR(}p+0{bU6LL>4Ft-c(@&aAcg))zB#5UpMg;sA9lvMXLY$HJ~$NscVTuJ~e> z5H`K`*Q3l@{BUf-yUf$I=_&q41;bLnFr>fcwqaj3ZrTGm3#zUChm z?NMuQ`G+#(t*`$0&XIk$M-y_4{aDzey={&^zWW6EQ0epaqP5thrQkn4c^rGB zJw$p(W0pVOnkxtKr&?$N_A4*iPCc>7K`hMl$D`OlF9&fibg3EQo-38@k6&%=rH*`o z;@Lh4*|T z@zmg~=Y!P;o8`j`*CVuN+9o#FnFNuE&?6Ln@~rvdyWXcxT?%I?SnTUP6KvW>y|w=w z!fgLJQbBvwK0mz8&4~~@YtN^0Hyw04GwLWaH_$Pb4w=LkjFMg`zb3{5`Y(OUOhAwsd`S7X& zjEXRBooC_WPpf5p(7qAu+LoWmpKW>8X2}ZsAX--u53C{{$Ri#w-y>78llWrnCd48~Vj!R|#PxJPYEuF$!~Cm=V&oi%WcQM`IjYo5#ziG@*80GoBTd6f%l=ge~lt$e818^to}z}j3=;Im24-jl&vR|bh6jICTljz{@-y+yTnEkQSr6`psi_5}SF_C}HSBaR>06~6lMy9b_6 zw9I);@(0_o5xMXjyR;xOF^%7TKP1~;_~0I()yoj*#}Vz~>|SkZ1YEv{*W9<#l^~Xb}7xMW6Vi&6CE9_?tO3Zq3`z8 z^X&M<8~^UC{lyw%0AA}{@lt#M?GKg?$Pd_t9gz?0t#7?aeD%@Gkq@(n*zvbDmsbxa z9lo|XW7N8ym&>mjujea%vs1Z%tmoRYo)d;CZ~C%3pVxgn@W!8A52W!28GnHBYwTal z(a)w{`gy|bXE*(L?Qg>0@YnZw`WgpwVqj06p;5q`gC-iG!waO#p=iVdcHUyDZQ#oyCAXY_d2z{($PMXeZ$0`&u*deYBgA z@8kO`)Cp;CaUQmEJpS@3oqYpul;<-z;^y{V;6C{aB|007^$$nhoHfks@dY(c*N5@O z`n$KY#!6kn&VG*d;XaP_JN~iOpPo5ZXjiK7K|jf`cjiM3npJ@_<{S?2Qhuxatu%Z$AQ^w@b$)#EH?5)3TGJBSC zufN5SfnMT$)~b4*$q`!!#^4{t;d?v&kcs!fbN`tf>wJ5bzCLV!a|wHvV%+2Dc?Yqg z){vv374rA7x#%u!DW}{)yZN6y*zCyU>Gmh!vymxetco)vs))_1ku`D?)7!y(rTZ>n(c> z_g8ZkLTz}m){S@v4gAX$n>V<&hH?9R+$NI~Wll%4wniMjGnEtdt*y;NMuud`$cK>; ze;ocr_|sb)-uUl5aXfp!(j>E9(er$WY+KXxU(`2)RtBIYq57u^Gv=R6+- zJ@MQ63tv0bTucA8^k0mPuOx3Kx_dl$&W#m?C-`GV9wpnN&E9{?j1@&2bSme0Zr?rL z^{HGs_QhY=`)@tv>}S5Y%I)#&VITaRrrz?gTbV~+{hb?`M_>J&?K#HZo4+$SYdu

3LFVt=rT;n(4+MoIE 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