diff --git a/cmd/policy/main.go b/cmd/policy/main.go
index d84be447017b61b5d62381c335093d058767f998..4bd4b77300b6c9685659468c28b5f04356903c10 100644
--- a/cmd/policy/main.go
+++ b/cmd/policy/main.go
@@ -8,6 +8,8 @@ import (
 	"time"
 
 	"github.com/kelseyhightower/envconfig"
+	"go.mongodb.org/mongo-driver/mongo"
+	"go.mongodb.org/mongo-driver/mongo/options"
 	"go.uber.org/zap"
 	"go.uber.org/zap/zapcore"
 	goahttp "goa.design/goa/v3/http"
@@ -31,11 +33,13 @@ import (
 var Version = "0.0.0+development"
 
 func main() {
+	// load configuration from environment
 	var cfg config.Config
 	if err := envconfig.Process("", &cfg); err != nil {
 		log.Fatalf("cannot load configuration: %v", err)
 	}
 
+	// create logger
 	logger, err := createLogger(cfg.LogLevel)
 	if err != nil {
 		log.Fatalln(err)
@@ -44,7 +48,21 @@ func main() {
 
 	logger.Info("policy service started", zap.String("version", Version), zap.String("goa", goa.Version()))
 
-	storage := storage.New()
+	// connect to mongo db
+	db, err := mongo.Connect(
+		context.Background(),
+		options.Client().ApplyURI(cfg.Mongo.Addr).SetAuth(options.Credential{
+			Username: cfg.Mongo.User,
+			Password: cfg.Mongo.Pass,
+		}),
+	)
+	if err != nil {
+		logger.Fatal("error connecting to mongodb", zap.Error(err))
+	}
+	defer db.Disconnect(context.Background()) //nolint:errcheck
+
+	// create storage
+	storage := storage.New(db, cfg.Mongo.DB, cfg.Mongo.Collection)
 
 	// create services
 	var (
diff --git a/design/design.go b/design/design.go
index 2dae41291b91e4550a33ff1de6574042e125dd59..fd374e5ab73bc794b97ae288f0ed22f8978d88d9 100644
--- a/design/design.go
+++ b/design/design.go
@@ -19,6 +19,7 @@ var _ = Service("policy", func() {
 	Description("Policy Service provides evaluation of policies through Open Policy Agent.")
 
 	Method("Evaluate", func() {
+		Description("Evaluate executes a policy with the given 'data' as input.")
 		Payload(EvaluateRequest)
 		Result(EvaluateResult)
 		HTTP(func() {
@@ -26,6 +27,26 @@ var _ = Service("policy", func() {
 			Response(StatusOK)
 		})
 	})
+
+	Method("Lock", func() {
+		Description("Lock a policy so that it cannot be evaluated.")
+		Payload(LockRequest)
+		Result(Empty)
+		HTTP(func() {
+			POST("/policy/{group}/{policyName}/{version}/lock")
+			Response(StatusOK)
+		})
+	})
+
+	Method("Unlock", func() {
+		Description("Unlock a policy so it can be evaluated again.")
+		Payload(UnlockRequest)
+		Result(Empty)
+		HTTP(func() {
+			DELETE("/policy/{group}/{policyName}/{version}/lock")
+			Response(StatusOK)
+		})
+	})
 })
 
 var _ = Service("health", func() {
diff --git a/design/types.go b/design/types.go
index c72cf1a00963fb82b7afb0707831c998bb62ee13..a0820bff93317f074f9259501af54828726ef20e 100644
--- a/design/types.go
+++ b/design/types.go
@@ -15,3 +15,17 @@ var EvaluateResult = Type("EvaluateResult", func() {
 	Field(1, "result", Any, "Arbitrary JSON response.")
 	Required("result")
 })
+
+var LockRequest = Type("LockRequest", func() {
+	Field(1, "group", String, "Policy group")
+	Field(2, "policyName", String, "Policy name")
+	Field(3, "version", String, "Policy version")
+	Required("group", "policyName", "version")
+})
+
+var UnlockRequest = Type("UnlockRequest", func() {
+	Field(1, "group", String, "Policy group")
+	Field(2, "policyName", String, "Policy name")
+	Field(3, "version", String, "Policy version")
+	Required("group", "policyName", "version")
+})
diff --git a/gen/http/cli/policy/cli.go b/gen/http/cli/policy/cli.go
index f7610a8509be88ee1c93f64a19cab1e4eb6c5865..2f770acae427087ce3ddc84daf65f4289e580817 100644
--- a/gen/http/cli/policy/cli.go
+++ b/gen/http/cli/policy/cli.go
@@ -25,7 +25,7 @@ import (
 //
 func UsageCommands() string {
 	return `health (liveness|readiness)
-policy evaluate
+policy (evaluate|lock|unlock)
 `
 }
 
@@ -33,8 +33,8 @@ policy evaluate
 func UsageExamples() string {
 	return os.Args[0] + ` health liveness` + "\n" +
 		os.Args[0] + ` policy evaluate --body '{
-      "data": "Quasi et et laudantium non."
-   }' --group "Et facilis sit corporis enim." --policy-name "Saepe aut cumque." --version "Ab accusamus voluptatem et est."` + "\n" +
+      "data": "Id odio aperiam voluptatem molestias corrupti sunt."
+   }' --group "Ipsum nihil quo." --policy-name "Repellat velit omnis." --version "Vitae qui."` + "\n" +
 		""
 }
 
@@ -61,6 +61,16 @@ func ParseEndpoint(
 		policyEvaluateGroupFlag      = policyEvaluateFlags.String("group", "REQUIRED", "Policy group")
 		policyEvaluatePolicyNameFlag = policyEvaluateFlags.String("policy-name", "REQUIRED", "Policy name")
 		policyEvaluateVersionFlag    = policyEvaluateFlags.String("version", "REQUIRED", "Policy version")
+
+		policyLockFlags          = flag.NewFlagSet("lock", flag.ExitOnError)
+		policyLockGroupFlag      = policyLockFlags.String("group", "REQUIRED", "Policy group")
+		policyLockPolicyNameFlag = policyLockFlags.String("policy-name", "REQUIRED", "Policy name")
+		policyLockVersionFlag    = policyLockFlags.String("version", "REQUIRED", "Policy version")
+
+		policyUnlockFlags          = flag.NewFlagSet("unlock", flag.ExitOnError)
+		policyUnlockGroupFlag      = policyUnlockFlags.String("group", "REQUIRED", "Policy group")
+		policyUnlockPolicyNameFlag = policyUnlockFlags.String("policy-name", "REQUIRED", "Policy name")
+		policyUnlockVersionFlag    = policyUnlockFlags.String("version", "REQUIRED", "Policy version")
 	)
 	healthFlags.Usage = healthUsage
 	healthLivenessFlags.Usage = healthLivenessUsage
@@ -68,6 +78,8 @@ func ParseEndpoint(
 
 	policyFlags.Usage = policyUsage
 	policyEvaluateFlags.Usage = policyEvaluateUsage
+	policyLockFlags.Usage = policyLockUsage
+	policyUnlockFlags.Usage = policyUnlockUsage
 
 	if err := flag.CommandLine.Parse(os.Args[1:]); err != nil {
 		return nil, nil, err
@@ -118,6 +130,12 @@ func ParseEndpoint(
 			case "evaluate":
 				epf = policyEvaluateFlags
 
+			case "lock":
+				epf = policyLockFlags
+
+			case "unlock":
+				epf = policyUnlockFlags
+
 			}
 
 		}
@@ -156,6 +174,12 @@ func ParseEndpoint(
 			case "evaluate":
 				endpoint = c.Evaluate()
 				data, err = policyc.BuildEvaluatePayload(*policyEvaluateBodyFlag, *policyEvaluateGroupFlag, *policyEvaluatePolicyNameFlag, *policyEvaluateVersionFlag)
+			case "lock":
+				endpoint = c.Lock()
+				data, err = policyc.BuildLockPayload(*policyLockGroupFlag, *policyLockPolicyNameFlag, *policyLockVersionFlag)
+			case "unlock":
+				endpoint = c.Unlock()
+				data, err = policyc.BuildUnlockPayload(*policyUnlockGroupFlag, *policyUnlockPolicyNameFlag, *policyUnlockVersionFlag)
 			}
 		}
 	}
@@ -207,7 +231,9 @@ Usage:
     %[1]s [globalflags] policy COMMAND [flags]
 
 COMMAND:
-    evaluate: Evaluate implements Evaluate.
+    evaluate: Evaluate executes a policy with the given 'data' as input.
+    lock: Lock a policy so that it cannot be evaluated.
+    unlock: Unlock a policy so it can be evaluated again.
 
 Additional help:
     %[1]s policy COMMAND --help
@@ -216,7 +242,7 @@ Additional help:
 func policyEvaluateUsage() {
 	fmt.Fprintf(os.Stderr, `%[1]s [flags] policy evaluate -body JSON -group STRING -policy-name STRING -version STRING
 
-Evaluate implements Evaluate.
+Evaluate executes a policy with the given 'data' as input.
     -body JSON: 
     -group STRING: Policy group
     -policy-name STRING: Policy name
@@ -224,7 +250,33 @@ Evaluate implements Evaluate.
 
 Example:
     %[1]s policy evaluate --body '{
-      "data": "Quasi et et laudantium non."
-   }' --group "Et facilis sit corporis enim." --policy-name "Saepe aut cumque." --version "Ab accusamus voluptatem et est."
+      "data": "Id odio aperiam voluptatem molestias corrupti sunt."
+   }' --group "Ipsum nihil quo." --policy-name "Repellat velit omnis." --version "Vitae qui."
+`, os.Args[0])
+}
+
+func policyLockUsage() {
+	fmt.Fprintf(os.Stderr, `%[1]s [flags] policy lock -group STRING -policy-name STRING -version STRING
+
+Lock a policy so that it cannot be evaluated.
+    -group STRING: Policy group
+    -policy-name STRING: Policy name
+    -version STRING: Policy version
+
+Example:
+    %[1]s policy lock --group "Repudiandae dolore quod." --policy-name "Aut ut fuga quae eius minus." --version "Architecto quibusdam ab."
+`, os.Args[0])
+}
+
+func policyUnlockUsage() {
+	fmt.Fprintf(os.Stderr, `%[1]s [flags] policy unlock -group STRING -policy-name STRING -version STRING
+
+Unlock a policy so it can be evaluated again.
+    -group STRING: Policy group
+    -policy-name STRING: Policy name
+    -version STRING: Policy version
+
+Example:
+    %[1]s policy unlock --group "Omnis quasi aut consequuntur." --policy-name "Tempore minus." --version "Quis quos qui earum velit illum."
 `, os.Args[0])
 }
diff --git a/gen/http/openapi.json b/gen/http/openapi.json
index b7773f1f2682a175a648689f215e17710c7ba16f..488e432520f2553f7461bd93837d50fd7a0a9be0 100644
--- a/gen/http/openapi.json
+++ b/gen/http/openapi.json
@@ -1 +1 @@
-{"swagger":"2.0","info":{"title":"Policy Service","description":"The policy service exposes HTTP API for executing policies.","version":""},"host":"localhost:8080","consumes":["application/json","application/xml","application/gob"],"produces":["application/json","application/xml","application/gob"],"paths":{"/liveness":{"get":{"tags":["health"],"summary":"Liveness health","operationId":"health#Liveness","responses":{"200":{"description":"OK response."}},"schemes":["http"]}},"/policy/{group}/{policyName}/{version}/evaluation":{"post":{"tags":["policy"],"summary":"Evaluate policy","operationId":"policy#Evaluate","parameters":[{"name":"group","in":"path","description":"Policy group","required":true,"type":"string"},{"name":"policyName","in":"path","description":"Policy name","required":true,"type":"string"},{"name":"version","in":"path","description":"Policy version","required":true,"type":"string"},{"name":"EvaluateRequestBody","in":"body","required":true,"schema":{"$ref":"#/definitions/PolicyEvaluateRequestBody","required":["data"]}}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/PolicyEvaluateResponseBody","required":["result"]}}},"schemes":["http"]}},"/readiness":{"get":{"tags":["health"],"summary":"Readiness health","operationId":"health#Readiness","responses":{"200":{"description":"OK response."}},"schemes":["http"]}}},"definitions":{"PolicyEvaluateRequestBody":{"title":"PolicyEvaluateRequestBody","type":"object","properties":{"data":{"type":"string","description":"Data passed as input to the policy execution runtime","example":"Ipsum nihil quo.","format":"binary"}},"example":{"data":"Repellat velit omnis."},"required":["data"]},"PolicyEvaluateResponseBody":{"title":"PolicyEvaluateResponseBody","type":"object","properties":{"result":{"type":"string","description":"Arbitrary JSON response.","example":"Illum ad assumenda consectetur minima voluptatibus.","format":"binary"}},"example":{"result":"Id odio aperiam voluptatem molestias corrupti sunt."},"required":["result"]}}}
\ No newline at end of file
+{"swagger":"2.0","info":{"title":"Policy Service","description":"The policy service exposes HTTP API for executing policies.","version":""},"host":"localhost:8080","consumes":["application/json","application/xml","application/gob"],"produces":["application/json","application/xml","application/gob"],"paths":{"/liveness":{"get":{"tags":["health"],"summary":"Liveness health","operationId":"health#Liveness","responses":{"200":{"description":"OK response."}},"schemes":["http"]}},"/policy/{group}/{policyName}/{version}/evaluation":{"post":{"tags":["policy"],"summary":"Evaluate policy","description":"Evaluate executes a policy with the given 'data' as input.","operationId":"policy#Evaluate","parameters":[{"name":"group","in":"path","description":"Policy group","required":true,"type":"string"},{"name":"policyName","in":"path","description":"Policy name","required":true,"type":"string"},{"name":"version","in":"path","description":"Policy version","required":true,"type":"string"},{"name":"EvaluateRequestBody","in":"body","required":true,"schema":{"$ref":"#/definitions/PolicyEvaluateRequestBody","required":["data"]}}],"responses":{"200":{"description":"OK response.","schema":{"$ref":"#/definitions/PolicyEvaluateResponseBody","required":["result"]}}},"schemes":["http"]}},"/policy/{group}/{policyName}/{version}/lock":{"post":{"tags":["policy"],"summary":"Lock policy","description":"Lock a policy so that it cannot be evaluated.","operationId":"policy#Lock","parameters":[{"name":"group","in":"path","description":"Policy group","required":true,"type":"string"},{"name":"policyName","in":"path","description":"Policy name","required":true,"type":"string"},{"name":"version","in":"path","description":"Policy version","required":true,"type":"string"}],"responses":{"200":{"description":"OK response."}},"schemes":["http"]},"delete":{"tags":["policy"],"summary":"Unlock policy","description":"Unlock a policy so it can be evaluated again.","operationId":"policy#Unlock","parameters":[{"name":"group","in":"path","description":"Policy group","required":true,"type":"string"},{"name":"policyName","in":"path","description":"Policy name","required":true,"type":"string"},{"name":"version","in":"path","description":"Policy version","required":true,"type":"string"}],"responses":{"200":{"description":"OK response."}},"schemes":["http"]}},"/readiness":{"get":{"tags":["health"],"summary":"Readiness health","operationId":"health#Readiness","responses":{"200":{"description":"OK response."}},"schemes":["http"]}}},"definitions":{"PolicyEvaluateRequestBody":{"title":"PolicyEvaluateRequestBody","type":"object","properties":{"data":{"type":"string","description":"Data passed as input to the policy execution runtime","example":"Aut minus alias.","format":"binary"}},"example":{"data":"At eos facilis molestias in voluptas rem."},"required":["data"]},"PolicyEvaluateResponseBody":{"title":"PolicyEvaluateResponseBody","type":"object","properties":{"result":{"type":"string","description":"Arbitrary JSON response.","example":"Aliquam atque voluptatum ut dolorem.","format":"binary"}},"example":{"result":"Aut facere veniam repudiandae id."},"required":["result"]}}}
\ No newline at end of file
diff --git a/gen/http/openapi.yaml b/gen/http/openapi.yaml
index 214812d239e6fa3e70b5c33dd97ee7410a0c52da..9b1b80e7cbecd453341b3519a52d7c274388710c 100644
--- a/gen/http/openapi.yaml
+++ b/gen/http/openapi.yaml
@@ -29,6 +29,7 @@ paths:
       tags:
       - policy
       summary: Evaluate policy
+      description: Evaluate executes a policy with the given 'data' as input.
       operationId: policy#Evaluate
       parameters:
       - name: group
@@ -62,6 +63,61 @@ paths:
             - result
       schemes:
       - http
+  /policy/{group}/{policyName}/{version}/lock:
+    post:
+      tags:
+      - policy
+      summary: Lock policy
+      description: Lock a policy so that it cannot be evaluated.
+      operationId: policy#Lock
+      parameters:
+      - name: group
+        in: path
+        description: Policy group
+        required: true
+        type: string
+      - name: policyName
+        in: path
+        description: Policy name
+        required: true
+        type: string
+      - name: version
+        in: path
+        description: Policy version
+        required: true
+        type: string
+      responses:
+        "200":
+          description: OK response.
+      schemes:
+      - http
+    delete:
+      tags:
+      - policy
+      summary: Unlock policy
+      description: Unlock a policy so it can be evaluated again.
+      operationId: policy#Unlock
+      parameters:
+      - name: group
+        in: path
+        description: Policy group
+        required: true
+        type: string
+      - name: policyName
+        in: path
+        description: Policy name
+        required: true
+        type: string
+      - name: version
+        in: path
+        description: Policy version
+        required: true
+        type: string
+      responses:
+        "200":
+          description: OK response.
+      schemes:
+      - http
   /readiness:
     get:
       tags:
@@ -81,10 +137,10 @@ definitions:
       data:
         type: string
         description: Data passed as input to the policy execution runtime
-        example: Ipsum nihil quo.
+        example: Aut minus alias.
         format: binary
     example:
-      data: Repellat velit omnis.
+      data: At eos facilis molestias in voluptas rem.
     required:
     - data
   PolicyEvaluateResponseBody:
@@ -94,9 +150,9 @@ definitions:
       result:
         type: string
         description: Arbitrary JSON response.
-        example: Illum ad assumenda consectetur minima voluptatibus.
+        example: Aliquam atque voluptatum ut dolorem.
         format: binary
     example:
-      result: Id odio aperiam voluptatem molestias corrupti sunt.
+      result: Aut facere veniam repudiandae id.
     required:
     - result
diff --git a/gen/http/openapi3.json b/gen/http/openapi3.json
index 705e20782adfbb4f6845bc14258fdc2b0ffd5089..b5e80c94b4f27263fde97dabb3bc5853bc081ee7 100644
--- a/gen/http/openapi3.json
+++ b/gen/http/openapi3.json
@@ -1 +1 @@
-{"openapi":"3.0.3","info":{"title":"Policy Service","description":"The policy service exposes HTTP API for executing policies.","version":"1.0"},"servers":[{"url":"http://localhost:8080","description":"Policy Server"}],"paths":{"/liveness":{"get":{"tags":["health"],"summary":"Liveness health","operationId":"health#Liveness","responses":{"200":{"description":"OK response."}}}},"/policy/{group}/{policyName}/{version}/evaluation":{"post":{"tags":["policy"],"summary":"Evaluate policy","operationId":"policy#Evaluate","parameters":[{"name":"group","in":"path","description":"Policy group","required":true,"schema":{"type":"string","description":"Policy group","example":"Explicabo beatae quisquam officiis libero voluptatibus."},"example":"Repudiandae dolore quod."},{"name":"policyName","in":"path","description":"Policy name","required":true,"schema":{"type":"string","description":"Policy name","example":"Aut ut fuga quae eius minus."},"example":"Architecto quibusdam ab."},{"name":"version","in":"path","description":"Policy version","required":true,"schema":{"type":"string","description":"Policy version","example":"In illum est et hic."},"example":"Deleniti non nihil dolor aut sed."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluateRequestBody"},"example":{"data":"Quasi et et laudantium non."}}}},"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluateResult"},"example":{"result":"Et voluptates."}}}}}}},"/readiness":{"get":{"tags":["health"],"summary":"Readiness health","operationId":"health#Readiness","responses":{"200":{"description":"OK response."}}}}},"components":{"schemas":{"EvaluateRequestBody":{"type":"object","properties":{"data":{"type":"string","description":"Data passed as input to the policy execution runtime","example":"Vitae qui.","format":"binary"}},"example":{"data":"Provident fugiat at cupiditate."},"required":["data"]},"EvaluateResult":{"type":"object","properties":{"result":{"type":"string","description":"Arbitrary JSON response.","example":"Commodi vitae voluptatem.","format":"binary"}},"example":{"result":"Similique quisquam optio."},"required":["result"]}}},"tags":[{"name":"health","description":"Health service provides health check endpoints."},{"name":"policy","description":"Policy Service provides evaluation of policies through Open Policy Agent."}]}
\ No newline at end of file
+{"openapi":"3.0.3","info":{"title":"Policy Service","description":"The policy service exposes HTTP API for executing policies.","version":"1.0"},"servers":[{"url":"http://localhost:8080","description":"Policy Server"}],"paths":{"/liveness":{"get":{"tags":["health"],"summary":"Liveness health","operationId":"health#Liveness","responses":{"200":{"description":"OK response."}}}},"/policy/{group}/{policyName}/{version}/evaluation":{"post":{"tags":["policy"],"summary":"Evaluate policy","description":"Evaluate executes a policy with the given 'data' as input.","operationId":"policy#Evaluate","parameters":[{"name":"group","in":"path","description":"Policy group","required":true,"schema":{"type":"string","description":"Policy group","example":"Non mollitia nesciunt impedit facere."},"example":"Ut commodi perspiciatis corporis."},{"name":"policyName","in":"path","description":"Policy name","required":true,"schema":{"type":"string","description":"Policy name","example":"Accusamus autem sequi."},"example":"Et nulla."},{"name":"version","in":"path","description":"Policy version","required":true,"schema":{"type":"string","description":"Policy version","example":"In quis nesciunt autem et."},"example":"Sunt in et quia cum."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluateRequestBody"},"example":{"data":"Id odio aperiam voluptatem molestias corrupti sunt."}}}},"responses":{"200":{"description":"OK response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluateResult"},"example":{"result":"Provident fugiat at cupiditate."}}}}}}},"/policy/{group}/{policyName}/{version}/lock":{"delete":{"tags":["policy"],"summary":"Unlock policy","description":"Unlock a policy so it can be evaluated again.","operationId":"policy#Unlock","parameters":[{"name":"group","in":"path","description":"Policy group","required":true,"schema":{"type":"string","description":"Policy group","example":"Accusamus enim."},"example":"Recusandae est rerum corrupti quia."},{"name":"policyName","in":"path","description":"Policy name","required":true,"schema":{"type":"string","description":"Policy name","example":"Quam dolores architecto itaque."},"example":"Voluptas ad corporis adipisci inventore ipsum."},{"name":"version","in":"path","description":"Policy version","required":true,"schema":{"type":"string","description":"Policy version","example":"Recusandae dolorum nisi distinctio vitae ad."},"example":"Perspiciatis voluptatem."}],"responses":{"200":{"description":"OK response."}}},"post":{"tags":["policy"],"summary":"Lock policy","description":"Lock a policy so that it cannot be evaluated.","operationId":"policy#Lock","parameters":[{"name":"group","in":"path","description":"Policy group","required":true,"schema":{"type":"string","description":"Policy group","example":"Commodi nemo fugiat id praesentium accusantium expedita."},"example":"Qui non quia."},{"name":"policyName","in":"path","description":"Policy name","required":true,"schema":{"type":"string","description":"Policy name","example":"Error maxime quasi quia non voluptatibus error."},"example":"Optio quia et laborum."},{"name":"version","in":"path","description":"Policy version","required":true,"schema":{"type":"string","description":"Policy version","example":"In libero perspiciatis voluptatum ut soluta."},"example":"Ut amet."}],"responses":{"200":{"description":"OK response."}}}},"/readiness":{"get":{"tags":["health"],"summary":"Readiness health","operationId":"health#Readiness","responses":{"200":{"description":"OK response."}}}}},"components":{"schemas":{"EvaluateRequestBody":{"type":"object","properties":{"data":{"type":"string","description":"Data passed as input to the policy execution runtime","example":"Ab accusantium ut ut aliquid sint animi.","format":"binary"}},"example":{"data":"Dolorem cumque laborum quis nesciunt."},"required":["data"]},"EvaluateResult":{"type":"object","properties":{"result":{"type":"string","description":"Arbitrary JSON response.","example":"Aut voluptas.","format":"binary"}},"example":{"result":"Sint nam voluptatem ea consequatur similique et."},"required":["result"]}}},"tags":[{"name":"health","description":"Health service provides health check endpoints."},{"name":"policy","description":"Policy Service provides evaluation of policies through Open Policy Agent."}]}
\ No newline at end of file
diff --git a/gen/http/openapi3.yaml b/gen/http/openapi3.yaml
index aa3e8dd726ece2eb68366c35315b34ff1ad83fbf..caa0e51e5f51f2a69885fe8bd6566acb5c947d5c 100644
--- a/gen/http/openapi3.yaml
+++ b/gen/http/openapi3.yaml
@@ -21,6 +21,7 @@ paths:
       tags:
       - policy
       summary: Evaluate policy
+      description: Evaluate executes a policy with the given 'data' as input.
       operationId: policy#Evaluate
       parameters:
       - name: group
@@ -30,8 +31,8 @@ paths:
         schema:
           type: string
           description: Policy group
-          example: Explicabo beatae quisquam officiis libero voluptatibus.
-        example: Repudiandae dolore quod.
+          example: Non mollitia nesciunt impedit facere.
+        example: Ut commodi perspiciatis corporis.
       - name: policyName
         in: path
         description: Policy name
@@ -39,8 +40,8 @@ paths:
         schema:
           type: string
           description: Policy name
-          example: Aut ut fuga quae eius minus.
-        example: Architecto quibusdam ab.
+          example: Accusamus autem sequi.
+        example: Et nulla.
       - name: version
         in: path
         description: Policy version
@@ -48,8 +49,8 @@ paths:
         schema:
           type: string
           description: Policy version
-          example: In illum est et hic.
-        example: Deleniti non nihil dolor aut sed.
+          example: In quis nesciunt autem et.
+        example: Sunt in et quia cum.
       requestBody:
         required: true
         content:
@@ -57,7 +58,7 @@ paths:
             schema:
               $ref: '#/components/schemas/EvaluateRequestBody'
             example:
-              data: Quasi et et laudantium non.
+              data: Id odio aperiam voluptatem molestias corrupti sunt.
       responses:
         "200":
           description: OK response.
@@ -66,7 +67,82 @@ paths:
               schema:
                 $ref: '#/components/schemas/EvaluateResult'
               example:
-                result: Et voluptates.
+                result: Provident fugiat at cupiditate.
+  /policy/{group}/{policyName}/{version}/lock:
+    delete:
+      tags:
+      - policy
+      summary: Unlock policy
+      description: Unlock a policy so it can be evaluated again.
+      operationId: policy#Unlock
+      parameters:
+      - name: group
+        in: path
+        description: Policy group
+        required: true
+        schema:
+          type: string
+          description: Policy group
+          example: Accusamus enim.
+        example: Recusandae est rerum corrupti quia.
+      - name: policyName
+        in: path
+        description: Policy name
+        required: true
+        schema:
+          type: string
+          description: Policy name
+          example: Quam dolores architecto itaque.
+        example: Voluptas ad corporis adipisci inventore ipsum.
+      - name: version
+        in: path
+        description: Policy version
+        required: true
+        schema:
+          type: string
+          description: Policy version
+          example: Recusandae dolorum nisi distinctio vitae ad.
+        example: Perspiciatis voluptatem.
+      responses:
+        "200":
+          description: OK response.
+    post:
+      tags:
+      - policy
+      summary: Lock policy
+      description: Lock a policy so that it cannot be evaluated.
+      operationId: policy#Lock
+      parameters:
+      - name: group
+        in: path
+        description: Policy group
+        required: true
+        schema:
+          type: string
+          description: Policy group
+          example: Commodi nemo fugiat id praesentium accusantium expedita.
+        example: Qui non quia.
+      - name: policyName
+        in: path
+        description: Policy name
+        required: true
+        schema:
+          type: string
+          description: Policy name
+          example: Error maxime quasi quia non voluptatibus error.
+        example: Optio quia et laborum.
+      - name: version
+        in: path
+        description: Policy version
+        required: true
+        schema:
+          type: string
+          description: Policy version
+          example: In libero perspiciatis voluptatum ut soluta.
+        example: Ut amet.
+      responses:
+        "200":
+          description: OK response.
   /readiness:
     get:
       tags:
@@ -84,10 +160,10 @@ components:
         data:
           type: string
           description: Data passed as input to the policy execution runtime
-          example: Vitae qui.
+          example: Ab accusantium ut ut aliquid sint animi.
           format: binary
       example:
-        data: Provident fugiat at cupiditate.
+        data: Dolorem cumque laborum quis nesciunt.
       required:
       - data
     EvaluateResult:
@@ -96,10 +172,10 @@ components:
         result:
           type: string
           description: Arbitrary JSON response.
-          example: Commodi vitae voluptatem.
+          example: Aut voluptas.
           format: binary
       example:
-        result: Similique quisquam optio.
+        result: Sint nam voluptatem ea consequatur similique et.
       required:
       - result
 tags:
diff --git a/gen/http/policy/client/cli.go b/gen/http/policy/client/cli.go
index c483ac7020e06941f6833b9305a843f702e8bc18..a21b84cac1c1820fe19f0ab1a431c8c4322412b2 100644
--- a/gen/http/policy/client/cli.go
+++ b/gen/http/policy/client/cli.go
@@ -23,7 +23,7 @@ func BuildEvaluatePayload(policyEvaluateBody string, policyEvaluateGroup string,
 	{
 		err = json.Unmarshal([]byte(policyEvaluateBody), &body)
 		if err != nil {
-			return nil, fmt.Errorf("invalid JSON for body, \nerror: %s, \nexample of valid JSON:\n%s", err, "'{\n      \"data\": \"Quasi et et laudantium non.\"\n   }'")
+			return nil, fmt.Errorf("invalid JSON for body, \nerror: %s, \nexample of valid JSON:\n%s", err, "'{\n      \"data\": \"Id odio aperiam voluptatem molestias corrupti sunt.\"\n   }'")
 		}
 		if body.Data == nil {
 			err = goa.MergeErrors(err, goa.MissingFieldError("data", "body"))
@@ -53,3 +53,49 @@ func BuildEvaluatePayload(policyEvaluateBody string, policyEvaluateGroup string,
 
 	return v, nil
 }
+
+// BuildLockPayload builds the payload for the policy Lock endpoint from CLI
+// flags.
+func BuildLockPayload(policyLockGroup string, policyLockPolicyName string, policyLockVersion string) (*policy.LockRequest, error) {
+	var group string
+	{
+		group = policyLockGroup
+	}
+	var policyName string
+	{
+		policyName = policyLockPolicyName
+	}
+	var version string
+	{
+		version = policyLockVersion
+	}
+	v := &policy.LockRequest{}
+	v.Group = group
+	v.PolicyName = policyName
+	v.Version = version
+
+	return v, nil
+}
+
+// BuildUnlockPayload builds the payload for the policy Unlock endpoint from
+// CLI flags.
+func BuildUnlockPayload(policyUnlockGroup string, policyUnlockPolicyName string, policyUnlockVersion string) (*policy.UnlockRequest, error) {
+	var group string
+	{
+		group = policyUnlockGroup
+	}
+	var policyName string
+	{
+		policyName = policyUnlockPolicyName
+	}
+	var version string
+	{
+		version = policyUnlockVersion
+	}
+	v := &policy.UnlockRequest{}
+	v.Group = group
+	v.PolicyName = policyName
+	v.Version = version
+
+	return v, nil
+}
diff --git a/gen/http/policy/client/client.go b/gen/http/policy/client/client.go
index 837783bd210ff7c9f0ba02743459d11db76a63c7..dee63b0bf772e7d49f8b6e1b0c670586f296d6ac 100644
--- a/gen/http/policy/client/client.go
+++ b/gen/http/policy/client/client.go
@@ -21,6 +21,12 @@ type Client struct {
 	// endpoint.
 	EvaluateDoer goahttp.Doer
 
+	// Lock Doer is the HTTP client used to make requests to the Lock endpoint.
+	LockDoer goahttp.Doer
+
+	// Unlock Doer is the HTTP client used to make requests to the Unlock endpoint.
+	UnlockDoer goahttp.Doer
+
 	// RestoreResponseBody controls whether the response bodies are reset after
 	// decoding so they can be read again.
 	RestoreResponseBody bool
@@ -42,6 +48,8 @@ func NewClient(
 ) *Client {
 	return &Client{
 		EvaluateDoer:        doer,
+		LockDoer:            doer,
+		UnlockDoer:          doer,
 		RestoreResponseBody: restoreBody,
 		scheme:              scheme,
 		host:                host,
@@ -73,3 +81,41 @@ func (c *Client) Evaluate() goa.Endpoint {
 		return decodeResponse(resp)
 	}
 }
+
+// Lock returns an endpoint that makes HTTP requests to the policy service Lock
+// server.
+func (c *Client) Lock() goa.Endpoint {
+	var (
+		decodeResponse = DecodeLockResponse(c.decoder, c.RestoreResponseBody)
+	)
+	return func(ctx context.Context, v interface{}) (interface{}, error) {
+		req, err := c.BuildLockRequest(ctx, v)
+		if err != nil {
+			return nil, err
+		}
+		resp, err := c.LockDoer.Do(req)
+		if err != nil {
+			return nil, goahttp.ErrRequestError("policy", "Lock", err)
+		}
+		return decodeResponse(resp)
+	}
+}
+
+// Unlock returns an endpoint that makes HTTP requests to the policy service
+// Unlock server.
+func (c *Client) Unlock() goa.Endpoint {
+	var (
+		decodeResponse = DecodeUnlockResponse(c.decoder, c.RestoreResponseBody)
+	)
+	return func(ctx context.Context, v interface{}) (interface{}, error) {
+		req, err := c.BuildUnlockRequest(ctx, v)
+		if err != nil {
+			return nil, err
+		}
+		resp, err := c.UnlockDoer.Do(req)
+		if err != nil {
+			return nil, goahttp.ErrRequestError("policy", "Unlock", err)
+		}
+		return decodeResponse(resp)
+	}
+}
diff --git a/gen/http/policy/client/encode_decode.go b/gen/http/policy/client/encode_decode.go
index 49cdd5fc4c4e3a6ba32c8100525055190a06f8d4..8ca9db57355d87d67861d55a2f10f3e3b8dd7eac 100644
--- a/gen/http/policy/client/encode_decode.go
+++ b/gen/http/policy/client/encode_decode.go
@@ -102,3 +102,115 @@ func DecodeEvaluateResponse(decoder func(*http.Response) goahttp.Decoder, restor
 		}
 	}
 }
+
+// BuildLockRequest instantiates a HTTP request object with method and path set
+// to call the "policy" service "Lock" endpoint
+func (c *Client) BuildLockRequest(ctx context.Context, v interface{}) (*http.Request, error) {
+	var (
+		group      string
+		policyName string
+		version    string
+	)
+	{
+		p, ok := v.(*policy.LockRequest)
+		if !ok {
+			return nil, goahttp.ErrInvalidType("policy", "Lock", "*policy.LockRequest", v)
+		}
+		group = p.Group
+		policyName = p.PolicyName
+		version = p.Version
+	}
+	u := &url.URL{Scheme: c.scheme, Host: c.host, Path: LockPolicyPath(group, policyName, version)}
+	req, err := http.NewRequest("POST", u.String(), nil)
+	if err != nil {
+		return nil, goahttp.ErrInvalidURL("policy", "Lock", u.String(), err)
+	}
+	if ctx != nil {
+		req = req.WithContext(ctx)
+	}
+
+	return req, nil
+}
+
+// DecodeLockResponse returns a decoder for responses returned by the policy
+// Lock endpoint. restoreBody controls whether the response body should be
+// restored after having been read.
+func DecodeLockResponse(decoder func(*http.Response) goahttp.Decoder, restoreBody bool) func(*http.Response) (interface{}, error) {
+	return func(resp *http.Response) (interface{}, error) {
+		if restoreBody {
+			b, err := ioutil.ReadAll(resp.Body)
+			if err != nil {
+				return nil, err
+			}
+			resp.Body = ioutil.NopCloser(bytes.NewBuffer(b))
+			defer func() {
+				resp.Body = ioutil.NopCloser(bytes.NewBuffer(b))
+			}()
+		} else {
+			defer resp.Body.Close()
+		}
+		switch resp.StatusCode {
+		case http.StatusOK:
+			return nil, nil
+		default:
+			body, _ := ioutil.ReadAll(resp.Body)
+			return nil, goahttp.ErrInvalidResponse("policy", "Lock", resp.StatusCode, string(body))
+		}
+	}
+}
+
+// BuildUnlockRequest instantiates a HTTP request object with method and path
+// set to call the "policy" service "Unlock" endpoint
+func (c *Client) BuildUnlockRequest(ctx context.Context, v interface{}) (*http.Request, error) {
+	var (
+		group      string
+		policyName string
+		version    string
+	)
+	{
+		p, ok := v.(*policy.UnlockRequest)
+		if !ok {
+			return nil, goahttp.ErrInvalidType("policy", "Unlock", "*policy.UnlockRequest", v)
+		}
+		group = p.Group
+		policyName = p.PolicyName
+		version = p.Version
+	}
+	u := &url.URL{Scheme: c.scheme, Host: c.host, Path: UnlockPolicyPath(group, policyName, version)}
+	req, err := http.NewRequest("DELETE", u.String(), nil)
+	if err != nil {
+		return nil, goahttp.ErrInvalidURL("policy", "Unlock", u.String(), err)
+	}
+	if ctx != nil {
+		req = req.WithContext(ctx)
+	}
+
+	return req, nil
+}
+
+// DecodeUnlockResponse returns a decoder for responses returned by the policy
+// Unlock endpoint. restoreBody controls whether the response body should be
+// restored after having been read.
+func DecodeUnlockResponse(decoder func(*http.Response) goahttp.Decoder, restoreBody bool) func(*http.Response) (interface{}, error) {
+	return func(resp *http.Response) (interface{}, error) {
+		if restoreBody {
+			b, err := ioutil.ReadAll(resp.Body)
+			if err != nil {
+				return nil, err
+			}
+			resp.Body = ioutil.NopCloser(bytes.NewBuffer(b))
+			defer func() {
+				resp.Body = ioutil.NopCloser(bytes.NewBuffer(b))
+			}()
+		} else {
+			defer resp.Body.Close()
+		}
+		switch resp.StatusCode {
+		case http.StatusOK:
+			return nil, nil
+		default:
+			body, _ := ioutil.ReadAll(resp.Body)
+			return nil, goahttp.ErrInvalidResponse("policy", "Unlock", resp.StatusCode, string(body))
+		}
+	}
+}
diff --git a/gen/http/policy/client/paths.go b/gen/http/policy/client/paths.go
index 62f6160d84e49f6945ef371d06d96ed6dd2f2169..2efb567ba490000eabba333917639eb55ac1e64a 100644
--- a/gen/http/policy/client/paths.go
+++ b/gen/http/policy/client/paths.go
@@ -15,3 +15,13 @@ import (
 func EvaluatePolicyPath(group string, policyName string, version string) string {
 	return fmt.Sprintf("/policy/%v/%v/%v/evaluation", group, policyName, version)
 }
+
+// LockPolicyPath returns the URL path to the policy service Lock HTTP endpoint.
+func LockPolicyPath(group string, policyName string, version string) string {
+	return fmt.Sprintf("/policy/%v/%v/%v/lock", group, policyName, version)
+}
+
+// UnlockPolicyPath returns the URL path to the policy service Unlock HTTP endpoint.
+func UnlockPolicyPath(group string, policyName string, version string) string {
+	return fmt.Sprintf("/policy/%v/%v/%v/lock", group, policyName, version)
+}
diff --git a/gen/http/policy/server/encode_decode.go b/gen/http/policy/server/encode_decode.go
index cf8a4c3b6b04525776bfa4bbb8e58182a8813396..19a86aaa201cc698c951109f332e94bacedc26d8 100644
--- a/gen/http/policy/server/encode_decode.go
+++ b/gen/http/policy/server/encode_decode.go
@@ -64,3 +64,61 @@ func DecodeEvaluateRequest(mux goahttp.Muxer, decoder func(*http.Request) goahtt
 		return payload, nil
 	}
 }
+
+// EncodeLockResponse returns an encoder for responses returned by the policy
+// Lock endpoint.
+func EncodeLockResponse(encoder func(context.Context, http.ResponseWriter) goahttp.Encoder) func(context.Context, http.ResponseWriter, interface{}) error {
+	return func(ctx context.Context, w http.ResponseWriter, v interface{}) error {
+		w.WriteHeader(http.StatusOK)
+		return nil
+	}
+}
+
+// DecodeLockRequest returns a decoder for requests sent to the policy Lock
+// endpoint.
+func DecodeLockRequest(mux goahttp.Muxer, decoder func(*http.Request) goahttp.Decoder) func(*http.Request) (interface{}, error) {
+	return func(r *http.Request) (interface{}, error) {
+		var (
+			group      string
+			policyName string
+			version    string
+
+			params = mux.Vars(r)
+		)
+		group = params["group"]
+		policyName = params["policyName"]
+		version = params["version"]
+		payload := NewLockRequest(group, policyName, version)
+
+		return payload, nil
+	}
+}
+
+// EncodeUnlockResponse returns an encoder for responses returned by the policy
+// Unlock endpoint.
+func EncodeUnlockResponse(encoder func(context.Context, http.ResponseWriter) goahttp.Encoder) func(context.Context, http.ResponseWriter, interface{}) error {
+	return func(ctx context.Context, w http.ResponseWriter, v interface{}) error {
+		w.WriteHeader(http.StatusOK)
+		return nil
+	}
+}
+
+// DecodeUnlockRequest returns a decoder for requests sent to the policy Unlock
+// endpoint.
+func DecodeUnlockRequest(mux goahttp.Muxer, decoder func(*http.Request) goahttp.Decoder) func(*http.Request) (interface{}, error) {
+	return func(r *http.Request) (interface{}, error) {
+		var (
+			group      string
+			policyName string
+			version    string
+
+			params = mux.Vars(r)
+		)
+		group = params["group"]
+		policyName = params["policyName"]
+		version = params["version"]
+		payload := NewUnlockRequest(group, policyName, version)
+
+		return payload, nil
+	}
+}
diff --git a/gen/http/policy/server/paths.go b/gen/http/policy/server/paths.go
index b5ca7ad83fa18b6d9090671a483f6a052400467e..c6dd8e7d80cd2c229a19ced8462d257de6e6f4d9 100644
--- a/gen/http/policy/server/paths.go
+++ b/gen/http/policy/server/paths.go
@@ -15,3 +15,13 @@ import (
 func EvaluatePolicyPath(group string, policyName string, version string) string {
 	return fmt.Sprintf("/policy/%v/%v/%v/evaluation", group, policyName, version)
 }
+
+// LockPolicyPath returns the URL path to the policy service Lock HTTP endpoint.
+func LockPolicyPath(group string, policyName string, version string) string {
+	return fmt.Sprintf("/policy/%v/%v/%v/lock", group, policyName, version)
+}
+
+// UnlockPolicyPath returns the URL path to the policy service Unlock HTTP endpoint.
+func UnlockPolicyPath(group string, policyName string, version string) string {
+	return fmt.Sprintf("/policy/%v/%v/%v/lock", group, policyName, version)
+}
diff --git a/gen/http/policy/server/server.go b/gen/http/policy/server/server.go
index e324397d42c6a05406a42120138a2e6a96fa5cc7..70ce94337c1fbae2962dc6fc3c463638323a8f41 100644
--- a/gen/http/policy/server/server.go
+++ b/gen/http/policy/server/server.go
@@ -20,6 +20,8 @@ import (
 type Server struct {
 	Mounts   []*MountPoint
 	Evaluate http.Handler
+	Lock     http.Handler
+	Unlock   http.Handler
 }
 
 // ErrorNamer is an interface implemented by generated error structs that
@@ -56,8 +58,12 @@ func New(
 	return &Server{
 		Mounts: []*MountPoint{
 			{"Evaluate", "POST", "/policy/{group}/{policyName}/{version}/evaluation"},
+			{"Lock", "POST", "/policy/{group}/{policyName}/{version}/lock"},
+			{"Unlock", "DELETE", "/policy/{group}/{policyName}/{version}/lock"},
 		},
 		Evaluate: NewEvaluateHandler(e.Evaluate, mux, decoder, encoder, errhandler, formatter),
+		Lock:     NewLockHandler(e.Lock, mux, decoder, encoder, errhandler, formatter),
+		Unlock:   NewUnlockHandler(e.Unlock, mux, decoder, encoder, errhandler, formatter),
 	}
 }
 
@@ -67,11 +73,15 @@ func (s *Server) Service() string { return "policy" }
 // Use wraps the server handlers with the given middleware.
 func (s *Server) Use(m func(http.Handler) http.Handler) {
 	s.Evaluate = m(s.Evaluate)
+	s.Lock = m(s.Lock)
+	s.Unlock = m(s.Unlock)
 }
 
 // Mount configures the mux to serve the policy endpoints.
 func Mount(mux goahttp.Muxer, h *Server) {
 	MountEvaluateHandler(mux, h.Evaluate)
+	MountLockHandler(mux, h.Lock)
+	MountUnlockHandler(mux, h.Unlock)
 }
 
 // Mount configures the mux to serve the policy endpoints.
@@ -129,3 +139,105 @@ func NewEvaluateHandler(
 		}
 	})
 }
+
+// MountLockHandler configures the mux to serve the "policy" service "Lock"
+// endpoint.
+func MountLockHandler(mux goahttp.Muxer, h http.Handler) {
+	f, ok := h.(http.HandlerFunc)
+	if !ok {
+		f = func(w http.ResponseWriter, r *http.Request) {
+			h.ServeHTTP(w, r)
+		}
+	}
+	mux.Handle("POST", "/policy/{group}/{policyName}/{version}/lock", f)
+}
+
+// NewLockHandler creates a HTTP handler which loads the HTTP request and calls
+// the "policy" service "Lock" endpoint.
+func NewLockHandler(
+	endpoint goa.Endpoint,
+	mux goahttp.Muxer,
+	decoder func(*http.Request) goahttp.Decoder,
+	encoder func(context.Context, http.ResponseWriter) goahttp.Encoder,
+	errhandler func(context.Context, http.ResponseWriter, error),
+	formatter func(err error) goahttp.Statuser,
+) http.Handler {
+	var (
+		decodeRequest  = DecodeLockRequest(mux, decoder)
+		encodeResponse = EncodeLockResponse(encoder)
+		encodeError    = goahttp.ErrorEncoder(encoder, formatter)
+	)
+	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+		ctx := context.WithValue(r.Context(), goahttp.AcceptTypeKey, r.Header.Get("Accept"))
+		ctx = context.WithValue(ctx, goa.MethodKey, "Lock")
+		ctx = context.WithValue(ctx, goa.ServiceKey, "policy")
+		payload, err := decodeRequest(r)
+		if err != nil {
+			if err := encodeError(ctx, w, err); err != nil {
+				errhandler(ctx, w, err)
+			}
+			return
+		}
+		res, err := endpoint(ctx, payload)
+		if err != nil {
+			if err := encodeError(ctx, w, err); err != nil {
+				errhandler(ctx, w, err)
+			}
+			return
+		}
+		if err := encodeResponse(ctx, w, res); err != nil {
+			errhandler(ctx, w, err)
+		}
+	})
+}
+
+// MountUnlockHandler configures the mux to serve the "policy" service "Unlock"
+// endpoint.
+func MountUnlockHandler(mux goahttp.Muxer, h http.Handler) {
+	f, ok := h.(http.HandlerFunc)
+	if !ok {
+		f = func(w http.ResponseWriter, r *http.Request) {
+			h.ServeHTTP(w, r)
+		}
+	}
+	mux.Handle("DELETE", "/policy/{group}/{policyName}/{version}/lock", f)
+}
+
+// NewUnlockHandler creates a HTTP handler which loads the HTTP request and
+// calls the "policy" service "Unlock" endpoint.
+func NewUnlockHandler(
+	endpoint goa.Endpoint,
+	mux goahttp.Muxer,
+	decoder func(*http.Request) goahttp.Decoder,
+	encoder func(context.Context, http.ResponseWriter) goahttp.Encoder,
+	errhandler func(context.Context, http.ResponseWriter, error),
+	formatter func(err error) goahttp.Statuser,
+) http.Handler {
+	var (
+		decodeRequest  = DecodeUnlockRequest(mux, decoder)
+		encodeResponse = EncodeUnlockResponse(encoder)
+		encodeError    = goahttp.ErrorEncoder(encoder, formatter)
+	)
+	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+		ctx := context.WithValue(r.Context(), goahttp.AcceptTypeKey, r.Header.Get("Accept"))
+		ctx = context.WithValue(ctx, goa.MethodKey, "Unlock")
+		ctx = context.WithValue(ctx, goa.ServiceKey, "policy")
+		payload, err := decodeRequest(r)
+		if err != nil {
+			if err := encodeError(ctx, w, err); err != nil {
+				errhandler(ctx, w, err)
+			}
+			return
+		}
+		res, err := endpoint(ctx, payload)
+		if err != nil {
+			if err := encodeError(ctx, w, err); err != nil {
+				errhandler(ctx, w, err)
+			}
+			return
+		}
+		if err := encodeResponse(ctx, w, res); err != nil {
+			errhandler(ctx, w, err)
+		}
+	})
+}
diff --git a/gen/http/policy/server/types.go b/gen/http/policy/server/types.go
index be5b194599f166f72673af724be7d05cb4166189..7db542fff9bb167b49ff6d329f4b42269c1c2154 100644
--- a/gen/http/policy/server/types.go
+++ b/gen/http/policy/server/types.go
@@ -47,6 +47,26 @@ func NewEvaluateRequest(body *EvaluateRequestBody, group string, policyName stri
 	return v
 }
 
+// NewLockRequest builds a policy service Lock endpoint payload.
+func NewLockRequest(group string, policyName string, version string) *policy.LockRequest {
+	v := &policy.LockRequest{}
+	v.Group = group
+	v.PolicyName = policyName
+	v.Version = version
+
+	return v
+}
+
+// NewUnlockRequest builds a policy service Unlock endpoint payload.
+func NewUnlockRequest(group string, policyName string, version string) *policy.UnlockRequest {
+	v := &policy.UnlockRequest{}
+	v.Group = group
+	v.PolicyName = policyName
+	v.Version = version
+
+	return v
+}
+
 // ValidateEvaluateRequestBody runs the validations defined on
 // EvaluateRequestBody
 func ValidateEvaluateRequestBody(body *EvaluateRequestBody) (err error) {
diff --git a/gen/policy/client.go b/gen/policy/client.go
index 5fc9b70fa0932d90d7582fc7bf8dc43314c9e8a8..554aa783b90015e0836f32342226c7507fc7d3d3 100644
--- a/gen/policy/client.go
+++ b/gen/policy/client.go
@@ -16,12 +16,16 @@ import (
 // Client is the "policy" service client.
 type Client struct {
 	EvaluateEndpoint goa.Endpoint
+	LockEndpoint     goa.Endpoint
+	UnlockEndpoint   goa.Endpoint
 }
 
 // NewClient initializes a "policy" service client given the endpoints.
-func NewClient(evaluate goa.Endpoint) *Client {
+func NewClient(evaluate, lock, unlock goa.Endpoint) *Client {
 	return &Client{
 		EvaluateEndpoint: evaluate,
+		LockEndpoint:     lock,
+		UnlockEndpoint:   unlock,
 	}
 }
 
@@ -34,3 +38,15 @@ func (c *Client) Evaluate(ctx context.Context, p *EvaluateRequest) (res *Evaluat
 	}
 	return ires.(*EvaluateResult), nil
 }
+
+// Lock calls the "Lock" endpoint of the "policy" service.
+func (c *Client) Lock(ctx context.Context, p *LockRequest) (err error) {
+	_, err = c.LockEndpoint(ctx, p)
+	return
+}
+
+// Unlock calls the "Unlock" endpoint of the "policy" service.
+func (c *Client) Unlock(ctx context.Context, p *UnlockRequest) (err error) {
+	_, err = c.UnlockEndpoint(ctx, p)
+	return
+}
diff --git a/gen/policy/endpoints.go b/gen/policy/endpoints.go
index 5b8b177f1c08da7cd37c1374ca1569a495d8a92e..312858f94f7e15a523aaa167a319930bdd916b11 100644
--- a/gen/policy/endpoints.go
+++ b/gen/policy/endpoints.go
@@ -16,18 +16,24 @@ import (
 // Endpoints wraps the "policy" service endpoints.
 type Endpoints struct {
 	Evaluate goa.Endpoint
+	Lock     goa.Endpoint
+	Unlock   goa.Endpoint
 }
 
 // NewEndpoints wraps the methods of the "policy" service with endpoints.
 func NewEndpoints(s Service) *Endpoints {
 	return &Endpoints{
 		Evaluate: NewEvaluateEndpoint(s),
+		Lock:     NewLockEndpoint(s),
+		Unlock:   NewUnlockEndpoint(s),
 	}
 }
 
 // Use applies the given middleware to all the "policy" service endpoints.
 func (e *Endpoints) Use(m func(goa.Endpoint) goa.Endpoint) {
 	e.Evaluate = m(e.Evaluate)
+	e.Lock = m(e.Lock)
+	e.Unlock = m(e.Unlock)
 }
 
 // NewEvaluateEndpoint returns an endpoint function that calls the method
@@ -38,3 +44,21 @@ func NewEvaluateEndpoint(s Service) goa.Endpoint {
 		return s.Evaluate(ctx, p)
 	}
 }
+
+// NewLockEndpoint returns an endpoint function that calls the method "Lock" of
+// service "policy".
+func NewLockEndpoint(s Service) goa.Endpoint {
+	return func(ctx context.Context, req interface{}) (interface{}, error) {
+		p := req.(*LockRequest)
+		return nil, s.Lock(ctx, p)
+	}
+}
+
+// NewUnlockEndpoint returns an endpoint function that calls the method
+// "Unlock" of service "policy".
+func NewUnlockEndpoint(s Service) goa.Endpoint {
+	return func(ctx context.Context, req interface{}) (interface{}, error) {
+		p := req.(*UnlockRequest)
+		return nil, s.Unlock(ctx, p)
+	}
+}
diff --git a/gen/policy/service.go b/gen/policy/service.go
index f2b7f991f3a4db02f86fb61424aca41284c3eaa5..5d58f37a1abbd213f46448ac9e60d8493f6a3055 100644
--- a/gen/policy/service.go
+++ b/gen/policy/service.go
@@ -13,8 +13,12 @@ import (
 
 // Policy Service provides evaluation of policies through Open Policy Agent.
 type Service interface {
-	// Evaluate implements Evaluate.
+	// Evaluate executes a policy with the given 'data' as input.
 	Evaluate(context.Context, *EvaluateRequest) (res *EvaluateResult, err error)
+	// Lock a policy so that it cannot be evaluated.
+	Lock(context.Context, *LockRequest) (err error)
+	// Unlock a policy so it can be evaluated again.
+	Unlock(context.Context, *UnlockRequest) (err error)
 }
 
 // ServiceName is the name of the service as defined in the design. This is the
@@ -25,7 +29,7 @@ const ServiceName = "policy"
 // MethodNames lists the service method names as defined in the design. These
 // are the same values that are set in the endpoint request contexts under the
 // MethodKey key.
-var MethodNames = [1]string{"Evaluate"}
+var MethodNames = [3]string{"Evaluate", "Lock", "Unlock"}
 
 // EvaluateRequest is the payload type of the policy service Evaluate method.
 type EvaluateRequest struct {
@@ -44,3 +48,23 @@ type EvaluateResult struct {
 	// Arbitrary JSON response.
 	Result interface{}
 }
+
+// LockRequest is the payload type of the policy service Lock method.
+type LockRequest struct {
+	// Policy group
+	Group string
+	// Policy name
+	PolicyName string
+	// Policy version
+	Version string
+}
+
+// UnlockRequest is the payload type of the policy service Unlock method.
+type UnlockRequest struct {
+	// Policy group
+	Group string
+	// Policy name
+	PolicyName string
+	// Policy version
+	Version string
+}
diff --git a/go.mod b/go.mod
index 5ccdc94ebdbc1c884884351e64af688ce485058e..54dade651c6ae1a26a8368418eae38278148a8df 100644
--- a/go.mod
+++ b/go.mod
@@ -6,6 +6,7 @@ require (
 	code.vereign.com/gaiax/tsa/golib v0.0.0-20220321093827-5fdf8f34aad9
 	github.com/kelseyhightower/envconfig v1.4.0
 	github.com/open-policy-agent/opa v0.38.1
+	go.mongodb.org/mongo-driver v1.8.4
 	go.uber.org/zap v1.21.0
 	goa.design/goa/v3 v3.7.0
 	golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
@@ -16,24 +17,33 @@ require (
 	github.com/dimfeld/httppath v0.0.0-20170720192232-ee938bf73598 // indirect
 	github.com/dimfeld/httptreemux/v5 v5.4.0 // indirect
 	github.com/ghodss/yaml v1.0.0 // indirect
+	github.com/go-stack/stack v1.8.0 // indirect
 	github.com/gobwas/glob v0.2.3 // indirect
+	github.com/golang/snappy v0.0.4 // indirect
 	github.com/google/uuid v1.3.0 // indirect
 	github.com/gopherjs/gopherjs v0.0.0-20220221023154-0b2280d3ff96 // indirect
 	github.com/gorilla/websocket v1.5.0 // indirect
 	github.com/jtolds/gls v4.20.0+incompatible // indirect
+	github.com/klauspost/compress v1.13.6 // indirect
 	github.com/manveru/faker v0.0.0-20171103152722-9fbc68a78c4d // indirect
 	github.com/pkg/errors v0.9.1 // indirect
 	github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect
 	github.com/sergi/go-diff v1.2.0 // indirect
 	github.com/smartystreets/assertions v1.2.1 // indirect
+	github.com/xdg-go/pbkdf2 v1.0.0 // indirect
+	github.com/xdg-go/scram v1.0.2 // indirect
+	github.com/xdg-go/stringprep v1.0.2 // indirect
 	github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
 	github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
 	github.com/yashtewari/glob-intersection v0.0.0-20180916065949-5c77d914dd0b // indirect
+	github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d // indirect
 	github.com/zach-klippenstein/goregen v0.0.0-20160303162051-795b5e3961ea // indirect
 	go.uber.org/atomic v1.7.0 // indirect
 	go.uber.org/multierr v1.6.0 // indirect
+	golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 // indirect
 	golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 // indirect
 	golang.org/x/sys v0.0.0-20220317061510-51cd9980dadf // indirect
+	golang.org/x/text v0.3.7 // indirect
 	golang.org/x/tools v0.1.10 // indirect
 	golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
 	gopkg.in/yaml.v2 v2.4.0 // indirect
diff --git a/go.sum b/go.sum
index c7796b7ae3ed429abbd532e8273b9fc5ae69ec96..a4915180cbb67304dafa024f8660e42f4c4ac619 100644
--- a/go.sum
+++ b/go.sum
@@ -164,6 +164,7 @@ github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre
 github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
 github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
 github.com/go-openapi/swag v0.19.13/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
+github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
 github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
 github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
 github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
@@ -206,6 +207,7 @@ github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaS
 github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM=
 github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
 github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
+github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
 github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
 github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
 github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
@@ -225,6 +227,7 @@ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
 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.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o=
 github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
 github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
 github.com/google/gxui v0.0.0-20151028112939-f85e0a97b3a4 h1:OL2d27ueTKnlQJoqLW2fc9pWYulFnJYLWzomGV7HqZo=
@@ -321,8 +324,9 @@ github.com/kelseyhightower/envconfig v1.4.0/go.mod h1:cccZRl6mQpaq41TPp5QxidR+Sa
 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.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg=
-github.com/klauspost/compress v1.13.5 h1:9O69jUPDcsT9fEm74W92rZL9FQY7rCdaXVneq+yyzl4=
 github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
+github.com/klauspost/compress v1.13.6 h1:P76CopJELS0TiO2mebmnzgWaajssP/EszplttgQxcgc=
+github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
 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.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
 github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
@@ -378,6 +382,7 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ
 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/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
+github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
 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/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo=
@@ -476,8 +481,16 @@ github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
 github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
 github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
+github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
+github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
 github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=
 github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
+github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c=
+github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
+github.com/xdg-go/scram v1.0.2 h1:akYIkZ28e6A96dkWNJQu3nmCzH3YfwMPQExUYDaRv7w=
+github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs=
+github.com/xdg-go/stringprep v1.0.2 h1:6iq84/ryjjeRmMJwxutI51F2GIPlP5BfTvXHeYjyhBc=
+github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM=
 github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo=
 github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
 github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0=
@@ -485,6 +498,8 @@ github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:
 github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
 github.com/yashtewari/glob-intersection v0.0.0-20180916065949-5c77d914dd0b h1:vVRagRXf67ESqAb72hG2C/ZwI8NtJF2u2V76EsuOHGY=
 github.com/yashtewari/glob-intersection v0.0.0-20180916065949-5c77d914dd0b/go.mod h1:HptNXiXVDcJjXe9SqMd0v2FsL9f8dz4GnXgltU6q/co=
+github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d h1:splanxYIlg+5LfHAM6xpdFEAYOk8iySO56hMFq6uLyA=
+github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA=
 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=
@@ -499,6 +514,8 @@ go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3
 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/v2 v2.305.1/go.mod h1:pMEacxZW7o8pg4CrFE7pquyCJJzZvkvdD2RibOCCCGs=
+go.mongodb.org/mongo-driver v1.8.4 h1:NruvZPPL0PBcRJKmbswoWSrmHeUvzdxA3GCPfD/NEOA=
+go.mongodb.org/mongo-driver v1.8.4/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY=
 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.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
@@ -543,8 +560,10 @@ golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8U
 golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY=
 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
 golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 h1:7I4JAnoQBe7ZtJcBaYHi5UtiO8tQHbUSXxL+pnGRANg=
 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -739,6 +758,7 @@ golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBc
 golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220317061510-51cd9980dadf h1:Fm4IcnUL803i92qDlmB0obyHmosDrxZWxJL3gIeNqOw=
 golang.org/x/sys v0.0.0-20220317061510-51cd9980dadf/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/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -749,6 +769,7 @@ 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 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
 golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
 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=
@@ -764,6 +785,7 @@ golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3
 golang.org/x/tools v0.0.0-20190425150028-36563e24a262/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-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
 golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
diff --git a/internal/config/config.go b/internal/config/config.go
index 782e9680595e380cdcc7736e6104ac7128e00d97..008f2f483bd3d2d72bff4ebf3b633ec71e5c9db5 100644
--- a/internal/config/config.go
+++ b/internal/config/config.go
@@ -5,6 +5,7 @@ import "time"
 type Config struct {
 	HTTP  httpConfig
 	Redis redisConfig
+	Mongo mongoConfig
 
 	LogLevel string `envconfig:"LOG_LEVEL" default:"INFO"`
 }
@@ -24,3 +25,11 @@ type redisConfig struct {
 	DB   int           `envconfig:"REDIS_DB" default:"1"`
 	TTL  time.Duration `envconfig:"REDIS_EXPIRATION"` //  no default expiration, keys are set to live forever
 }
+
+type mongoConfig struct {
+	Addr       string `envconfig:"MONGO_ADDR" required:"true"`
+	User       string `envconfig:"MONGO_USER" required:"true"`
+	Pass       string `envconfig:"MONGO_PASS" required:"true"`
+	DB         string `envconfig:"MONGO_DBNAME" default:"policy"`
+	Collection string `envconfig:"MONGO_COLLECTION" default:"policies"`
+}
diff --git a/internal/service/policy/service.go b/internal/service/policy/service.go
index 6ccad263e5d282dbc84160f25a2775b63f910775..a9f6616aca71da37771186bf4a345af04aa1fc38 100644
--- a/internal/service/policy/service.go
+++ b/internal/service/policy/service.go
@@ -13,6 +13,7 @@ import (
 
 type Storage interface {
 	Policy(ctx context.Context, name, group, version string) (*storage.Policy, error)
+	SetPolicyLock(ctx context.Context, name, group, version string, lock bool) error
 }
 
 type Service struct {
@@ -27,10 +28,17 @@ func New(storage Storage, logger *zap.Logger) *Service {
 	}
 }
 
+// Evaluate executes a policy with the given 'data' as input.
 func (s *Service) Evaluate(ctx context.Context, req *policy.EvaluateRequest) (*policy.EvaluateResult, error) {
+	logger := s.logger.With(
+		zap.String("name", req.PolicyName),
+		zap.String("group", req.Group),
+		zap.String("version", req.Version),
+	)
+
 	pol, err := s.storage.Policy(ctx, req.PolicyName, req.Group, req.Version)
 	if err != nil {
-		s.logger.Error("error getting policy from storage", zap.Error(err))
+		logger.Error("error getting policy from storage", zap.Error(err))
 		if errors.Is(errors.NotFound, err) {
 			return nil, err
 		}
@@ -46,26 +54,88 @@ func (s *Service) Evaluate(ctx context.Context, req *policy.EvaluateRequest) (*p
 		rego.Query("result = data.gaiax.result"),
 	).PrepareForEval(ctx)
 	if err != nil {
-		s.logger.Error("error preparing rego query", zap.Error(err))
+		logger.Error("error preparing rego query", zap.Error(err))
 		return nil, errors.New("error preparing rego query", err)
 	}
 
 	resultSet, err := query.Eval(ctx, rego.EvalInput(req.Data))
 	if err != nil {
-		s.logger.Error("error evaluating rego query", zap.Error(err))
+		logger.Error("error evaluating rego query", zap.Error(err))
 		return nil, errors.New("error evaluating rego query", err)
 	}
 
 	if len(resultSet) == 0 {
-		s.logger.Error("policy evaluation result set is empty")
+		logger.Error("policy evaluation result set is empty")
 		return nil, errors.New("policy evaluation result set is empty")
 	}
 
 	result, ok := resultSet[0].Bindings["result"]
 	if !ok {
-		s.logger.Error("policy result bindings not found")
+		logger.Error("policy result bindings not found")
 		return nil, errors.New("policy result bindings not found")
 	}
 
 	return &policy.EvaluateResult{Result: result}, nil
 }
+
+// Lock a policy so that it cannot be evaluated.
+func (s *Service) Lock(ctx context.Context, req *policy.LockRequest) error {
+	logger := s.logger.With(
+		zap.String("name", req.PolicyName),
+		zap.String("group", req.Group),
+		zap.String("version", req.Version),
+	)
+
+	pol, err := s.storage.Policy(ctx, req.PolicyName, req.Group, req.Version)
+	if err != nil {
+		logger.Error("error getting policy from storage", zap.Error(err))
+		if errors.Is(errors.NotFound, err) {
+			return err
+		}
+		return errors.New("error locking policy", err)
+	}
+
+	if pol.Locked {
+		return errors.New(errors.Forbidden, "policy is already locked")
+	}
+
+	if err := s.storage.SetPolicyLock(ctx, req.PolicyName, req.Group, req.Version, true); err != nil {
+		logger.Error("error locking policy", zap.Error(err))
+		return errors.New("error locking policy", err)
+	}
+
+	logger.Debug("policy is locked")
+
+	return nil
+}
+
+// Unlock a policy so it can be evaluated again.
+func (s *Service) Unlock(ctx context.Context, req *policy.UnlockRequest) error {
+	logger := s.logger.With(
+		zap.String("name", req.PolicyName),
+		zap.String("group", req.Group),
+		zap.String("version", req.Version),
+	)
+
+	pol, err := s.storage.Policy(ctx, req.PolicyName, req.Group, req.Version)
+	if err != nil {
+		logger.Error("error getting policy from storage", zap.Error(err))
+		if errors.Is(errors.NotFound, err) {
+			return err
+		}
+		return errors.New("error unlocking policy", err)
+	}
+
+	if !pol.Locked {
+		return errors.New(errors.Forbidden, "policy is unlocked")
+	}
+
+	if err := s.storage.SetPolicyLock(ctx, req.PolicyName, req.Group, req.Version, false); err != nil {
+		logger.Error("error unlocking policy", zap.Error(err))
+		return errors.New("error unlocking policy", err)
+	}
+
+	logger.Debug("policy is unlocked")
+
+	return nil
+}
diff --git a/internal/storage/policies_tmp_store.go b/internal/storage/policies_tmp_store.go
index 0bbba0d6782768cf134ae029ab18cf6fc2ee1a9f..e3d696da68f3f59a3380d6a18f1ad7537c406bde 100644
--- a/internal/storage/policies_tmp_store.go
+++ b/internal/storage/policies_tmp_store.go
@@ -1,25 +1,23 @@
 package storage
 
-import "time"
-
 // Temporary hardcoded policy storage as a simple map.
 // When we finalize with Steffen how we're going to store
 // and synchronize policy files, this will be replaced with
 // real policy store.
-var policies = map[string]*Policy{
-	"example:example:1.0": {
-		Filename:    "example_1.0.rego",
-		Name:        "example",
-		Group:       "example",
-		Version:     "1.0",
-		Locked:      false,
-		LastUpdated: time.Now(),
-		Rego: `
-			package gaiax
-		
-			default result = {}
-
-			result = {"taskID":123}
-		`,
-	},
-}
+//var policies = map[string]*Policy{
+//	"example:example:1.0": {
+//		Filename:    "example_1.0.rego",
+//		Name:        "example",
+//		Group:       "example",
+//		Version:     "1.0",
+//		Locked:      false,
+//		LastUpdate: time.Now(),
+//		Rego: `
+//			package gaiax
+//
+//			default result = {}
+//
+//			result = {"taskID":123}
+//		`,
+//	},
+//}
diff --git a/internal/storage/storage.go b/internal/storage/storage.go
index 0a43d6ae09bd80ed824f25362a7fcddde15ea05b..ecdcde80ac061b808725e8210e8f2c4997e3e07f 100644
--- a/internal/storage/storage.go
+++ b/internal/storage/storage.go
@@ -2,35 +2,71 @@ package storage
 
 import (
 	"context"
-	"fmt"
+	"strings"
 	"time"
 
+	"go.mongodb.org/mongo-driver/bson"
+	"go.mongodb.org/mongo-driver/mongo"
+
 	"code.vereign.com/gaiax/tsa/golib/errors"
 )
 
 type Policy struct {
-	Filename    string
-	Name        string
-	Group       string
-	Version     string
-	Rego        string
-	Locked      bool
-	LastUpdated time.Time
+	Filename   string
+	Name       string
+	Group      string
+	Version    string
+	Rego       string
+	Locked     bool
+	LastUpdate time.Time
 }
 
-type Storage struct{}
+type Storage struct {
+	policy *mongo.Collection
+}
 
-func New() *Storage {
-	return &Storage{}
+func New(db *mongo.Client, dbname, collection string) *Storage {
+	return &Storage{
+		policy: db.Database(dbname).Collection(collection),
+	}
 }
 
 func (s *Storage) Policy(ctx context.Context, name, group, version string) (*Policy, error) {
-	key := fmt.Sprintf("%s:%s:%s", name, group, version)
+	result := s.policy.FindOne(ctx, bson.M{
+		"name":    name,
+		"group":   group,
+		"version": version,
+	})
 
-	policy, ok := policies[key]
-	if !ok {
-		return nil, errors.New(errors.NotFound, "policy not found in storage")
+	if result.Err() != nil {
+		if strings.Contains(result.Err().Error(), "no documents in result") {
+			return nil, errors.New(errors.NotFound, "policy not found")
+		}
+		return nil, result.Err()
 	}
 
-	return policy, nil
+	var policy Policy
+	if err := result.Decode(&policy); err != nil {
+		return nil, err
+	}
+
+	return &policy, nil
+}
+
+func (s *Storage) SetPolicyLock(ctx context.Context, name, group, version string, lock bool) error {
+	_, err := s.policy.UpdateOne(
+		ctx,
+		bson.M{
+			"name":    name,
+			"group":   group,
+			"version": version,
+		},
+		bson.M{
+			"$set": bson.M{
+				"locked":     lock,
+				"lastUpdate": time.Now(),
+			},
+		},
+	)
+	return err
 }
diff --git a/vendor/github.com/go-stack/stack/.travis.yml b/vendor/github.com/go-stack/stack/.travis.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5c5a2b516d397ba676a374d9e9092173a4dbdb25
Binary files /dev/null and b/vendor/github.com/go-stack/stack/.travis.yml differ
diff --git a/vendor/github.com/go-stack/stack/LICENSE.md b/vendor/github.com/go-stack/stack/LICENSE.md
new file mode 100644
index 0000000000000000000000000000000000000000..2abf98ea835e56210fe9ba5d0fd073b45b9e21e0
Binary files /dev/null and b/vendor/github.com/go-stack/stack/LICENSE.md differ
diff --git a/vendor/github.com/go-stack/stack/README.md b/vendor/github.com/go-stack/stack/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..f11ccccaa430e3285dfcfd2019606eaaa9537c0f
Binary files /dev/null and b/vendor/github.com/go-stack/stack/README.md differ
diff --git a/vendor/github.com/go-stack/stack/stack.go b/vendor/github.com/go-stack/stack/stack.go
new file mode 100644
index 0000000000000000000000000000000000000000..ac3b93b14f48fea3c94d23045a19a613f4c0d6c6
Binary files /dev/null and b/vendor/github.com/go-stack/stack/stack.go differ
diff --git a/vendor/github.com/golang/snappy/.gitignore b/vendor/github.com/golang/snappy/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..042091d9b3b0d93b7070e05e11a35b4131c826f7
Binary files /dev/null and b/vendor/github.com/golang/snappy/.gitignore differ
diff --git a/vendor/github.com/golang/snappy/AUTHORS b/vendor/github.com/golang/snappy/AUTHORS
new file mode 100644
index 0000000000000000000000000000000000000000..52ccb5a934d19bdf6fcbd22b0ab24313e4affb3d
Binary files /dev/null and b/vendor/github.com/golang/snappy/AUTHORS differ
diff --git a/vendor/github.com/golang/snappy/CONTRIBUTORS b/vendor/github.com/golang/snappy/CONTRIBUTORS
new file mode 100644
index 0000000000000000000000000000000000000000..ea6524ddd02ff658c1dd7dddd5f2f0b28cc90dbd
Binary files /dev/null and b/vendor/github.com/golang/snappy/CONTRIBUTORS differ
diff --git a/vendor/github.com/golang/snappy/LICENSE b/vendor/github.com/golang/snappy/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..6050c10f4c8b4c22f50c83715f44f12419f763be
Binary files /dev/null and b/vendor/github.com/golang/snappy/LICENSE differ
diff --git a/vendor/github.com/golang/snappy/README b/vendor/github.com/golang/snappy/README
new file mode 100644
index 0000000000000000000000000000000000000000..cea12879a0eae937f6ecdb6243f64591c5217fef
Binary files /dev/null and b/vendor/github.com/golang/snappy/README differ
diff --git a/vendor/github.com/golang/snappy/decode.go b/vendor/github.com/golang/snappy/decode.go
new file mode 100644
index 0000000000000000000000000000000000000000..23c6e26c6b9b345d10a67713177010bc359ee64a
Binary files /dev/null and b/vendor/github.com/golang/snappy/decode.go differ
diff --git a/vendor/github.com/golang/snappy/decode_amd64.s b/vendor/github.com/golang/snappy/decode_amd64.s
new file mode 100644
index 0000000000000000000000000000000000000000..e6179f65e3511d6da76e25c749c6d781c5e337a7
Binary files /dev/null and b/vendor/github.com/golang/snappy/decode_amd64.s differ
diff --git a/vendor/github.com/golang/snappy/decode_arm64.s b/vendor/github.com/golang/snappy/decode_arm64.s
new file mode 100644
index 0000000000000000000000000000000000000000..7a3ead17eacfe3add2fb2387c40e3682bda4641f
Binary files /dev/null and b/vendor/github.com/golang/snappy/decode_arm64.s differ
diff --git a/vendor/github.com/golang/snappy/decode_asm.go b/vendor/github.com/golang/snappy/decode_asm.go
new file mode 100644
index 0000000000000000000000000000000000000000..7082b349199a3fd3009037f2d15e1df7eca67ec2
Binary files /dev/null and b/vendor/github.com/golang/snappy/decode_asm.go differ
diff --git a/vendor/github.com/golang/snappy/decode_other.go b/vendor/github.com/golang/snappy/decode_other.go
new file mode 100644
index 0000000000000000000000000000000000000000..2f672be55743cda746382bb52800fff89b17f7eb
Binary files /dev/null and b/vendor/github.com/golang/snappy/decode_other.go differ
diff --git a/vendor/github.com/golang/snappy/encode.go b/vendor/github.com/golang/snappy/encode.go
new file mode 100644
index 0000000000000000000000000000000000000000..7f23657076c57a0cf9dcdab1aed741db36b97979
Binary files /dev/null and b/vendor/github.com/golang/snappy/encode.go differ
diff --git a/vendor/github.com/golang/snappy/encode_amd64.s b/vendor/github.com/golang/snappy/encode_amd64.s
new file mode 100644
index 0000000000000000000000000000000000000000..adfd979fe277aa548dc545ab9940a9ad0118fe2d
Binary files /dev/null and b/vendor/github.com/golang/snappy/encode_amd64.s differ
diff --git a/vendor/github.com/golang/snappy/encode_arm64.s b/vendor/github.com/golang/snappy/encode_arm64.s
new file mode 100644
index 0000000000000000000000000000000000000000..f8d54adfc5c1db9628a677ae5d9cd036ea6865ac
Binary files /dev/null and b/vendor/github.com/golang/snappy/encode_arm64.s differ
diff --git a/vendor/github.com/golang/snappy/encode_asm.go b/vendor/github.com/golang/snappy/encode_asm.go
new file mode 100644
index 0000000000000000000000000000000000000000..107c1e71418f67034c18e8ee95e674a97fd2d047
Binary files /dev/null and b/vendor/github.com/golang/snappy/encode_asm.go differ
diff --git a/vendor/github.com/golang/snappy/encode_other.go b/vendor/github.com/golang/snappy/encode_other.go
new file mode 100644
index 0000000000000000000000000000000000000000..296d7f0beb0fae11e4b2f2741e91f93c27b06500
Binary files /dev/null and b/vendor/github.com/golang/snappy/encode_other.go differ
diff --git a/vendor/github.com/golang/snappy/snappy.go b/vendor/github.com/golang/snappy/snappy.go
new file mode 100644
index 0000000000000000000000000000000000000000..ece692ea4610ab717f74b1b4a416d1452d3673dc
Binary files /dev/null and b/vendor/github.com/golang/snappy/snappy.go differ
diff --git a/vendor/github.com/klauspost/compress/.gitattributes b/vendor/github.com/klauspost/compress/.gitattributes
new file mode 100644
index 0000000000000000000000000000000000000000..402433593c09cf9fb07ffd79e7f7beb0f04c6538
Binary files /dev/null and b/vendor/github.com/klauspost/compress/.gitattributes differ
diff --git a/vendor/github.com/klauspost/compress/.gitignore b/vendor/github.com/klauspost/compress/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..b35f8449bf280c131afd066ae3e34b7f01bdba43
Binary files /dev/null and b/vendor/github.com/klauspost/compress/.gitignore differ
diff --git a/vendor/github.com/klauspost/compress/.goreleaser.yml b/vendor/github.com/klauspost/compress/.goreleaser.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c9014ce1da23b3cde00db042dbbd595cc283351d
Binary files /dev/null and b/vendor/github.com/klauspost/compress/.goreleaser.yml differ
diff --git a/vendor/github.com/klauspost/compress/LICENSE b/vendor/github.com/klauspost/compress/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..87d55747778c572bda5a21a2e9ad4578b088e832
Binary files /dev/null and b/vendor/github.com/klauspost/compress/LICENSE differ
diff --git a/vendor/github.com/klauspost/compress/README.md b/vendor/github.com/klauspost/compress/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..3429879eb69fd4e1358916348d814c1f1ae8efcf
Binary files /dev/null and b/vendor/github.com/klauspost/compress/README.md differ
diff --git a/vendor/github.com/klauspost/compress/compressible.go b/vendor/github.com/klauspost/compress/compressible.go
new file mode 100644
index 0000000000000000000000000000000000000000..ea5a692d5130f55b62d741e753d264e2ba3ac598
Binary files /dev/null and b/vendor/github.com/klauspost/compress/compressible.go differ
diff --git a/vendor/github.com/klauspost/compress/fse/README.md b/vendor/github.com/klauspost/compress/fse/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..ea7324da671f67ed33d9ca612d5e5fcbbe912d76
Binary files /dev/null and b/vendor/github.com/klauspost/compress/fse/README.md differ
diff --git a/vendor/github.com/klauspost/compress/fse/bitreader.go b/vendor/github.com/klauspost/compress/fse/bitreader.go
new file mode 100644
index 0000000000000000000000000000000000000000..f65eb3909cf4a59255e0302a96d7e7d3ab21fd29
Binary files /dev/null and b/vendor/github.com/klauspost/compress/fse/bitreader.go differ
diff --git a/vendor/github.com/klauspost/compress/fse/bitwriter.go b/vendor/github.com/klauspost/compress/fse/bitwriter.go
new file mode 100644
index 0000000000000000000000000000000000000000..43e463611b15ccd0f92710da6c6ac8502dbf009a
Binary files /dev/null and b/vendor/github.com/klauspost/compress/fse/bitwriter.go differ
diff --git a/vendor/github.com/klauspost/compress/fse/bytereader.go b/vendor/github.com/klauspost/compress/fse/bytereader.go
new file mode 100644
index 0000000000000000000000000000000000000000..abade2d605279b6a57d475d73d63b5033230676c
Binary files /dev/null and b/vendor/github.com/klauspost/compress/fse/bytereader.go differ
diff --git a/vendor/github.com/klauspost/compress/fse/compress.go b/vendor/github.com/klauspost/compress/fse/compress.go
new file mode 100644
index 0000000000000000000000000000000000000000..6f341914c67f05381ef2c0c037254e1bc799e7ab
Binary files /dev/null and b/vendor/github.com/klauspost/compress/fse/compress.go differ
diff --git a/vendor/github.com/klauspost/compress/fse/decompress.go b/vendor/github.com/klauspost/compress/fse/decompress.go
new file mode 100644
index 0000000000000000000000000000000000000000..926f5f15356a48222dcc76c18ed3fe8dad5cbe3b
Binary files /dev/null and b/vendor/github.com/klauspost/compress/fse/decompress.go differ
diff --git a/vendor/github.com/klauspost/compress/fse/fse.go b/vendor/github.com/klauspost/compress/fse/fse.go
new file mode 100644
index 0000000000000000000000000000000000000000..535cbadfdea192827c17417deaa8a476a4f3f715
Binary files /dev/null and b/vendor/github.com/klauspost/compress/fse/fse.go differ
diff --git a/vendor/github.com/klauspost/compress/gen.sh b/vendor/github.com/klauspost/compress/gen.sh
new file mode 100644
index 0000000000000000000000000000000000000000..aff942205f1c2a37223cb4136d760b28f5635d5b
Binary files /dev/null and b/vendor/github.com/klauspost/compress/gen.sh differ
diff --git a/vendor/github.com/klauspost/compress/huff0/.gitignore b/vendor/github.com/klauspost/compress/huff0/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..b3d262958f85658c64b6faa6739c341e71d8826c
Binary files /dev/null and b/vendor/github.com/klauspost/compress/huff0/.gitignore differ
diff --git a/vendor/github.com/klauspost/compress/huff0/README.md b/vendor/github.com/klauspost/compress/huff0/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b6e5c66383d7912bfc4eb43075c3c53d43bb8e9
Binary files /dev/null and b/vendor/github.com/klauspost/compress/huff0/README.md differ
diff --git a/vendor/github.com/klauspost/compress/huff0/bitreader.go b/vendor/github.com/klauspost/compress/huff0/bitreader.go
new file mode 100644
index 0000000000000000000000000000000000000000..a4979e8868a5232c30ce74f858fe81e8377e574c
Binary files /dev/null and b/vendor/github.com/klauspost/compress/huff0/bitreader.go differ
diff --git a/vendor/github.com/klauspost/compress/huff0/bitwriter.go b/vendor/github.com/klauspost/compress/huff0/bitwriter.go
new file mode 100644
index 0000000000000000000000000000000000000000..6bce4e87d4ff69e780440fd6970b44eb4a970b5d
Binary files /dev/null and b/vendor/github.com/klauspost/compress/huff0/bitwriter.go differ
diff --git a/vendor/github.com/klauspost/compress/huff0/bytereader.go b/vendor/github.com/klauspost/compress/huff0/bytereader.go
new file mode 100644
index 0000000000000000000000000000000000000000..50bcdf6ea99ce456802f645b08d4489b364349c8
Binary files /dev/null and b/vendor/github.com/klauspost/compress/huff0/bytereader.go differ
diff --git a/vendor/github.com/klauspost/compress/huff0/compress.go b/vendor/github.com/klauspost/compress/huff0/compress.go
new file mode 100644
index 0000000000000000000000000000000000000000..8323dc053890b8b37b3cc69cd824cb58bbfa0431
Binary files /dev/null and b/vendor/github.com/klauspost/compress/huff0/compress.go differ
diff --git a/vendor/github.com/klauspost/compress/huff0/decompress.go b/vendor/github.com/klauspost/compress/huff0/decompress.go
new file mode 100644
index 0000000000000000000000000000000000000000..9b7cc8e97bb908e1ee019a2bee68399f560a53e0
Binary files /dev/null and b/vendor/github.com/klauspost/compress/huff0/decompress.go differ
diff --git a/vendor/github.com/klauspost/compress/huff0/huff0.go b/vendor/github.com/klauspost/compress/huff0/huff0.go
new file mode 100644
index 0000000000000000000000000000000000000000..3ee00ecb470ab3340b18d19ae8906af8a6d8d5a1
Binary files /dev/null and b/vendor/github.com/klauspost/compress/huff0/huff0.go differ
diff --git a/vendor/github.com/klauspost/compress/internal/snapref/LICENSE b/vendor/github.com/klauspost/compress/internal/snapref/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..6050c10f4c8b4c22f50c83715f44f12419f763be
Binary files /dev/null and b/vendor/github.com/klauspost/compress/internal/snapref/LICENSE differ
diff --git a/vendor/github.com/klauspost/compress/internal/snapref/decode.go b/vendor/github.com/klauspost/compress/internal/snapref/decode.go
new file mode 100644
index 0000000000000000000000000000000000000000..40796a49d659147f6cc7e2d1e7a5cd26e1f68f34
Binary files /dev/null and b/vendor/github.com/klauspost/compress/internal/snapref/decode.go differ
diff --git a/vendor/github.com/klauspost/compress/internal/snapref/decode_other.go b/vendor/github.com/klauspost/compress/internal/snapref/decode_other.go
new file mode 100644
index 0000000000000000000000000000000000000000..77395a6b8b9e0d81dbbd0fe09e4fbb4270d01b88
Binary files /dev/null and b/vendor/github.com/klauspost/compress/internal/snapref/decode_other.go differ
diff --git a/vendor/github.com/klauspost/compress/internal/snapref/encode.go b/vendor/github.com/klauspost/compress/internal/snapref/encode.go
new file mode 100644
index 0000000000000000000000000000000000000000..13c6040a5dedba942277f450b42601d37b352f73
Binary files /dev/null and b/vendor/github.com/klauspost/compress/internal/snapref/encode.go differ
diff --git a/vendor/github.com/klauspost/compress/internal/snapref/encode_other.go b/vendor/github.com/klauspost/compress/internal/snapref/encode_other.go
new file mode 100644
index 0000000000000000000000000000000000000000..511bba65db8f6f1161d692d233e9f7f9cbc33794
Binary files /dev/null and b/vendor/github.com/klauspost/compress/internal/snapref/encode_other.go differ
diff --git a/vendor/github.com/klauspost/compress/internal/snapref/snappy.go b/vendor/github.com/klauspost/compress/internal/snapref/snappy.go
new file mode 100644
index 0000000000000000000000000000000000000000..34d01f4aa63af7f28300b25741c9376f8052d961
Binary files /dev/null and b/vendor/github.com/klauspost/compress/internal/snapref/snappy.go differ
diff --git a/vendor/github.com/klauspost/compress/s2sx.mod b/vendor/github.com/klauspost/compress/s2sx.mod
new file mode 100644
index 0000000000000000000000000000000000000000..2263853fcade79bb73917e2ad340fc9b0e7b28a3
Binary files /dev/null and b/vendor/github.com/klauspost/compress/s2sx.mod differ
diff --git a/vendor/github.com/klauspost/compress/s2sx.sum b/vendor/github.com/klauspost/compress/s2sx.sum
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/vendor/github.com/klauspost/compress/zstd/README.md b/vendor/github.com/klauspost/compress/zstd/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..c8f0f16fc1ecd57ce4b6ae22da1bb13ee9c28284
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/README.md differ
diff --git a/vendor/github.com/klauspost/compress/zstd/bitreader.go b/vendor/github.com/klauspost/compress/zstd/bitreader.go
new file mode 100644
index 0000000000000000000000000000000000000000..85445853715413c391237a729b508784662df216
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/bitreader.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/bitwriter.go b/vendor/github.com/klauspost/compress/zstd/bitwriter.go
new file mode 100644
index 0000000000000000000000000000000000000000..303ae90f944736ec8f9dec70c8cd55e6c351a789
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/bitwriter.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/blockdec.go b/vendor/github.com/klauspost/compress/zstd/blockdec.go
new file mode 100644
index 0000000000000000000000000000000000000000..8a98c4562e017ea7889781fcdb6cf79c6bd9c19a
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/blockdec.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/blockenc.go b/vendor/github.com/klauspost/compress/zstd/blockenc.go
new file mode 100644
index 0000000000000000000000000000000000000000..3df185ee465513f3a3ae09895265b3684801e761
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/blockenc.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/blocktype_string.go b/vendor/github.com/klauspost/compress/zstd/blocktype_string.go
new file mode 100644
index 0000000000000000000000000000000000000000..01a01e486e1886a322e8b7c2ac5dba21f732a383
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/blocktype_string.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/bytebuf.go b/vendor/github.com/klauspost/compress/zstd/bytebuf.go
new file mode 100644
index 0000000000000000000000000000000000000000..aab71c6cf851b922691d5e13f23fcc34b1d06ceb
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/bytebuf.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/bytereader.go b/vendor/github.com/klauspost/compress/zstd/bytereader.go
new file mode 100644
index 0000000000000000000000000000000000000000..2c4fca17fa1d7ec9328a09cf8b5553c661e586ad
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/bytereader.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/decodeheader.go b/vendor/github.com/klauspost/compress/zstd/decodeheader.go
new file mode 100644
index 0000000000000000000000000000000000000000..69736e8d4bb8c0ac04027f46feb7ed9fef5f4300
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/decodeheader.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/decoder.go b/vendor/github.com/klauspost/compress/zstd/decoder.go
new file mode 100644
index 0000000000000000000000000000000000000000..f430f58b5726c8877593b0a23e150f223562770e
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/decoder.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/decoder_options.go b/vendor/github.com/klauspost/compress/zstd/decoder_options.go
new file mode 100644
index 0000000000000000000000000000000000000000..95cc9b8b81f2133d8f884d6bb46504eab66956da
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/decoder_options.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/dict.go b/vendor/github.com/klauspost/compress/zstd/dict.go
new file mode 100644
index 0000000000000000000000000000000000000000..a36ae83ef579d65b2b603a69007d987ced450667
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/dict.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/enc_base.go b/vendor/github.com/klauspost/compress/zstd/enc_base.go
new file mode 100644
index 0000000000000000000000000000000000000000..295cd602a424979f80713b90f54ae0b394991a82
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/enc_base.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/enc_best.go b/vendor/github.com/klauspost/compress/zstd/enc_best.go
new file mode 100644
index 0000000000000000000000000000000000000000..96028ecd8366ca7fcd32abc5c756b0ad3c94cd48
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/enc_best.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/enc_better.go b/vendor/github.com/klauspost/compress/zstd/enc_better.go
new file mode 100644
index 0000000000000000000000000000000000000000..602c05ee0c4cec83c3c782523d899bf3a33b0bd5
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/enc_better.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/enc_dfast.go b/vendor/github.com/klauspost/compress/zstd/enc_dfast.go
new file mode 100644
index 0000000000000000000000000000000000000000..d6b3104240b0a78a9723f542f37bacbc3e738953
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/enc_dfast.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/enc_fast.go b/vendor/github.com/klauspost/compress/zstd/enc_fast.go
new file mode 100644
index 0000000000000000000000000000000000000000..f2502629bc551bf0593433fdd7c167dafabc2e8e
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/enc_fast.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/encoder.go b/vendor/github.com/klauspost/compress/zstd/encoder.go
new file mode 100644
index 0000000000000000000000000000000000000000..e6e315969b00b89c8536b5d9f4753a896d3aba92
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/encoder.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/encoder_options.go b/vendor/github.com/klauspost/compress/zstd/encoder_options.go
new file mode 100644
index 0000000000000000000000000000000000000000..7d29e1d689eefbc249ebd41d032c317a63da2979
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/encoder_options.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/framedec.go b/vendor/github.com/klauspost/compress/zstd/framedec.go
new file mode 100644
index 0000000000000000000000000000000000000000..989c79f8c3150e9afb63322fb481a7dfa05faf10
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/framedec.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/frameenc.go b/vendor/github.com/klauspost/compress/zstd/frameenc.go
new file mode 100644
index 0000000000000000000000000000000000000000..4ef7f5a3e3d53a9c6d909a63ef97e8d499f80c66
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/frameenc.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/fse_decoder.go b/vendor/github.com/klauspost/compress/zstd/fse_decoder.go
new file mode 100644
index 0000000000000000000000000000000000000000..e6d3d49b39c0e96d0c9b54a258f3c908e882b201
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/fse_decoder.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/fse_encoder.go b/vendor/github.com/klauspost/compress/zstd/fse_encoder.go
new file mode 100644
index 0000000000000000000000000000000000000000..b4757ee3f03bd5ef517e332724017c8803aabe31
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/fse_encoder.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/fse_predefined.go b/vendor/github.com/klauspost/compress/zstd/fse_predefined.go
new file mode 100644
index 0000000000000000000000000000000000000000..474cb77d2b999172be4f82e424b4158b9efbae1c
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/fse_predefined.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/hash.go b/vendor/github.com/klauspost/compress/zstd/hash.go
new file mode 100644
index 0000000000000000000000000000000000000000..cf33f29a1b488eac4cbee823e22b996162306198
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/hash.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/history.go b/vendor/github.com/klauspost/compress/zstd/history.go
new file mode 100644
index 0000000000000000000000000000000000000000..f783e32d251b45d73a92572104e8a6a9522b32c1
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/history.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/internal/xxhash/LICENSE.txt b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/LICENSE.txt
new file mode 100644
index 0000000000000000000000000000000000000000..24b53065f40b5d7d277a64375956ec19cb2123c5
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/LICENSE.txt differ
diff --git a/vendor/github.com/klauspost/compress/zstd/internal/xxhash/README.md b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..69aa3bb587c8d9d316c1658de4d262a7ddfb1532
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/README.md differ
diff --git a/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash.go b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash.go
new file mode 100644
index 0000000000000000000000000000000000000000..2c112a0ab1c1bb6c0a047e44062e67a0becf8953
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_amd64.go b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_amd64.go
new file mode 100644
index 0000000000000000000000000000000000000000..0ae847f75b05fb644aaa414ee5cc3c33486fafd9
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_amd64.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_amd64.s b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_amd64.s
new file mode 100644
index 0000000000000000000000000000000000000000..be8db5bf796015120afa0748cf1c39f2acf4f576
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_amd64.s differ
diff --git a/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_other.go b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_other.go
new file mode 100644
index 0000000000000000000000000000000000000000..1f52f296e71fb8b40d4501d0587d837e072d07ec
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_other.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_safe.go b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_safe.go
new file mode 100644
index 0000000000000000000000000000000000000000..6f3b0cb10264c553f9bbf0bcab8ca0fc0158d8ca
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_safe.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/seqdec.go b/vendor/github.com/klauspost/compress/zstd/seqdec.go
new file mode 100644
index 0000000000000000000000000000000000000000..1dd39e63b7e83f8e894aaeb90e8e63cfc94936cc
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/seqdec.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/seqenc.go b/vendor/github.com/klauspost/compress/zstd/seqenc.go
new file mode 100644
index 0000000000000000000000000000000000000000..8014174a7713e94fc17640baa70335f5f14d0fc5
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/seqenc.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/snappy.go b/vendor/github.com/klauspost/compress/zstd/snappy.go
new file mode 100644
index 0000000000000000000000000000000000000000..9e1baad73be8d9e0194abbaa223bf308b368184f
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/snappy.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/zip.go b/vendor/github.com/klauspost/compress/zstd/zip.go
new file mode 100644
index 0000000000000000000000000000000000000000..967f29b3120e923620715900249ee31281ad0856
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/zip.go differ
diff --git a/vendor/github.com/klauspost/compress/zstd/zstd.go b/vendor/github.com/klauspost/compress/zstd/zstd.go
new file mode 100644
index 0000000000000000000000000000000000000000..ef1d49a009cc75e73a9519495b1dab05e6bdcfb9
Binary files /dev/null and b/vendor/github.com/klauspost/compress/zstd/zstd.go differ
diff --git a/vendor/github.com/xdg-go/pbkdf2/.gitignore b/vendor/github.com/xdg-go/pbkdf2/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..f1c181ec9c5c921245027c6b452ecfc1d3626364
Binary files /dev/null and b/vendor/github.com/xdg-go/pbkdf2/.gitignore differ
diff --git a/vendor/github.com/xdg-go/pbkdf2/LICENSE b/vendor/github.com/xdg-go/pbkdf2/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..67db8588217f266eb561f75fae738656325deac9
Binary files /dev/null and b/vendor/github.com/xdg-go/pbkdf2/LICENSE differ
diff --git a/vendor/github.com/xdg-go/pbkdf2/README.md b/vendor/github.com/xdg-go/pbkdf2/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..d2824e45645fc7d6f753ae244a25784aece2b77c
Binary files /dev/null and b/vendor/github.com/xdg-go/pbkdf2/README.md differ
diff --git a/vendor/github.com/xdg-go/pbkdf2/pbkdf2.go b/vendor/github.com/xdg-go/pbkdf2/pbkdf2.go
new file mode 100644
index 0000000000000000000000000000000000000000..029945ca46eb7ea18bf30ec7d5205d1f3d6e5089
Binary files /dev/null and b/vendor/github.com/xdg-go/pbkdf2/pbkdf2.go differ
diff --git a/vendor/github.com/xdg-go/scram/.gitignore b/vendor/github.com/xdg-go/scram/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/vendor/github.com/xdg-go/scram/CHANGELOG.md b/vendor/github.com/xdg-go/scram/CHANGELOG.md
new file mode 100644
index 0000000000000000000000000000000000000000..425c122fad32869372c57a5307722ece448dace7
Binary files /dev/null and b/vendor/github.com/xdg-go/scram/CHANGELOG.md differ
diff --git a/vendor/github.com/xdg-go/scram/LICENSE b/vendor/github.com/xdg-go/scram/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..67db8588217f266eb561f75fae738656325deac9
Binary files /dev/null and b/vendor/github.com/xdg-go/scram/LICENSE differ
diff --git a/vendor/github.com/xdg-go/scram/README.md b/vendor/github.com/xdg-go/scram/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..3a46f5cebe643d54527746fc185f890bd278d001
Binary files /dev/null and b/vendor/github.com/xdg-go/scram/README.md differ
diff --git a/vendor/github.com/xdg-go/scram/client.go b/vendor/github.com/xdg-go/scram/client.go
new file mode 100644
index 0000000000000000000000000000000000000000..5b53021b32a2152b6ae2fc703d3b2e46749b66f1
Binary files /dev/null and b/vendor/github.com/xdg-go/scram/client.go differ
diff --git a/vendor/github.com/xdg-go/scram/client_conv.go b/vendor/github.com/xdg-go/scram/client_conv.go
new file mode 100644
index 0000000000000000000000000000000000000000..834056889e8ec7b20d345dbd1b8fb828f7ee79ad
Binary files /dev/null and b/vendor/github.com/xdg-go/scram/client_conv.go differ
diff --git a/vendor/github.com/xdg-go/scram/common.go b/vendor/github.com/xdg-go/scram/common.go
new file mode 100644
index 0000000000000000000000000000000000000000..cb705cb74ecf5b19f3e5cddcadbed594308db82a
Binary files /dev/null and b/vendor/github.com/xdg-go/scram/common.go differ
diff --git a/vendor/github.com/xdg-go/scram/doc.go b/vendor/github.com/xdg-go/scram/doc.go
new file mode 100644
index 0000000000000000000000000000000000000000..d43bee6071ce4e3eac5363060195133d356cab04
Binary files /dev/null and b/vendor/github.com/xdg-go/scram/doc.go differ
diff --git a/vendor/github.com/xdg-go/scram/parse.go b/vendor/github.com/xdg-go/scram/parse.go
new file mode 100644
index 0000000000000000000000000000000000000000..722f6043d373a5fb86fb020d0cb8853bf52330ad
Binary files /dev/null and b/vendor/github.com/xdg-go/scram/parse.go differ
diff --git a/vendor/github.com/xdg-go/scram/scram.go b/vendor/github.com/xdg-go/scram/scram.go
new file mode 100644
index 0000000000000000000000000000000000000000..927659969b67d99ffb28eb96641dd12021a78b1f
Binary files /dev/null and b/vendor/github.com/xdg-go/scram/scram.go differ
diff --git a/vendor/github.com/xdg-go/scram/server.go b/vendor/github.com/xdg-go/scram/server.go
new file mode 100644
index 0000000000000000000000000000000000000000..b119b36156d400b71bfbac4beeea58c29c4315fc
Binary files /dev/null and b/vendor/github.com/xdg-go/scram/server.go differ
diff --git a/vendor/github.com/xdg-go/scram/server_conv.go b/vendor/github.com/xdg-go/scram/server_conv.go
new file mode 100644
index 0000000000000000000000000000000000000000..9c8838c38aea61e36a9f54ee36db0f2c40a6477f
Binary files /dev/null and b/vendor/github.com/xdg-go/scram/server_conv.go differ
diff --git a/vendor/github.com/xdg-go/stringprep/.gitignore b/vendor/github.com/xdg-go/stringprep/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/vendor/github.com/xdg-go/stringprep/CHANGELOG.md b/vendor/github.com/xdg-go/stringprep/CHANGELOG.md
new file mode 100644
index 0000000000000000000000000000000000000000..2849637ca6ad61787ee2506b133330b9040d3fae
Binary files /dev/null and b/vendor/github.com/xdg-go/stringprep/CHANGELOG.md differ
diff --git a/vendor/github.com/xdg-go/stringprep/LICENSE b/vendor/github.com/xdg-go/stringprep/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..67db8588217f266eb561f75fae738656325deac9
Binary files /dev/null and b/vendor/github.com/xdg-go/stringprep/LICENSE differ
diff --git a/vendor/github.com/xdg-go/stringprep/README.md b/vendor/github.com/xdg-go/stringprep/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..83ea5346dd0ab3a4504fd33a432a8973a158c07e
Binary files /dev/null and b/vendor/github.com/xdg-go/stringprep/README.md differ
diff --git a/vendor/github.com/xdg-go/stringprep/bidi.go b/vendor/github.com/xdg-go/stringprep/bidi.go
new file mode 100644
index 0000000000000000000000000000000000000000..6f6d321dfdabcd017c8a0e6e25389eb079f0d87d
Binary files /dev/null and b/vendor/github.com/xdg-go/stringprep/bidi.go differ
diff --git a/vendor/github.com/xdg-go/stringprep/doc.go b/vendor/github.com/xdg-go/stringprep/doc.go
new file mode 100644
index 0000000000000000000000000000000000000000..b319e081b756b77f31b99bfdc4f836028d8daa74
Binary files /dev/null and b/vendor/github.com/xdg-go/stringprep/doc.go differ
diff --git a/vendor/github.com/xdg-go/stringprep/error.go b/vendor/github.com/xdg-go/stringprep/error.go
new file mode 100644
index 0000000000000000000000000000000000000000..7403e499119096b974f57e78b160ec55f2e60da5
Binary files /dev/null and b/vendor/github.com/xdg-go/stringprep/error.go differ
diff --git a/vendor/github.com/xdg-go/stringprep/map.go b/vendor/github.com/xdg-go/stringprep/map.go
new file mode 100644
index 0000000000000000000000000000000000000000..e56a0dd43eda15231813163ea2946c2311049e33
Binary files /dev/null and b/vendor/github.com/xdg-go/stringprep/map.go differ
diff --git a/vendor/github.com/xdg-go/stringprep/profile.go b/vendor/github.com/xdg-go/stringprep/profile.go
new file mode 100644
index 0000000000000000000000000000000000000000..5a73be9e548d73aa4c3ad2d8499e68863fb41b65
Binary files /dev/null and b/vendor/github.com/xdg-go/stringprep/profile.go differ
diff --git a/vendor/github.com/xdg-go/stringprep/saslprep.go b/vendor/github.com/xdg-go/stringprep/saslprep.go
new file mode 100644
index 0000000000000000000000000000000000000000..40013488bfdae295cbc219409862a497a7580d6f
Binary files /dev/null and b/vendor/github.com/xdg-go/stringprep/saslprep.go differ
diff --git a/vendor/github.com/xdg-go/stringprep/set.go b/vendor/github.com/xdg-go/stringprep/set.go
new file mode 100644
index 0000000000000000000000000000000000000000..c837e28c88a37987879bb54938d14e00c79f098f
Binary files /dev/null and b/vendor/github.com/xdg-go/stringprep/set.go differ
diff --git a/vendor/github.com/xdg-go/stringprep/tables.go b/vendor/github.com/xdg-go/stringprep/tables.go
new file mode 100644
index 0000000000000000000000000000000000000000..c3fc1fa0fae2119346a797052abe87f3170ef3bc
Binary files /dev/null and b/vendor/github.com/xdg-go/stringprep/tables.go differ
diff --git a/vendor/github.com/youmark/pkcs8/.gitignore b/vendor/github.com/youmark/pkcs8/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..836562412fe8a44fa99a515eeff68d2bc1a86daa
Binary files /dev/null and b/vendor/github.com/youmark/pkcs8/.gitignore differ
diff --git a/vendor/github.com/youmark/pkcs8/.travis.yml b/vendor/github.com/youmark/pkcs8/.travis.yml
new file mode 100644
index 0000000000000000000000000000000000000000..0bceef6fa4c7d7ae163985ad6d78d023b502dae5
Binary files /dev/null and b/vendor/github.com/youmark/pkcs8/.travis.yml differ
diff --git a/vendor/github.com/youmark/pkcs8/LICENSE b/vendor/github.com/youmark/pkcs8/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..c939f448100c7f383c1de5734abf4a898151133b
Binary files /dev/null and b/vendor/github.com/youmark/pkcs8/LICENSE differ
diff --git a/vendor/github.com/youmark/pkcs8/README b/vendor/github.com/youmark/pkcs8/README
new file mode 100644
index 0000000000000000000000000000000000000000..376fcaf64e60538ff295df273d4362d556e039dd
Binary files /dev/null and b/vendor/github.com/youmark/pkcs8/README differ
diff --git a/vendor/github.com/youmark/pkcs8/README.md b/vendor/github.com/youmark/pkcs8/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..f2167dbfe7865d6ee241a47f9eb505d57064a504
Binary files /dev/null and b/vendor/github.com/youmark/pkcs8/README.md differ
diff --git a/vendor/github.com/youmark/pkcs8/pkcs8.go b/vendor/github.com/youmark/pkcs8/pkcs8.go
new file mode 100644
index 0000000000000000000000000000000000000000..9270a7970f713d18b72e2cc45a7b04e0092a78be
Binary files /dev/null and b/vendor/github.com/youmark/pkcs8/pkcs8.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/LICENSE b/vendor/go.mongodb.org/mongo-driver/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/LICENSE differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bson.go b/vendor/go.mongodb.org/mongo-driver/bson/bson.go
new file mode 100644
index 0000000000000000000000000000000000000000..95ffc1078da114e8e92d5c714e0814542e4894d7
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bson.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/array_codec.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/array_codec.go
new file mode 100644
index 0000000000000000000000000000000000000000..4e24f9eed6e90e3453c5afb6b296e2219a443cfd
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/array_codec.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/bsoncodec.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/bsoncodec.go
new file mode 100644
index 0000000000000000000000000000000000000000..2c861b5cd3b974414475d57a9b5dfa1840787211
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/bsoncodec.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/byte_slice_codec.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/byte_slice_codec.go
new file mode 100644
index 0000000000000000000000000000000000000000..5a916cc159a67d2854e6395da2feb71bca42eb1b
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/byte_slice_codec.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/cond_addr_codec.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/cond_addr_codec.go
new file mode 100644
index 0000000000000000000000000000000000000000..cb8180f25cccb8ae069fda5ff9e37b8659764104
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/cond_addr_codec.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_decoders.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_decoders.go
new file mode 100644
index 0000000000000000000000000000000000000000..32fd1427874ed2d3b10e4b6bee7170224eaa1df5
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_decoders.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_encoders.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_encoders.go
new file mode 100644
index 0000000000000000000000000000000000000000..6bdb43cb43684d82a7eddf3d2bcb0f04a03c6316
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_encoders.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/doc.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/doc.go
new file mode 100644
index 0000000000000000000000000000000000000000..c1e20f9489e6e775cef8b20bd9b81c85e530c154
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/doc.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/empty_interface_codec.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/empty_interface_codec.go
new file mode 100644
index 0000000000000000000000000000000000000000..a15636d0a8c174b052acdf9340a38ba8b3713501
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/empty_interface_codec.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/map_codec.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/map_codec.go
new file mode 100644
index 0000000000000000000000000000000000000000..1f7acbcf16b33b1a6d7101ef353bb598a5b4276c
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/map_codec.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/mode.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/mode.go
new file mode 100644
index 0000000000000000000000000000000000000000..fbd9f0a9e9722817dfb02a25d4a2a72df5449303
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/mode.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/pointer_codec.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/pointer_codec.go
new file mode 100644
index 0000000000000000000000000000000000000000..616a3e701b753bf9ae7917997637a265f400aa64
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/pointer_codec.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/proxy.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/proxy.go
new file mode 100644
index 0000000000000000000000000000000000000000..4cf2b01ab482718fe7a10f936cdce97c430dc1ee
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/proxy.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/registry.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/registry.go
new file mode 100644
index 0000000000000000000000000000000000000000..02b9341ffed6efe1fcb723de41386bec569bf55f
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/registry.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/slice_codec.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/slice_codec.go
new file mode 100644
index 0000000000000000000000000000000000000000..3c1b6b860ae4f08fd7e9804a2a351f6f32062c7b
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/slice_codec.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/string_codec.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/string_codec.go
new file mode 100644
index 0000000000000000000000000000000000000000..5332b7c3b5d139e82914eb39c9a06f832b8592ae
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/string_codec.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/struct_codec.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/struct_codec.go
new file mode 100644
index 0000000000000000000000000000000000000000..be3f2081e9a7177588fc639c00a892d65579a6ff
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/struct_codec.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/struct_tag_parser.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/struct_tag_parser.go
new file mode 100644
index 0000000000000000000000000000000000000000..6f406c162327a8ddd07b2fcf50a4eca32dd43ac7
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/struct_tag_parser.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/time_codec.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/time_codec.go
new file mode 100644
index 0000000000000000000000000000000000000000..ec7e30f72421125efcefd35dd01477079741b991
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/time_codec.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/types.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/types.go
new file mode 100644
index 0000000000000000000000000000000000000000..07f4b70e6d54811209bda856ab892888ba25bc45
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/types.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/uint_codec.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/uint_codec.go
new file mode 100644
index 0000000000000000000000000000000000000000..0b21ce999c0581843e17541acb95e531519001a4
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/uint_codec.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/byte_slice_codec_options.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/byte_slice_codec_options.go
new file mode 100644
index 0000000000000000000000000000000000000000..b1256a4dcaffad8bdde3bacea9277ef446218c3a
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/byte_slice_codec_options.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/empty_interface_codec_options.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/empty_interface_codec_options.go
new file mode 100644
index 0000000000000000000000000000000000000000..6caaa000e6304f59235e3339a339b1a4e7dee2dd
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/empty_interface_codec_options.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/map_codec_options.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/map_codec_options.go
new file mode 100644
index 0000000000000000000000000000000000000000..7a6a880b88a0b860cd6a5cc45b94a48b02cc12b8
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/map_codec_options.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/slice_codec_options.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/slice_codec_options.go
new file mode 100644
index 0000000000000000000000000000000000000000..ef965e4b411d16d429d27574b8e9d6d8a45a874c
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/slice_codec_options.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/string_codec_options.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/string_codec_options.go
new file mode 100644
index 0000000000000000000000000000000000000000..65964f4207dd8cf9599b6fb60e1c7190337b4d50
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/string_codec_options.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/struct_codec_options.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/struct_codec_options.go
new file mode 100644
index 0000000000000000000000000000000000000000..78d1dd866860839ec2e86ebb22a93402f03313ad
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/struct_codec_options.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/time_codec_options.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/time_codec_options.go
new file mode 100644
index 0000000000000000000000000000000000000000..13496d121793505b7f921326f6c22f557d6516c4
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/time_codec_options.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/uint_codec_options.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/uint_codec_options.go
new file mode 100644
index 0000000000000000000000000000000000000000..e08b7f192eac3e2bd7ea31171c16a8433024114e
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsonoptions/uint_codec_options.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/copier.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/copier.go
new file mode 100644
index 0000000000000000000000000000000000000000..5cdf6460bcf987707a4aea48bad8341e59f3a694
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/copier.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/doc.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/doc.go
new file mode 100644
index 0000000000000000000000000000000000000000..750b0d2af51e421ab5b32e9527892146d8cdf457
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/doc.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_parser.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_parser.go
new file mode 100644
index 0000000000000000000000000000000000000000..8a690e37ce311d2ee182d7a8a73ab16f44e8db74
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_parser.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_reader.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_reader.go
new file mode 100644
index 0000000000000000000000000000000000000000..35832d73aab231dacd16290a9b4a4ccac633477f
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_reader.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_tables.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_tables.go
new file mode 100644
index 0000000000000000000000000000000000000000..ba39c9601fb935b8f7028ae89cd50049e9bb6513
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_tables.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_wrappers.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_wrappers.go
new file mode 100644
index 0000000000000000000000000000000000000000..9695704246dd91f59d8cbb0bf7f3a0d2455ccad2
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_wrappers.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_writer.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_writer.go
new file mode 100644
index 0000000000000000000000000000000000000000..99ed524b77ed4efa821a031d5bef9fe46f2d64e2
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_writer.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/json_scanner.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/json_scanner.go
new file mode 100644
index 0000000000000000000000000000000000000000..cd4843a3a405880baaeb423c0fa8f8de811b8eeb
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/json_scanner.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/mode.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/mode.go
new file mode 100644
index 0000000000000000000000000000000000000000..617b5e2212ae9a215e67f83a2696129ed0845947
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/mode.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/reader.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/reader.go
new file mode 100644
index 0000000000000000000000000000000000000000..0b8fa28d57982831e6c1cdbed5c567b90da3076e
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/reader.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/value_reader.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/value_reader.go
new file mode 100644
index 0000000000000000000000000000000000000000..5e147373bc23d51caa28810ab7febb3a69bea399
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/value_reader.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/value_writer.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/value_writer.go
new file mode 100644
index 0000000000000000000000000000000000000000..a39c4ea4cb812a57e578ac400f41d5e19c464b10
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/value_writer.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/writer.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/writer.go
new file mode 100644
index 0000000000000000000000000000000000000000..dff65f87f711c1d19fe55b2d898ca53467fb8b5e
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/writer.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsontype/bsontype.go b/vendor/go.mongodb.org/mongo-driver/bson/bsontype/bsontype.go
new file mode 100644
index 0000000000000000000000000000000000000000..7c91ae5186fb23480fc4a7cede288440eb8a9f13
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/bsontype/bsontype.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/decoder.go b/vendor/go.mongodb.org/mongo-driver/bson/decoder.go
new file mode 100644
index 0000000000000000000000000000000000000000..7f6b7694f9c6400c592715b1b0975f96c7115ec5
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/decoder.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/doc.go b/vendor/go.mongodb.org/mongo-driver/bson/doc.go
new file mode 100644
index 0000000000000000000000000000000000000000..094be934f094366e5e46248a5198e7eaa7687a13
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/doc.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/encoder.go b/vendor/go.mongodb.org/mongo-driver/bson/encoder.go
new file mode 100644
index 0000000000000000000000000000000000000000..fe5125d086077338f21e5b3096807ec6de9a0423
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/encoder.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/marshal.go b/vendor/go.mongodb.org/mongo-driver/bson/marshal.go
new file mode 100644
index 0000000000000000000000000000000000000000..79f038581e0a39b2a57f0ac535e0d5ba7407d6ce
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/marshal.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/primitive/decimal.go b/vendor/go.mongodb.org/mongo-driver/bson/primitive/decimal.go
new file mode 100644
index 0000000000000000000000000000000000000000..ffe4eed07ae490508ae9c068bc1174d5b39005cb
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/primitive/decimal.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/primitive/objectid.go b/vendor/go.mongodb.org/mongo-driver/bson/primitive/objectid.go
new file mode 100644
index 0000000000000000000000000000000000000000..652898fea75c8202de59edca58289f8288142ca4
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/primitive/objectid.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/primitive/primitive.go b/vendor/go.mongodb.org/mongo-driver/bson/primitive/primitive.go
new file mode 100644
index 0000000000000000000000000000000000000000..b3cba1bf9dfc6acfb3c45b57cd116fd5aa249515
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/primitive/primitive.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/primitive_codecs.go b/vendor/go.mongodb.org/mongo-driver/bson/primitive_codecs.go
new file mode 100644
index 0000000000000000000000000000000000000000..1cbe3884d192e5cbab04a13518858eba9d0323d1
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/primitive_codecs.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/raw.go b/vendor/go.mongodb.org/mongo-driver/bson/raw.go
new file mode 100644
index 0000000000000000000000000000000000000000..efd705daaa5d57c0997bb3b454ffd2f592169279
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/raw.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/raw_element.go b/vendor/go.mongodb.org/mongo-driver/bson/raw_element.go
new file mode 100644
index 0000000000000000000000000000000000000000..006f503a30346b1357982db899f99dd475360435
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/raw_element.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/raw_value.go b/vendor/go.mongodb.org/mongo-driver/bson/raw_value.go
new file mode 100644
index 0000000000000000000000000000000000000000..75297f30fe36cfe6985aba080018b1bccbf6f767
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/raw_value.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/registry.go b/vendor/go.mongodb.org/mongo-driver/bson/registry.go
new file mode 100644
index 0000000000000000000000000000000000000000..09062d20854e9948d1ee29096fbc64a45aab8eb9
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/registry.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/types.go b/vendor/go.mongodb.org/mongo-driver/bson/types.go
new file mode 100644
index 0000000000000000000000000000000000000000..13a1c35cf6fd9ce9fe2ac85090802a4ff07819a3
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/types.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/unmarshal.go b/vendor/go.mongodb.org/mongo-driver/bson/unmarshal.go
new file mode 100644
index 0000000000000000000000000000000000000000..6f9ca04d3ce8874bad32ce87f84b0c43b7b7b733
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/bson/unmarshal.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/event/doc.go b/vendor/go.mongodb.org/mongo-driver/event/doc.go
new file mode 100644
index 0000000000000000000000000000000000000000..93b5ede047095e5515e4cc8237956898eddbdc64
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/event/doc.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/event/monitoring.go b/vendor/go.mongodb.org/mongo-driver/event/monitoring.go
new file mode 100644
index 0000000000000000000000000000000000000000..d95deef01e903f74e1a5c9f8ba9decafd10e4044
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/event/monitoring.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/internal/background_context.go b/vendor/go.mongodb.org/mongo-driver/internal/background_context.go
new file mode 100644
index 0000000000000000000000000000000000000000..6f190edb3cee97a21b51b80cde590d0275e23f81
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/internal/background_context.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/internal/cancellation_listener.go b/vendor/go.mongodb.org/mongo-driver/internal/cancellation_listener.go
new file mode 100644
index 0000000000000000000000000000000000000000..a7fa163bb3439d1a6ff8532b09b8cdd324a4b338
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/internal/cancellation_listener.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/internal/const.go b/vendor/go.mongodb.org/mongo-driver/internal/const.go
new file mode 100644
index 0000000000000000000000000000000000000000..a7ef69d13d4d761d49f8842e80e340341753a756
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/internal/const.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/internal/error.go b/vendor/go.mongodb.org/mongo-driver/internal/error.go
new file mode 100644
index 0000000000000000000000000000000000000000..6a105af4ffcc02562479cf445137e007b0e1154c
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/internal/error.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/internal/randutil/randutil.go b/vendor/go.mongodb.org/mongo-driver/internal/randutil/randutil.go
new file mode 100644
index 0000000000000000000000000000000000000000..631f95320e1970435bb0bf5a154ef7deeaa4cec6
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/internal/randutil/randutil.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/internal/string_util.go b/vendor/go.mongodb.org/mongo-driver/internal/string_util.go
new file mode 100644
index 0000000000000000000000000000000000000000..db1e1890e52c53c2eee992f3d62fa7614150fe7e
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/internal/string_util.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/internal/uri_validation_errors.go b/vendor/go.mongodb.org/mongo-driver/internal/uri_validation_errors.go
new file mode 100644
index 0000000000000000000000000000000000000000..21e73002a4b31c5c926c0912581e2dc14ca9d011
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/internal/uri_validation_errors.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/address/addr.go b/vendor/go.mongodb.org/mongo-driver/mongo/address/addr.go
new file mode 100644
index 0000000000000000000000000000000000000000..5655b3462fdd73437a95d2b5af429cdba2df0dcb
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/address/addr.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/batch_cursor.go b/vendor/go.mongodb.org/mongo-driver/mongo/batch_cursor.go
new file mode 100644
index 0000000000000000000000000000000000000000..0b7432f408ac3153e382f2893dcd6bf939923a26
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/batch_cursor.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/bulk_write.go b/vendor/go.mongodb.org/mongo-driver/mongo/bulk_write.go
new file mode 100644
index 0000000000000000000000000000000000000000..fb5c91a126e29abc9261b78b213201a16cfd0d39
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/bulk_write.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/bulk_write_models.go b/vendor/go.mongodb.org/mongo-driver/mongo/bulk_write_models.go
new file mode 100644
index 0000000000000000000000000000000000000000..b4b8e3ef8cec9313e5a05a34936a0731fa4efca9
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/bulk_write_models.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/change_stream.go b/vendor/go.mongodb.org/mongo-driver/mongo/change_stream.go
new file mode 100644
index 0000000000000000000000000000000000000000..f2a194d77527810ecbd3ea2f59f74d6e9190020c
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/change_stream.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/change_stream_deployment.go b/vendor/go.mongodb.org/mongo-driver/mongo/change_stream_deployment.go
new file mode 100644
index 0000000000000000000000000000000000000000..36c6e2547a6eb01f40f90edd1a966feb5f81cb78
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/change_stream_deployment.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/client.go b/vendor/go.mongodb.org/mongo-driver/mongo/client.go
new file mode 100644
index 0000000000000000000000000000000000000000..63630ebe2d81ad9e353e47ba93848b90b523b734
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/client.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/client_encryption.go b/vendor/go.mongodb.org/mongo-driver/mongo/client_encryption.go
new file mode 100644
index 0000000000000000000000000000000000000000..fe4646b641c2baf1c919df4b9c52db0bc18cdbd9
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/client_encryption.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/collection.go b/vendor/go.mongodb.org/mongo-driver/mongo/collection.go
new file mode 100644
index 0000000000000000000000000000000000000000..a5aaa35ea3c8556d3864e10f6f8cb599d928e9ee
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/collection.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/crypt_retrievers.go b/vendor/go.mongodb.org/mongo-driver/mongo/crypt_retrievers.go
new file mode 100644
index 0000000000000000000000000000000000000000..5e96da731a13fd66a1091f9fa668bfd21db4dbe5
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/crypt_retrievers.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/cursor.go b/vendor/go.mongodb.org/mongo-driver/mongo/cursor.go
new file mode 100644
index 0000000000000000000000000000000000000000..3ec03baf4b2f211d2b8ab6b506e239fd325974a8
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/cursor.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/database.go b/vendor/go.mongodb.org/mongo-driver/mongo/database.go
new file mode 100644
index 0000000000000000000000000000000000000000..2078733443d9aefb526f8a6a73bbb77b3c324967
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/database.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/description/description.go b/vendor/go.mongodb.org/mongo-driver/mongo/description/description.go
new file mode 100644
index 0000000000000000000000000000000000000000..40b1af1361cec88d1fb158b8c737e540f25ac1ad
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/description/description.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/description/server.go b/vendor/go.mongodb.org/mongo-driver/mongo/description/server.go
new file mode 100644
index 0000000000000000000000000000000000000000..405efe94b4708495d10c8489323a0a3d0304c6ca
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/description/server.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/description/server_kind.go b/vendor/go.mongodb.org/mongo-driver/mongo/description/server_kind.go
new file mode 100644
index 0000000000000000000000000000000000000000..b71d29d8b5667c2fcb9308bd5f4aea3d19637e9f
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/description/server_kind.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/description/server_selector.go b/vendor/go.mongodb.org/mongo-driver/mongo/description/server_selector.go
new file mode 100644
index 0000000000000000000000000000000000000000..753c45b666b9688f41e2818fcf67f2225be58e56
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/description/server_selector.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/description/topology.go b/vendor/go.mongodb.org/mongo-driver/mongo/description/topology.go
new file mode 100644
index 0000000000000000000000000000000000000000..8544548c930deef98974cdf50eb5f08d1a6c60d8
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/description/topology.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/description/topology_kind.go b/vendor/go.mongodb.org/mongo-driver/mongo/description/topology_kind.go
new file mode 100644
index 0000000000000000000000000000000000000000..6d60c4d874e9cb1d65132a1456cdab050484bcd4
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/description/topology_kind.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/description/topology_version.go b/vendor/go.mongodb.org/mongo-driver/mongo/description/topology_version.go
new file mode 100644
index 0000000000000000000000000000000000000000..e6674ea762441c651265293a517a78b41c449c6f
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/description/topology_version.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/description/version_range.go b/vendor/go.mongodb.org/mongo-driver/mongo/description/version_range.go
new file mode 100644
index 0000000000000000000000000000000000000000..5d6270c521dd006cc40479e1436cd6696363186f
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/description/version_range.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/doc.go b/vendor/go.mongodb.org/mongo-driver/mongo/doc.go
new file mode 100644
index 0000000000000000000000000000000000000000..669aa14c9f91673dbf060afaa36afe4f61b3a614
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/doc.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/errors.go b/vendor/go.mongodb.org/mongo-driver/mongo/errors.go
new file mode 100644
index 0000000000000000000000000000000000000000..2c3ae15790edd8e214c02609597fd0b3581b156a
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/errors.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/index_options_builder.go b/vendor/go.mongodb.org/mongo-driver/mongo/index_options_builder.go
new file mode 100644
index 0000000000000000000000000000000000000000..d12deaee283cf6ba44dbbc0c161beb0dd26722ee
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/index_options_builder.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/index_view.go b/vendor/go.mongodb.org/mongo-driver/mongo/index_view.go
new file mode 100644
index 0000000000000000000000000000000000000000..e8e260f1668577920616109bfcb5055e87bcdb37
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/index_view.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/mongo.go b/vendor/go.mongodb.org/mongo-driver/mongo/mongo.go
new file mode 100644
index 0000000000000000000000000000000000000000..89eec4342710faca05ec49703142c43e5c731a86
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/mongo.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/mongocryptd.go b/vendor/go.mongodb.org/mongo-driver/mongo/mongocryptd.go
new file mode 100644
index 0000000000000000000000000000000000000000..c36b1d31cd5a75325e6f1ed31178f6a497be9569
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/mongocryptd.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/aggregateoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/aggregateoptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..e1f710fd23ebc2cce038e5006a4615203d427b2d
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/aggregateoptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/autoencryptionoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/autoencryptionoptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..89c3c05f16b3360b44160aa6040aca99400db936
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/autoencryptionoptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/bulkwriteoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/bulkwriteoptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..57f98f83d17612a05f39115642ead0d8f5b6f504
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/bulkwriteoptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/changestreamoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/changestreamoptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..fe19f45ebb83bcef3388c75f6437ee4ef88a6be5
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/changestreamoptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/clientencryptionoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/clientencryptionoptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..b8f6e8710d3951a03f428be0d05c8f058da5a454
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/clientencryptionoptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/clientoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/clientoptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..da5f630d19c8b47997aa5b737b79a8d0566d7dea
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/clientoptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/collectionoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/collectionoptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..5c8111471bddccb056f9f3faf9865f0ab0c1e567
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/collectionoptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/countoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/countoptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..094524c1006ad5a4ee7786f0fac93872b4597096
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/countoptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/createcollectionoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/createcollectionoptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..130c8e75c35a616e4d6027394a31ef4a95cced59
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/createcollectionoptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/datakeyoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/datakeyoptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..c6a17f9e09e0ae0b1ddd95f1069a892b3f7f55f4
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/datakeyoptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/dboptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/dboptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..900da51c1df9d5f27030b61eb3011cf15f2f553d
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/dboptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/deleteoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/deleteoptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..fcea40a5cec778c5716220e7102a5ec88e791433
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/deleteoptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/distinctoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/distinctoptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..40c19c463d08b7d9a8971438b06479413d32d121
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/distinctoptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/encryptoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/encryptoptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..8a7d797b297453dc2e39ae04eb5a8af9a709d25f
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/encryptoptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/estimatedcountoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/estimatedcountoptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..2b997f4617a8971066f86bd02daf9424b43e2f9e
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/estimatedcountoptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/findoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/findoptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..ad9409c975859b407141180f57b97002c0f9d10a
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/findoptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/gridfsoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/gridfsoptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..493fe983be97a9f0ba98c25af772bb0478367136
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/gridfsoptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/indexoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/indexoptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..076eedd7607b63c411dc45b1d819b6897da79e71
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/indexoptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/insertoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/insertoptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..aa0e9716a29684645c2590c3f86d14f923b4c298
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/insertoptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/listcollectionsoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/listcollectionsoptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..4c2ce3e6d2027e426603ebdbcad27704b8cd69f2
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/listcollectionsoptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/listdatabasesoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/listdatabasesoptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..42fe17042edfae130b898cb7b3a0999c31ab86a4
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/listdatabasesoptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/mongooptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/mongooptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..ff6f6c807a85a9655d52895aab229e62828e609d
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/mongooptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/replaceoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/replaceoptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..543c81ceaf2094a418745acfa9e436bc1fdd5171
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/replaceoptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/runcmdoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/runcmdoptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..ce2ec728d40bcce0ab7fae95e7f4f14986939f2e
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/runcmdoptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/serverapioptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/serverapioptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..5beb795e433afe702856a93185d5898c3e1fb8da
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/serverapioptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/sessionoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/sessionoptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..32bc20d5b94e40aba3b933487d1324961e8dd42c
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/sessionoptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/transactionoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/transactionoptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..a42ddfbb8bbd346c6821fc1be2405f6c95c4dbe4
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/transactionoptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/options/updateoptions.go b/vendor/go.mongodb.org/mongo-driver/mongo/options/updateoptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..4d1e7e47e24bebe97bcd252a45a1dd4090284e83
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/options/updateoptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/readconcern/readconcern.go b/vendor/go.mongodb.org/mongo-driver/mongo/readconcern/readconcern.go
new file mode 100644
index 0000000000000000000000000000000000000000..ce235ba8f25451e9cbbdf219bf5ac535eee83648
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/readconcern/readconcern.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/readpref/mode.go b/vendor/go.mongodb.org/mongo-driver/mongo/readpref/mode.go
new file mode 100644
index 0000000000000000000000000000000000000000..ce036504cbb2112393c36d2a7f88569b13f8a723
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/readpref/mode.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/readpref/options.go b/vendor/go.mongodb.org/mongo-driver/mongo/readpref/options.go
new file mode 100644
index 0000000000000000000000000000000000000000..68286d10a85d043dbab86dc9201221476a3800ce
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/readpref/options.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/readpref/readpref.go b/vendor/go.mongodb.org/mongo-driver/mongo/readpref/readpref.go
new file mode 100644
index 0000000000000000000000000000000000000000..b651b69e904f372df958c42378ea461897ad9881
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/readpref/readpref.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/results.go b/vendor/go.mongodb.org/mongo-driver/mongo/results.go
new file mode 100644
index 0000000000000000000000000000000000000000..6951bea653e20c9c2f88817bbdeb1d38d54700b9
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/results.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/session.go b/vendor/go.mongodb.org/mongo-driver/mongo/session.go
new file mode 100644
index 0000000000000000000000000000000000000000..c1a2c8ea329897404bdc837e5cda396c80fc468e
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/session.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/single_result.go b/vendor/go.mongodb.org/mongo-driver/mongo/single_result.go
new file mode 100644
index 0000000000000000000000000000000000000000..c693dfae25c04443cfc60b025329695bed95a653
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/single_result.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/util.go b/vendor/go.mongodb.org/mongo-driver/mongo/util.go
new file mode 100644
index 0000000000000000000000000000000000000000..270fa24a255f1e3a012b6d56eccc51baf4904a39
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/util.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/mongo/writeconcern/writeconcern.go b/vendor/go.mongodb.org/mongo-driver/mongo/writeconcern/writeconcern.go
new file mode 100644
index 0000000000000000000000000000000000000000..b9145c9ee0c8675c90184c9c64eaf73590a499dc
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/mongo/writeconcern/writeconcern.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/tag/tag.go b/vendor/go.mongodb.org/mongo-driver/tag/tag.go
new file mode 100644
index 0000000000000000000000000000000000000000..55cf7e31e4b72661a1993ec9d0cc0261c0ba0883
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/tag/tag.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/version/version.go b/vendor/go.mongodb.org/mongo-driver/version/version.go
new file mode 100644
index 0000000000000000000000000000000000000000..3691f80f04de074eafe9d202d538098d717a0465
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/version/version.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/bsonx/array.go b/vendor/go.mongodb.org/mongo-driver/x/bsonx/array.go
new file mode 100644
index 0000000000000000000000000000000000000000..80359e8c70f0ef67805f2acca0d8334586f98b1d
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/bsonx/array.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/array.go b/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/array.go
new file mode 100644
index 0000000000000000000000000000000000000000..8ea60ba3c687fb71e0875abef03da60ec03b153a
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/array.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/bson_arraybuilder.go b/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/bson_arraybuilder.go
new file mode 100644
index 0000000000000000000000000000000000000000..7e6937d896ec674ca1fea4f0c8f34c4a272d6087
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/bson_arraybuilder.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/bson_documentbuilder.go b/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/bson_documentbuilder.go
new file mode 100644
index 0000000000000000000000000000000000000000..b0d45212dbe46857e37f9c2d0263982d34390fe3
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/bson_documentbuilder.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/bsoncore.go b/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/bsoncore.go
new file mode 100644
index 0000000000000000000000000000000000000000..b8db838a5fbe893f91647fe2034171397b9c54d1
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/bsoncore.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/document.go b/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/document.go
new file mode 100644
index 0000000000000000000000000000000000000000..b687b5a8066c6196333271a751d65f4161080253
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/document.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/document_sequence.go b/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/document_sequence.go
new file mode 100644
index 0000000000000000000000000000000000000000..04d162faa19bda75fcf21e35b5d89ada9e7baa05
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/document_sequence.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/element.go b/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/element.go
new file mode 100644
index 0000000000000000000000000000000000000000..3acb4222b226a3525cd55a9a406910d0dde746a5
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/element.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/tables.go b/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/tables.go
new file mode 100644
index 0000000000000000000000000000000000000000..9fd903fd2b6779207912fb2cc7df4e4d320e000f
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/tables.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/value.go b/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/value.go
new file mode 100644
index 0000000000000000000000000000000000000000..54aa617cfd53e86d0f309db267362b84b08c8077
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/value.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/bsonx/constructor.go b/vendor/go.mongodb.org/mongo-driver/x/bsonx/constructor.go
new file mode 100644
index 0000000000000000000000000000000000000000..a8be859ddf474944617355f158a0f4dcc0f52237
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/bsonx/constructor.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/bsonx/document.go b/vendor/go.mongodb.org/mongo-driver/x/bsonx/document.go
new file mode 100644
index 0000000000000000000000000000000000000000..2d53bc18b86242ea45d1f5971818dc4f2c47c496
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/bsonx/document.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/bsonx/element.go b/vendor/go.mongodb.org/mongo-driver/x/bsonx/element.go
new file mode 100644
index 0000000000000000000000000000000000000000..00d1ba377fe1951c575159db953fdad819c779df
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/bsonx/element.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/bsonx/mdocument.go b/vendor/go.mongodb.org/mongo-driver/x/bsonx/mdocument.go
new file mode 100644
index 0000000000000000000000000000000000000000..7877f224016a526ce3a7ecb240400b8f5394aaf8
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/bsonx/mdocument.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/bsonx/primitive_codecs.go b/vendor/go.mongodb.org/mongo-driver/x/bsonx/primitive_codecs.go
new file mode 100644
index 0000000000000000000000000000000000000000..01bd18267886e0e9eadf8da35fbcf920b5715ce5
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/bsonx/primitive_codecs.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/bsonx/reflectionfree_d_codec.go b/vendor/go.mongodb.org/mongo-driver/x/bsonx/reflectionfree_d_codec.go
new file mode 100644
index 0000000000000000000000000000000000000000..94aa8f3348427a6d7ce8391ffbad04484c320920
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/bsonx/reflectionfree_d_codec.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/bsonx/registry.go b/vendor/go.mongodb.org/mongo-driver/x/bsonx/registry.go
new file mode 100644
index 0000000000000000000000000000000000000000..ac21df22b5efa500697701882d1b50e7b04b9b5e
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/bsonx/registry.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/bsonx/value.go b/vendor/go.mongodb.org/mongo-driver/x/bsonx/value.go
new file mode 100644
index 0000000000000000000000000000000000000000..f66f6b240fffcd8e4f422a2b4a52d2541ab78d81
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/bsonx/value.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/DESIGN.md b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/DESIGN.md
new file mode 100644
index 0000000000000000000000000000000000000000..2fde89f81f7abc61229908d7aa160dc91233b53b
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/DESIGN.md differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/auth.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/auth.go
new file mode 100644
index 0000000000000000000000000000000000000000..d45dda61b6f7c849b70222a714b7c9bd775e695f
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/auth.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/aws_conv.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/aws_conv.go
new file mode 100644
index 0000000000000000000000000000000000000000..fa0b0d0ec267e055053f96f0d8076bb756972dc2
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/aws_conv.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/conversation.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/conversation.go
new file mode 100644
index 0000000000000000000000000000000000000000..fe8f472c9612cf809cb1ea609c28f4eec661b185
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/conversation.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/cred.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/cred.go
new file mode 100644
index 0000000000000000000000000000000000000000..7b2b8f17d004fd6b3ca74b39b2015aa373a87a9f
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/cred.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/default.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/default.go
new file mode 100644
index 0000000000000000000000000000000000000000..e266ad54231cd86c0148d2ab3ea17aa9321f2f77
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/default.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/doc.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/doc.go
new file mode 100644
index 0000000000000000000000000000000000000000..9db65cf193cfe7655b16a032633b5853f03c05b5
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/doc.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/gssapi.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/gssapi.go
new file mode 100644
index 0000000000000000000000000000000000000000..6e9f398d0097f1624bf6eac96df4438a7c283c2c
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/gssapi.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/gssapi_not_enabled.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/gssapi_not_enabled.go
new file mode 100644
index 0000000000000000000000000000000000000000..d88b764fb648e078c873569402ef91049fc52aac
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/gssapi_not_enabled.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/gssapi_not_supported.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/gssapi_not_supported.go
new file mode 100644
index 0000000000000000000000000000000000000000..55caa28445d23b4868c63750926d6eeca9bc6dcc
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/gssapi_not_supported.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/awsv4/credentials.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/awsv4/credentials.go
new file mode 100644
index 0000000000000000000000000000000000000000..95225a4715cea17ee4e7ffebbbdce4522c1a5d1d
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/awsv4/credentials.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/awsv4/doc.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/awsv4/doc.go
new file mode 100644
index 0000000000000000000000000000000000000000..6a29293d8a7f5aa4ea21e366d583de7db59f83a0
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/awsv4/doc.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/awsv4/request.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/awsv4/request.go
new file mode 100644
index 0000000000000000000000000000000000000000..014ee0833ad54e7177ea0b0587b991457b5c17d3
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/awsv4/request.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/awsv4/rest.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/awsv4/rest.go
new file mode 100644
index 0000000000000000000000000000000000000000..b1f86a09598874ace7c220ce2dcd0f09376e3c49
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/awsv4/rest.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/awsv4/rules.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/awsv4/rules.go
new file mode 100644
index 0000000000000000000000000000000000000000..ad820d8e94610886fba3533c4e6e427722682a0c
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/awsv4/rules.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/awsv4/signer.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/awsv4/signer.go
new file mode 100644
index 0000000000000000000000000000000000000000..9567a6d63867d1f1126776ee779451fc3d6c754a
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/awsv4/signer.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/gss.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/gss.go
new file mode 100644
index 0000000000000000000000000000000000000000..44faae4e9346fcdb0fb1c5fe362c3dadb0c89f6b
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/gss.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/gss_wrapper.c b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/gss_wrapper.c
new file mode 100644
index 0000000000000000000000000000000000000000..0ca591f83fdd164c29404804dfb7ff4038bd7371
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/gss_wrapper.c differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/gss_wrapper.h b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/gss_wrapper.h
new file mode 100644
index 0000000000000000000000000000000000000000..ca7b907f16050f700ecd5c8bb72a155356eb008e
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/gss_wrapper.h differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/sspi.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/sspi.go
new file mode 100644
index 0000000000000000000000000000000000000000..f3c3c75cc9e9bde87efd3c6ce166a0bd5b7c7dd6
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/sspi.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/sspi_wrapper.c b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/sspi_wrapper.c
new file mode 100644
index 0000000000000000000000000000000000000000..f03d8463a9c28de3ffc808b44e2f026a7e0b5f75
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/sspi_wrapper.c differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/sspi_wrapper.h b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/sspi_wrapper.h
new file mode 100644
index 0000000000000000000000000000000000000000..ee6e9a720b285f03ca1be1a70fd59ff8fd9c50e7
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/internal/gssapi/sspi_wrapper.h differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/mongodbaws.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/mongodbaws.go
new file mode 100644
index 0000000000000000000000000000000000000000..8b81865e59a24744f3460eeb8ca8024b9e6caf33
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/mongodbaws.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/mongodbcr.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/mongodbcr.go
new file mode 100644
index 0000000000000000000000000000000000000000..6e2c2f4dcbd544cf10faa8199f6da1bcf1afb5a3
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/mongodbcr.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/plain.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/plain.go
new file mode 100644
index 0000000000000000000000000000000000000000..f881003508adf1b1d900db27a3c42778534529c0
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/plain.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/sasl.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/sasl.go
new file mode 100644
index 0000000000000000000000000000000000000000..a7ae3368f09519e310cdbd2ffa47aea94b921a6d
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/sasl.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/scram.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/scram.go
new file mode 100644
index 0000000000000000000000000000000000000000..f4f069699c955a6fd8dd599f71d52bceb806242d
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/scram.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/util.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/util.go
new file mode 100644
index 0000000000000000000000000000000000000000..a75a006d561fe05d6f2cc2481ad91458abab14c1
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/util.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/x509.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/x509.go
new file mode 100644
index 0000000000000000000000000000000000000000..e0a61eda846ad63cdfc393eaf81c23a931daf5e1
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/auth/x509.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/batch_cursor.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/batch_cursor.go
new file mode 100644
index 0000000000000000000000000000000000000000..8f521f5864e85cf7f86bdafe873786cda4641325
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/batch_cursor.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/batches.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/batches.go
new file mode 100644
index 0000000000000000000000000000000000000000..4c25abd66cd661c28d43939eb1b672bce69cf507
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/batches.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/compression.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/compression.go
new file mode 100644
index 0000000000000000000000000000000000000000..39d490a9874d48a3080e442d8487f98545806de0
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/compression.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/connstring/connstring.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/connstring/connstring.go
new file mode 100644
index 0000000000000000000000000000000000000000..25869ef4259ee6581c3bc08fd9e3222b6696dbf8
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/connstring/connstring.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/crypt.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/crypt.go
new file mode 100644
index 0000000000000000000000000000000000000000..36e0bc4abca75498f3337af79f0ab3ddc8691db8
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/crypt.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/dns/dns.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/dns/dns.go
new file mode 100644
index 0000000000000000000000000000000000000000..c48d932a04a3d3ede5175acf1647a207d36e6c61
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/dns/dns.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/driver.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/driver.go
new file mode 100644
index 0000000000000000000000000000000000000000..c763740675916dce3931e5ff2c723d8283135c35
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/driver.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/errors.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/errors.go
new file mode 100644
index 0000000000000000000000000000000000000000..5deb04ebadc9c8e73bbcfe0d8e42efa6b0e11f6c
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/errors.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/legacy.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/legacy.go
new file mode 100644
index 0000000000000000000000000000000000000000..a6df77f42b50b25502f72e2215518e2b05f0a104
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/legacy.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/list_collections_batch_cursor.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/list_collections_batch_cursor.go
new file mode 100644
index 0000000000000000000000000000000000000000..ca1062659693d4620861edb8ed227cf5fde661dc
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/list_collections_batch_cursor.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/binary.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/binary.go
new file mode 100644
index 0000000000000000000000000000000000000000..3794ee5c95c155b1bb0bcc54f793133d69d53a29
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/binary.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/errors.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/errors.go
new file mode 100644
index 0000000000000000000000000000000000000000..8c235c5bfa2de167ca5a78a0efc84705fe7434cc
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/errors.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/errors_not_enabled.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/errors_not_enabled.go
new file mode 100644
index 0000000000000000000000000000000000000000..816099abc95464d44377a58df225edd3ed7e8398
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/errors_not_enabled.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt.go
new file mode 100644
index 0000000000000000000000000000000000000000..edfedf1a301276213d4b9d108fb9a1382827b29e
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_context.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_context.go
new file mode 100644
index 0000000000000000000000000000000000000000..dc0dd51455b648200feefe17801cca57a2864330
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_context.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_context_not_enabled.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_context_not_enabled.go
new file mode 100644
index 0000000000000000000000000000000000000000..b0ff1689203aba211fb7a1281a87fc4ed86d9bd2
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_context_not_enabled.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_kms_context.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_kms_context.go
new file mode 100644
index 0000000000000000000000000000000000000000..69a72d5c50e6cea2791feb92e8877ae18bc1fd63
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_kms_context.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_kms_context_not_enabled.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_kms_context_not_enabled.go
new file mode 100644
index 0000000000000000000000000000000000000000..f2632a86840e31097b17bde1df9ec74133021746
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_kms_context_not_enabled.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_not_enabled.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_not_enabled.go
new file mode 100644
index 0000000000000000000000000000000000000000..d91cc674618c9a1baecc3d1c8ddd4c657a6fedd3
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/mongocrypt_not_enabled.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/options/mongocrypt_context_options.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/options/mongocrypt_context_options.go
new file mode 100644
index 0000000000000000000000000000000000000000..0f7f43b931ba8ed695a6c6188254384855cbc0e3
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/options/mongocrypt_context_options.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/options/mongocrypt_options.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/options/mongocrypt_options.go
new file mode 100644
index 0000000000000000000000000000000000000000..abaf260d7969d3cb28b56191751814d3fc9645cb
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/options/mongocrypt_options.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/state.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/state.go
new file mode 100644
index 0000000000000000000000000000000000000000..c745088bdbd9c2ee1ebb9d6dc0baef18847a243c
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/mongocrypt/state.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/ocsp/cache.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/ocsp/cache.go
new file mode 100644
index 0000000000000000000000000000000000000000..97c9b4ac05c78094c951b572494ceed9b44f2f34
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/ocsp/cache.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/ocsp/config.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/ocsp/config.go
new file mode 100644
index 0000000000000000000000000000000000000000..bee44fa57b77886564f2d8acdf28a08d453fbfed
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/ocsp/config.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/ocsp/ocsp.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/ocsp/ocsp.go
new file mode 100644
index 0000000000000000000000000000000000000000..764dcb4399c76dce83fd8d190ff5defcd63198d9
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/ocsp/ocsp.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/ocsp/options.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/ocsp/options.go
new file mode 100644
index 0000000000000000000000000000000000000000..feaea5c29bb4cb9ad75e7fff48038ecc7958df3d
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/ocsp/options.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation.go
new file mode 100644
index 0000000000000000000000000000000000000000..56c10c4476aebf936e4daf6121fcef0c5e45cbc6
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/abort_transaction.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/abort_transaction.go
new file mode 100644
index 0000000000000000000000000000000000000000..e8cf3b766c91260d84d96253856e3f8c246e70da
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/abort_transaction.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/aggregate.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/aggregate.go
new file mode 100644
index 0000000000000000000000000000000000000000..9163fb7cae8a11019531b5fe59ec59d4f7554687
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/aggregate.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/command.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/command.go
new file mode 100644
index 0000000000000000000000000000000000000000..27d027297645d27799b2bbe1e5db2bb07a75d0d7
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/command.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/commit_transaction.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/commit_transaction.go
new file mode 100644
index 0000000000000000000000000000000000000000..7be5c7cb3d31a32bc359b7e5e95f08aca7fb1235
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/commit_transaction.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/count.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/count.go
new file mode 100644
index 0000000000000000000000000000000000000000..8266fa5915dad17ff03418b5835b7994fd1af756
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/count.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/create.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/create.go
new file mode 100644
index 0000000000000000000000000000000000000000..9a8b8bfccdb00c07c6dbe3ee3a245e6c88ed700a
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/create.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/createIndexes.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/createIndexes.go
new file mode 100644
index 0000000000000000000000000000000000000000..b9ceefe0845831fe96c874ce65a916c40efa8484
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/createIndexes.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/delete.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/delete.go
new file mode 100644
index 0000000000000000000000000000000000000000..33976348ce3abe9b3e5f04ccc811d53558a0dc39
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/delete.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/distinct.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/distinct.go
new file mode 100644
index 0000000000000000000000000000000000000000..0ac804af30c74495bda037863cc8918ca13a84a6
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/distinct.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/drop_collection.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/drop_collection.go
new file mode 100644
index 0000000000000000000000000000000000000000..9f8f8c5208f733b9fc51afa6885252cde4144d08
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/drop_collection.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/drop_database.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/drop_database.go
new file mode 100644
index 0000000000000000000000000000000000000000..f2dc4ed70a24997dafcab2f4b5086bfe8d628339
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/drop_database.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/drop_indexes.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/drop_indexes.go
new file mode 100644
index 0000000000000000000000000000000000000000..51aedc1cb766839b5243712a69466dd52b8fdb98
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/drop_indexes.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/end_sessions.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/end_sessions.go
new file mode 100644
index 0000000000000000000000000000000000000000..0580c0ada34c4f26f1e21e59b5b10bf69db045d0
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/end_sessions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/errors.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/errors.go
new file mode 100644
index 0000000000000000000000000000000000000000..d13a135cef603759c5ae1ea303d2b4767e6e3f16
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/errors.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/find.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/find.go
new file mode 100644
index 0000000000000000000000000000000000000000..4d23d4943409caad0d42729cd6fcd0a9bcf16cb1
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/find.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/find_and_modify.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/find_and_modify.go
new file mode 100644
index 0000000000000000000000000000000000000000..656d56a854d6d192fae31fbbb242b646049fdec1
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/find_and_modify.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/hello.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/hello.go
new file mode 100644
index 0000000000000000000000000000000000000000..d222ada93d33729d4ca0edac6115d59fc14401d0
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/hello.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/insert.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/insert.go
new file mode 100644
index 0000000000000000000000000000000000000000..d422ba59d6b16a4d4d928e609cb44b7080e06d13
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/insert.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/listDatabases.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/listDatabases.go
new file mode 100644
index 0000000000000000000000000000000000000000..d6b31e32a4adeba57fa9eaf0f61f1a6ed907b84f
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/listDatabases.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/list_collections.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/list_collections.go
new file mode 100644
index 0000000000000000000000000000000000000000..6c98a670a7bd9efbb753df8df0de303caa829e5d
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/list_collections.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/list_indexes.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/list_indexes.go
new file mode 100644
index 0000000000000000000000000000000000000000..99bc45b2344810575b4c319c91d8ddbd85aaef48
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/list_indexes.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/update.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/update.go
new file mode 100644
index 0000000000000000000000000000000000000000..3f22fc06f643c736e96c81b9f20ad1b3918c8018
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation/update.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation_exhaust.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation_exhaust.go
new file mode 100644
index 0000000000000000000000000000000000000000..eb15dc95e61c385d711c10e8b7b2917e6ee55f37
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation_exhaust.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation_legacy.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation_legacy.go
new file mode 100644
index 0000000000000000000000000000000000000000..2584f484add1cc5f1970230b8295f82f48b9089c
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/operation_legacy.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/serverapioptions.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/serverapioptions.go
new file mode 100644
index 0000000000000000000000000000000000000000..a033cf12699290f9be197a5e4a5c2a6ed462294f
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/serverapioptions.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/client_session.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/client_session.go
new file mode 100644
index 0000000000000000000000000000000000000000..3449c85e9f8bd6d874a669f5244fbc81152edc5f
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/client_session.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/cluster_clock.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/cluster_clock.go
new file mode 100644
index 0000000000000000000000000000000000000000..961f2274e2fa3799ad34a481ca3c343c7a16ca19
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/cluster_clock.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/options.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/options.go
new file mode 100644
index 0000000000000000000000000000000000000000..ee7c301d649a8612f518edba984b0e75aaca2418
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/options.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/server_session.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/server_session.go
new file mode 100644
index 0000000000000000000000000000000000000000..54152ea0f83271156aa3bac1149311528ff88698
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/server_session.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/session_pool.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/session_pool.go
new file mode 100644
index 0000000000000000000000000000000000000000..27db7c476fd820010abde3845baff5b4f3de6bfe
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/session_pool.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/DESIGN.md b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/DESIGN.md
new file mode 100644
index 0000000000000000000000000000000000000000..6594a85d0835112582a0d9049cff43125d6b3ec6
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/DESIGN.md differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/cancellation_listener.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/cancellation_listener.go
new file mode 100644
index 0000000000000000000000000000000000000000..caca988057a8756f37242f31e49d7b3293d4751d
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/cancellation_listener.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection.go
new file mode 100644
index 0000000000000000000000000000000000000000..732be09bd06bab5b1c852395ddc8bedb2108b744
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection_legacy.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection_legacy.go
new file mode 100644
index 0000000000000000000000000000000000000000..18f8a87cb9ac71f1df15f450796b8e42ba62059d
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection_legacy.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection_options.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection_options.go
new file mode 100644
index 0000000000000000000000000000000000000000..9c6ce05caba0a1d9e87bd66d2cbe4c0732997a50
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/connection_options.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/diff.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/diff.go
new file mode 100644
index 0000000000000000000000000000000000000000..b9bf2c14c747c7ef6719901ac0013d37fab9e47e
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/diff.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/errors.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/errors.go
new file mode 100644
index 0000000000000000000000000000000000000000..cf0778bdf9b248cf1b80b59551ee1eae3e725d44
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/errors.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/fsm.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/fsm.go
new file mode 100644
index 0000000000000000000000000000000000000000..004eb21e86460b9ea10a0240b72c38c862bfacbc
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/fsm.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/pool.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/pool.go
new file mode 100644
index 0000000000000000000000000000000000000000..a652594b0c16e44dfb93fca3933181540dfb3549
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/pool.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/pool_generation_counter.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/pool_generation_counter.go
new file mode 100644
index 0000000000000000000000000000000000000000..e32f0b8e7d7e59b9afe5d4014f176265b6356d10
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/pool_generation_counter.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/rtt_monitor.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/rtt_monitor.go
new file mode 100644
index 0000000000000000000000000000000000000000..c7963bbfd17ad920a66b19b3c1f9d3398a98e02f
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/rtt_monitor.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/server.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/server.go
new file mode 100644
index 0000000000000000000000000000000000000000..28453460ddfd6611bc5eb719c57847f786f4429e
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/server.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/server_options.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/server_options.go
new file mode 100644
index 0000000000000000000000000000000000000000..37258aaf7b1ac38a7670128c61943b10f83a3f73
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/server_options.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/tls_connection_source.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/tls_connection_source.go
new file mode 100644
index 0000000000000000000000000000000000000000..718a9abbde1785d3d6a2546e1ea88d272636e09b
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/tls_connection_source.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/topology.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/topology.go
new file mode 100644
index 0000000000000000000000000000000000000000..0f3ccdfd3d655dd40fe9fb09bc7cf7cb7efb1d5b
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/topology.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/topology_options.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/topology_options.go
new file mode 100644
index 0000000000000000000000000000000000000000..aca85b0b5cf1ef9b1071a7b6d92acb70731acbbf
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/topology_options.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/uuid/uuid.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/uuid/uuid.go
new file mode 100644
index 0000000000000000000000000000000000000000..50d2634472ff70bb9f55b6a58b607f7ef49801ac
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/uuid/uuid.go differ
diff --git a/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/wiremessage/wiremessage.go b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/wiremessage/wiremessage.go
new file mode 100644
index 0000000000000000000000000000000000000000..abf9ad1c37a76e5988b191be35a57efd8a62e6ce
Binary files /dev/null and b/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/wiremessage/wiremessage.go differ
diff --git a/vendor/golang.org/x/crypto/AUTHORS b/vendor/golang.org/x/crypto/AUTHORS
new file mode 100644
index 0000000000000000000000000000000000000000..2b00ddba0dfee1022198444c16670d443840ef86
Binary files /dev/null and b/vendor/golang.org/x/crypto/AUTHORS differ
diff --git a/vendor/golang.org/x/crypto/CONTRIBUTORS b/vendor/golang.org/x/crypto/CONTRIBUTORS
new file mode 100644
index 0000000000000000000000000000000000000000..1fbd3e976faf5af5bbd1d8268a70399234969ae4
Binary files /dev/null and b/vendor/golang.org/x/crypto/CONTRIBUTORS differ
diff --git a/vendor/golang.org/x/crypto/LICENSE b/vendor/golang.org/x/crypto/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..6a66aea5eafe0ca6a688840c47219556c552488e
Binary files /dev/null and b/vendor/golang.org/x/crypto/LICENSE differ
diff --git a/vendor/golang.org/x/crypto/PATENTS b/vendor/golang.org/x/crypto/PATENTS
new file mode 100644
index 0000000000000000000000000000000000000000..733099041f84fa1e58611ab2e11af51c1f26d1d2
Binary files /dev/null and b/vendor/golang.org/x/crypto/PATENTS differ
diff --git a/vendor/golang.org/x/crypto/ocsp/ocsp.go b/vendor/golang.org/x/crypto/ocsp/ocsp.go
new file mode 100644
index 0000000000000000000000000000000000000000..9d3fffa8fedd0a85837a54c6b4cd7dcd98ee804a
Binary files /dev/null and b/vendor/golang.org/x/crypto/ocsp/ocsp.go differ
diff --git a/vendor/golang.org/x/crypto/pbkdf2/pbkdf2.go b/vendor/golang.org/x/crypto/pbkdf2/pbkdf2.go
new file mode 100644
index 0000000000000000000000000000000000000000..593f6530084f246495fc42f2ce6d59a2bccb4c17
Binary files /dev/null and b/vendor/golang.org/x/crypto/pbkdf2/pbkdf2.go differ
diff --git a/vendor/golang.org/x/text/AUTHORS b/vendor/golang.org/x/text/AUTHORS
new file mode 100644
index 0000000000000000000000000000000000000000..15167cd746c560e5b3d3b233a169aa64d3e9101e
Binary files /dev/null and b/vendor/golang.org/x/text/AUTHORS differ
diff --git a/vendor/golang.org/x/text/CONTRIBUTORS b/vendor/golang.org/x/text/CONTRIBUTORS
new file mode 100644
index 0000000000000000000000000000000000000000..1c4577e9680611383f46044d17fa343a96997c3c
Binary files /dev/null and b/vendor/golang.org/x/text/CONTRIBUTORS differ
diff --git a/vendor/golang.org/x/text/LICENSE b/vendor/golang.org/x/text/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..6a66aea5eafe0ca6a688840c47219556c552488e
Binary files /dev/null and b/vendor/golang.org/x/text/LICENSE differ
diff --git a/vendor/golang.org/x/text/PATENTS b/vendor/golang.org/x/text/PATENTS
new file mode 100644
index 0000000000000000000000000000000000000000..733099041f84fa1e58611ab2e11af51c1f26d1d2
Binary files /dev/null and b/vendor/golang.org/x/text/PATENTS differ
diff --git a/vendor/golang.org/x/text/transform/transform.go b/vendor/golang.org/x/text/transform/transform.go
new file mode 100644
index 0000000000000000000000000000000000000000..48ec64b40ca6a7f4f64edf86724b7aa668129cbe
Binary files /dev/null and b/vendor/golang.org/x/text/transform/transform.go differ
diff --git a/vendor/golang.org/x/text/unicode/norm/composition.go b/vendor/golang.org/x/text/unicode/norm/composition.go
new file mode 100644
index 0000000000000000000000000000000000000000..e2087bce52771ac4fc906f1afa9d27efecbac975
Binary files /dev/null and b/vendor/golang.org/x/text/unicode/norm/composition.go differ
diff --git a/vendor/golang.org/x/text/unicode/norm/forminfo.go b/vendor/golang.org/x/text/unicode/norm/forminfo.go
new file mode 100644
index 0000000000000000000000000000000000000000..526c7033ac464cc1fe840feac6bb84d81917514c
Binary files /dev/null and b/vendor/golang.org/x/text/unicode/norm/forminfo.go differ
diff --git a/vendor/golang.org/x/text/unicode/norm/input.go b/vendor/golang.org/x/text/unicode/norm/input.go
new file mode 100644
index 0000000000000000000000000000000000000000..479e35bc2585b332a9a8806d49cb198d1f2b8576
Binary files /dev/null and b/vendor/golang.org/x/text/unicode/norm/input.go differ
diff --git a/vendor/golang.org/x/text/unicode/norm/iter.go b/vendor/golang.org/x/text/unicode/norm/iter.go
new file mode 100644
index 0000000000000000000000000000000000000000..417c6b26894da4d3fa68883b6d049fa7a399c569
Binary files /dev/null and b/vendor/golang.org/x/text/unicode/norm/iter.go differ
diff --git a/vendor/golang.org/x/text/unicode/norm/normalize.go b/vendor/golang.org/x/text/unicode/norm/normalize.go
new file mode 100644
index 0000000000000000000000000000000000000000..95efcf26e81d7ab5608a42dddaa6b331200c8fbd
Binary files /dev/null and b/vendor/golang.org/x/text/unicode/norm/normalize.go differ
diff --git a/vendor/golang.org/x/text/unicode/norm/readwriter.go b/vendor/golang.org/x/text/unicode/norm/readwriter.go
new file mode 100644
index 0000000000000000000000000000000000000000..b38096f5ca92b71382283f45701ce53cfecc195c
Binary files /dev/null and b/vendor/golang.org/x/text/unicode/norm/readwriter.go differ
diff --git a/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go
new file mode 100644
index 0000000000000000000000000000000000000000..f5a0788277ffd15f6b820905e3cca0f89746049e
Binary files /dev/null and b/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go differ
diff --git a/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go
new file mode 100644
index 0000000000000000000000000000000000000000..cb7239c4377d47eb325ad8443b66384526e0ffd1
Binary files /dev/null and b/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go differ
diff --git a/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go
new file mode 100644
index 0000000000000000000000000000000000000000..11b27330017d823b3971c6bbba612b106283e0a1
Binary files /dev/null and b/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go differ
diff --git a/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go
new file mode 100644
index 0000000000000000000000000000000000000000..96a130d30e9e2085a6ec6fbeb99c699b31070d50
Binary files /dev/null and b/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go differ
diff --git a/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go
new file mode 100644
index 0000000000000000000000000000000000000000..0175eae50aa68e064d309cfef981dab0e7daec96
Binary files /dev/null and b/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go differ
diff --git a/vendor/golang.org/x/text/unicode/norm/transform.go b/vendor/golang.org/x/text/unicode/norm/transform.go
new file mode 100644
index 0000000000000000000000000000000000000000..a1d366ae48720ac93c9ba27df82e271d3bd37d7f
Binary files /dev/null and b/vendor/golang.org/x/text/unicode/norm/transform.go differ
diff --git a/vendor/golang.org/x/text/unicode/norm/trie.go b/vendor/golang.org/x/text/unicode/norm/trie.go
new file mode 100644
index 0000000000000000000000000000000000000000..423386bf4369fde49e041a0b0a88ca9578664648
Binary files /dev/null and b/vendor/golang.org/x/text/unicode/norm/trie.go differ
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 197bd07259f73b0a635a14ab3f9e1645a62c5015..7e675d11d423b11bc6b7fe469edc633414a26d2f 100644
Binary files a/vendor/modules.txt and b/vendor/modules.txt differ