diff --git a/gen/Proto/Collector.hs b/gen/Proto/Collector.hs
--- a/gen/Proto/Collector.hs
+++ b/gen/Proto/Collector.hs
@@ -1,3433 +1,4270 @@
 {- This file was auto-generated from collector.proto by the proto-lens-protoc program. -}
-{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,
-  UndecidableInstances, GeneralizedNewtypeDeriving,
-  MultiParamTypeClasses, FlexibleContexts, FlexibleInstances,
-  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds,
-  BangPatterns, TypeApplications #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports#-}
-{-# OPTIONS_GHC -fno-warn-duplicate-exports#-}
-module Proto.Collector
-       (CollectorService(..), Auth(), Command(), InternalMetrics(),
-        KeyValue(), KeyValue'Value(..), _KeyValue'StringValue,
-        _KeyValue'IntValue, _KeyValue'DoubleValue, _KeyValue'BoolValue,
-        _KeyValue'JsonValue, Log(), MetricsSample(),
-        MetricsSample'Value(..), _MetricsSample'IntValue,
-        _MetricsSample'DoubleValue, Reference(),
-        Reference'Relationship(..), Reference'Relationship(),
-        Reference'Relationship'UnrecognizedValue, ReportRequest(),
-        ReportResponse(), Reporter(), Span(), SpanContext(),
-        SpanContext'BaggageEntry())
-       where
-import qualified Data.ProtoLens.Runtime.Control.DeepSeq
-       as Control.DeepSeq
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Prism
-       as Data.ProtoLens.Prism
-import qualified Data.ProtoLens.Runtime.Prelude as Prelude
-import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int
-import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid
-import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens
-       as Data.ProtoLens
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes
-       as Data.ProtoLens.Encoding.Bytes
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing
-       as Data.ProtoLens.Encoding.Growing
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe
-       as Data.ProtoLens.Encoding.Parser.Unsafe
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire
-       as Data.ProtoLens.Encoding.Wire
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field
-       as Data.ProtoLens.Field
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum
-       as Data.ProtoLens.Message.Enum
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types
-       as Data.ProtoLens.Service.Types
-import qualified Data.ProtoLens.Runtime.Lens.Family2
-       as Lens.Family2
-import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked
-       as Lens.Family2.Unchecked
-import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text
-import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map
-import qualified Data.ProtoLens.Runtime.Data.ByteString
-       as Data.ByteString
-import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8
-       as Data.ByteString.Char8
-import qualified Data.ProtoLens.Runtime.Data.Text.Encoding
-       as Data.Text.Encoding
-import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector
-import qualified Data.ProtoLens.Runtime.Data.Vector.Generic
-       as Data.Vector.Generic
-import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed
-       as Data.Vector.Unboxed
-import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read
-import qualified Proto.Google.Api.Annotations
-import qualified Proto.Google.Protobuf.Timestamp
-
-{- | Fields :
-
-    * 'Proto.Collector_Fields.accessToken' @:: Lens' Auth Data.Text.Text@
- -}
-data Auth = Auth{_Auth'accessToken :: !Data.Text.Text,
-                 _Auth'_unknownFields :: !Data.ProtoLens.FieldSet}
-              deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show Auth where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField Auth "accessToken"
-           (Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Auth'accessToken
-               (\ x__ y__ -> x__{_Auth'accessToken = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Message Auth where
-        messageName _ = Data.Text.pack "lightstep.collector.Auth"
-        fieldsByTag
-          = let accessToken__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "access_token"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Data.ProtoLens.Field.field @"accessToken"))
-                      :: Data.ProtoLens.FieldDescriptor Auth
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, accessToken__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _Auth'_unknownFields
-              (\ x__ y__ -> x__{_Auth'_unknownFields = y__})
-        defMessage
-          = Auth{_Auth'accessToken = Data.ProtoLens.fieldDefault,
-                 _Auth'_unknownFields = ([])}
-        parseMessage
-          = let loop :: Auth -> Data.ProtoLens.Encoding.Bytes.Parser Auth
-                loop x
-                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-                       if end then
-                         do let missing = [] in
-                              if Prelude.null missing then Prelude.return () else
-                                Prelude.fail
-                                  (("Missing required fields: ") Prelude.++
-                                     Prelude.show (missing :: ([Prelude.String])))
-                            Prelude.return
-                              (Lens.Family2.over Data.ProtoLens.unknownFields
-                                 (\ !t -> Prelude.reverse t)
-                                 x)
-                         else
-                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                            case tag of
-                                10 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                              Data.ProtoLens.Encoding.Bytes.getBytes
-                                                                (Prelude.fromIntegral len)
-                                                  Data.ProtoLens.Encoding.Bytes.runEither
-                                                    (case Data.Text.Encoding.decodeUtf8' value of
-                                                         Prelude.Left err -> Prelude.Left
-                                                                               (Prelude.show err)
-                                                         Prelude.Right r -> Prelude.Right r))
-                                                Data.ProtoLens.Encoding.Bytes.<?> "access_token"
-                                         loop
-                                           (Lens.Family2.set
-                                              (Data.ProtoLens.Field.field @"accessToken")
-                                              y
-                                              x)
-                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                                   wire
-                                           loop
-                                             (Lens.Family2.over Data.ProtoLens.unknownFields
-                                                (\ !t -> (:) y t)
-                                                x)
-              in
-              (do loop Data.ProtoLens.defMessage)
-                Data.ProtoLens.Encoding.Bytes.<?> "Auth"
-        buildMessage
-          = (\ _x ->
-               (let _v
-                      = Lens.Family2.view (Data.ProtoLens.Field.field @"accessToken") _x
-                  in
-                  if (_v) Prelude.== Data.ProtoLens.fieldDefault then
-                    Data.Monoid.mempty else
-                    (Data.ProtoLens.Encoding.Bytes.putVarInt 10) Data.Monoid.<>
-                      (((\ bs ->
-                           (Data.ProtoLens.Encoding.Bytes.putVarInt
-                              (Prelude.fromIntegral (Data.ByteString.length bs)))
-                             Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                         Prelude.. Data.Text.Encoding.encodeUtf8)
-                        _v)
-                 Data.Monoid.<>
-                 Data.ProtoLens.Encoding.Wire.buildFieldSet
-                   (Lens.Family2.view Data.ProtoLens.unknownFields _x))
-instance Control.DeepSeq.NFData Auth where
-        rnf
-          = (\ x__ ->
-               Control.DeepSeq.deepseq (_Auth'_unknownFields x__)
-                 (Control.DeepSeq.deepseq (_Auth'accessToken x__) (())))
-{- | Fields :
-
-    * 'Proto.Collector_Fields.disable' @:: Lens' Command Prelude.Bool@
-    * 'Proto.Collector_Fields.devMode' @:: Lens' Command Prelude.Bool@
- -}
-data Command = Command{_Command'disable :: !Prelude.Bool,
-                       _Command'devMode :: !Prelude.Bool,
-                       _Command'_unknownFields :: !Data.ProtoLens.FieldSet}
-                 deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show Command where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField Command "disable"
-           (Prelude.Bool)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Command'disable
-               (\ x__ y__ -> x__{_Command'disable = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField Command "devMode"
-           (Prelude.Bool)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Command'devMode
-               (\ x__ y__ -> x__{_Command'devMode = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Message Command where
-        messageName _ = Data.Text.pack "lightstep.collector.Command"
-        fieldsByTag
-          = let disable__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "disable"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Data.ProtoLens.Field.field @"disable"))
-                      :: Data.ProtoLens.FieldDescriptor Command
-                devMode__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "dev_mode"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Data.ProtoLens.Field.field @"devMode"))
-                      :: Data.ProtoLens.FieldDescriptor Command
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, disable__field_descriptor),
-                 (Data.ProtoLens.Tag 2, devMode__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _Command'_unknownFields
-              (\ x__ y__ -> x__{_Command'_unknownFields = y__})
-        defMessage
-          = Command{_Command'disable = Data.ProtoLens.fieldDefault,
-                    _Command'devMode = Data.ProtoLens.fieldDefault,
-                    _Command'_unknownFields = ([])}
-        parseMessage
-          = let loop ::
-                     Command -> Data.ProtoLens.Encoding.Bytes.Parser Command
-                loop x
-                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-                       if end then
-                         do let missing = [] in
-                              if Prelude.null missing then Prelude.return () else
-                                Prelude.fail
-                                  (("Missing required fields: ") Prelude.++
-                                     Prelude.show (missing :: ([Prelude.String])))
-                            Prelude.return
-                              (Lens.Family2.over Data.ProtoLens.unknownFields
-                                 (\ !t -> Prelude.reverse t)
-                                 x)
-                         else
-                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                            case tag of
-                                8 -> do y <- (Prelude.fmap ((Prelude./=) 0)
-                                                Data.ProtoLens.Encoding.Bytes.getVarInt)
-                                               Data.ProtoLens.Encoding.Bytes.<?> "disable"
-                                        loop
-                                          (Lens.Family2.set (Data.ProtoLens.Field.field @"disable")
-                                             y
-                                             x)
-                                16 -> do y <- (Prelude.fmap ((Prelude./=) 0)
-                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
-                                                Data.ProtoLens.Encoding.Bytes.<?> "dev_mode"
-                                         loop
-                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"devMode")
-                                              y
-                                              x)
-                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                                   wire
-                                           loop
-                                             (Lens.Family2.over Data.ProtoLens.unknownFields
-                                                (\ !t -> (:) y t)
-                                                x)
-              in
-              (do loop Data.ProtoLens.defMessage)
-                Data.ProtoLens.Encoding.Bytes.<?> "Command"
-        buildMessage
-          = (\ _x ->
-               (let _v
-                      = Lens.Family2.view (Data.ProtoLens.Field.field @"disable") _x
-                  in
-                  if (_v) Prelude.== Data.ProtoLens.fieldDefault then
-                    Data.Monoid.mempty else
-                    (Data.ProtoLens.Encoding.Bytes.putVarInt 8) Data.Monoid.<>
-                      ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
-                         (\ b -> if b then 1 else 0))
-                        _v)
-                 Data.Monoid.<>
-                 (let _v
-                        = Lens.Family2.view (Data.ProtoLens.Field.field @"devMode") _x
-                    in
-                    if (_v) Prelude.== Data.ProtoLens.fieldDefault then
-                      Data.Monoid.mempty else
-                      (Data.ProtoLens.Encoding.Bytes.putVarInt 16) Data.Monoid.<>
-                        ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
-                           (\ b -> if b then 1 else 0))
-                          _v)
-                   Data.Monoid.<>
-                   Data.ProtoLens.Encoding.Wire.buildFieldSet
-                     (Lens.Family2.view Data.ProtoLens.unknownFields _x))
-instance Control.DeepSeq.NFData Command where
-        rnf
-          = (\ x__ ->
-               Control.DeepSeq.deepseq (_Command'_unknownFields x__)
-                 (Control.DeepSeq.deepseq (_Command'disable x__)
-                    (Control.DeepSeq.deepseq (_Command'devMode x__) (()))))
-{- | Fields :
-
-    * 'Proto.Collector_Fields.startTimestamp' @:: Lens' InternalMetrics Proto.Google.Protobuf.Timestamp.Timestamp@
-    * 'Proto.Collector_Fields.maybe'startTimestamp' @:: Lens' InternalMetrics
-  (Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp)@
-    * 'Proto.Collector_Fields.durationMicros' @:: Lens' InternalMetrics Data.Word.Word64@
-    * 'Proto.Collector_Fields.logs' @:: Lens' InternalMetrics [Log]@
-    * 'Proto.Collector_Fields.vec'logs' @:: Lens' InternalMetrics (Data.Vector.Vector Log)@
-    * 'Proto.Collector_Fields.counts' @:: Lens' InternalMetrics [MetricsSample]@
-    * 'Proto.Collector_Fields.vec'counts' @:: Lens' InternalMetrics (Data.Vector.Vector MetricsSample)@
-    * 'Proto.Collector_Fields.gauges' @:: Lens' InternalMetrics [MetricsSample]@
-    * 'Proto.Collector_Fields.vec'gauges' @:: Lens' InternalMetrics (Data.Vector.Vector MetricsSample)@
- -}
-data InternalMetrics = InternalMetrics{_InternalMetrics'startTimestamp
-                                       ::
-                                       !(Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp),
-                                       _InternalMetrics'durationMicros :: !Data.Word.Word64,
-                                       _InternalMetrics'logs :: !(Data.Vector.Vector Log),
-                                       _InternalMetrics'counts ::
-                                       !(Data.Vector.Vector MetricsSample),
-                                       _InternalMetrics'gauges ::
-                                       !(Data.Vector.Vector MetricsSample),
-                                       _InternalMetrics'_unknownFields :: !Data.ProtoLens.FieldSet}
-                         deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show InternalMetrics where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField InternalMetrics
-           "startTimestamp"
-           (Proto.Google.Protobuf.Timestamp.Timestamp)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _InternalMetrics'startTimestamp
-               (\ x__ y__ -> x__{_InternalMetrics'startTimestamp = y__}))
-              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.defMessage
-instance Data.ProtoLens.Field.HasField InternalMetrics
-           "maybe'startTimestamp"
-           (Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _InternalMetrics'startTimestamp
-               (\ x__ y__ -> x__{_InternalMetrics'startTimestamp = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField InternalMetrics
-           "durationMicros"
-           (Data.Word.Word64)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _InternalMetrics'durationMicros
-               (\ x__ y__ -> x__{_InternalMetrics'durationMicros = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField InternalMetrics "logs"
-           ([Log])
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _InternalMetrics'logs
-               (\ x__ y__ -> x__{_InternalMetrics'logs = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
-                (\ _ y__ -> Data.Vector.Generic.fromList y__)
-instance Data.ProtoLens.Field.HasField InternalMetrics "vec'logs"
-           (Data.Vector.Vector Log)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _InternalMetrics'logs
-               (\ x__ y__ -> x__{_InternalMetrics'logs = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField InternalMetrics "counts"
-           ([MetricsSample])
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _InternalMetrics'counts
-               (\ x__ y__ -> x__{_InternalMetrics'counts = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
-                (\ _ y__ -> Data.Vector.Generic.fromList y__)
-instance Data.ProtoLens.Field.HasField InternalMetrics "vec'counts"
-           (Data.Vector.Vector MetricsSample)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _InternalMetrics'counts
-               (\ x__ y__ -> x__{_InternalMetrics'counts = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField InternalMetrics "gauges"
-           ([MetricsSample])
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _InternalMetrics'gauges
-               (\ x__ y__ -> x__{_InternalMetrics'gauges = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
-                (\ _ y__ -> Data.Vector.Generic.fromList y__)
-instance Data.ProtoLens.Field.HasField InternalMetrics "vec'gauges"
-           (Data.Vector.Vector MetricsSample)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _InternalMetrics'gauges
-               (\ x__ y__ -> x__{_InternalMetrics'gauges = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Message InternalMetrics where
-        messageName _
-          = Data.Text.pack "lightstep.collector.InternalMetrics"
-        fieldsByTag
-          = let startTimestamp__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "start_timestamp"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor
-                           Proto.Google.Protobuf.Timestamp.Timestamp)
-                      (Data.ProtoLens.OptionalField
-                         (Data.ProtoLens.Field.field @"maybe'startTimestamp"))
-                      :: Data.ProtoLens.FieldDescriptor InternalMetrics
-                durationMicros__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "duration_micros"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Data.ProtoLens.Field.field @"durationMicros"))
-                      :: Data.ProtoLens.FieldDescriptor InternalMetrics
-                logs__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "logs"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor Log)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Data.ProtoLens.Field.field @"logs"))
-                      :: Data.ProtoLens.FieldDescriptor InternalMetrics
-                counts__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "counts"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor MetricsSample)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Data.ProtoLens.Field.field @"counts"))
-                      :: Data.ProtoLens.FieldDescriptor InternalMetrics
-                gauges__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "gauges"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor MetricsSample)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Data.ProtoLens.Field.field @"gauges"))
-                      :: Data.ProtoLens.FieldDescriptor InternalMetrics
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, startTimestamp__field_descriptor),
-                 (Data.ProtoLens.Tag 2, durationMicros__field_descriptor),
-                 (Data.ProtoLens.Tag 3, logs__field_descriptor),
-                 (Data.ProtoLens.Tag 4, counts__field_descriptor),
-                 (Data.ProtoLens.Tag 5, gauges__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _InternalMetrics'_unknownFields
-              (\ x__ y__ -> x__{_InternalMetrics'_unknownFields = y__})
-        defMessage
-          = InternalMetrics{_InternalMetrics'startTimestamp =
-                              Prelude.Nothing,
-                            _InternalMetrics'durationMicros = Data.ProtoLens.fieldDefault,
-                            _InternalMetrics'logs = Data.Vector.Generic.empty,
-                            _InternalMetrics'counts = Data.Vector.Generic.empty,
-                            _InternalMetrics'gauges = Data.Vector.Generic.empty,
-                            _InternalMetrics'_unknownFields = ([])}
-        parseMessage
-          = let loop ::
-                     InternalMetrics ->
-                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
-                         Data.ProtoLens.Encoding.Growing.RealWorld
-                         MetricsSample
-                         ->
-                         Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
-                           Data.ProtoLens.Encoding.Growing.RealWorld
-                           MetricsSample
-                           ->
-                           Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
-                             Data.ProtoLens.Encoding.Growing.RealWorld
-                             Log
-                             -> Data.ProtoLens.Encoding.Bytes.Parser InternalMetrics
-                loop x mutable'counts mutable'gauges mutable'logs
-                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-                       if end then
-                         do frozen'counts <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                               (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                  mutable'counts)
-                            frozen'gauges <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                               (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                  mutable'gauges)
-                            frozen'logs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                mutable'logs)
-                            let missing = [] in
-                              if Prelude.null missing then Prelude.return () else
-                                Prelude.fail
-                                  (("Missing required fields: ") Prelude.++
-                                     Prelude.show (missing :: ([Prelude.String])))
-                            Prelude.return
-                              (Lens.Family2.over Data.ProtoLens.unknownFields
-                                 (\ !t -> Prelude.reverse t)
-                                 (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'counts")
-                                    frozen'counts
-                                    (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'gauges")
-                                       frozen'gauges
-                                       (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'logs")
-                                          frozen'logs
-                                          x))))
-                         else
-                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                            case tag of
-                                10 -> do y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                  Data.ProtoLens.Encoding.Bytes.isolate
-                                                    (Prelude.fromIntegral len)
-                                                    Data.ProtoLens.parseMessage)
-                                                Data.ProtoLens.Encoding.Bytes.<?> "start_timestamp"
-                                         loop
-                                           (Lens.Family2.set
-                                              (Data.ProtoLens.Field.field @"startTimestamp")
-                                              y
-                                              x)
-                                           mutable'counts
-                                           mutable'gauges
-                                           mutable'logs
-                                16 -> do y <- (Data.ProtoLens.Encoding.Bytes.getVarInt)
-                                                Data.ProtoLens.Encoding.Bytes.<?> "duration_micros"
-                                         loop
-                                           (Lens.Family2.set
-                                              (Data.ProtoLens.Field.field @"durationMicros")
-                                              y
-                                              x)
-                                           mutable'counts
-                                           mutable'gauges
-                                           mutable'logs
-                                26 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                   Data.ProtoLens.Encoding.Bytes.isolate
-                                                     (Prelude.fromIntegral len)
-                                                     Data.ProtoLens.parseMessage)
-                                                 Data.ProtoLens.Encoding.Bytes.<?> "logs"
-                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                                (Data.ProtoLens.Encoding.Growing.append mutable'logs
-                                                   y)
-                                         loop x mutable'counts mutable'gauges v
-                                34 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                   Data.ProtoLens.Encoding.Bytes.isolate
-                                                     (Prelude.fromIntegral len)
-                                                     Data.ProtoLens.parseMessage)
-                                                 Data.ProtoLens.Encoding.Bytes.<?> "counts"
-                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                                (Data.ProtoLens.Encoding.Growing.append
-                                                   mutable'counts
-                                                   y)
-                                         loop x v mutable'gauges mutable'logs
-                                42 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                   Data.ProtoLens.Encoding.Bytes.isolate
-                                                     (Prelude.fromIntegral len)
-                                                     Data.ProtoLens.parseMessage)
-                                                 Data.ProtoLens.Encoding.Bytes.<?> "gauges"
-                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                                (Data.ProtoLens.Encoding.Growing.append
-                                                   mutable'gauges
-                                                   y)
-                                         loop x mutable'counts v mutable'logs
-                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                                   wire
-                                           loop
-                                             (Lens.Family2.over Data.ProtoLens.unknownFields
-                                                (\ !t -> (:) y t)
-                                                x)
-                                             mutable'counts
-                                             mutable'gauges
-                                             mutable'logs
-              in
-              (do mutable'counts <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                      Data.ProtoLens.Encoding.Growing.new
-                  mutable'gauges <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                      Data.ProtoLens.Encoding.Growing.new
-                  mutable'logs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                    Data.ProtoLens.Encoding.Growing.new
-                  loop Data.ProtoLens.defMessage mutable'counts mutable'gauges
-                    mutable'logs)
-                Data.ProtoLens.Encoding.Bytes.<?> "InternalMetrics"
-        buildMessage
-          = (\ _x ->
-               (case
-                  Lens.Family2.view
-                    (Data.ProtoLens.Field.field @"maybe'startTimestamp")
-                    _x
-                  of
-                    (Prelude.Nothing) -> Data.Monoid.mempty
-                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
-                                         Data.Monoid.<>
-                                         (((\ bs ->
-                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                                Data.Monoid.<>
-                                                Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                            Prelude.. Data.ProtoLens.encodeMessage)
-                                           _v)
-                 Data.Monoid.<>
-                 (let _v
-                        = Lens.Family2.view (Data.ProtoLens.Field.field @"durationMicros")
-                            _x
-                    in
-                    if (_v) Prelude.== Data.ProtoLens.fieldDefault then
-                      Data.Monoid.mempty else
-                      (Data.ProtoLens.Encoding.Bytes.putVarInt 16) Data.Monoid.<>
-                        Data.ProtoLens.Encoding.Bytes.putVarInt _v)
-                   Data.Monoid.<>
-                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                      (\ _v ->
-                         (Data.ProtoLens.Encoding.Bytes.putVarInt 26) Data.Monoid.<>
-                           (((\ bs ->
-                                (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                  Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                              Prelude.. Data.ProtoLens.encodeMessage)
-                             _v)
-                      (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'logs") _x))
-                     Data.Monoid.<>
-                     (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                        (\ _v ->
-                           (Data.ProtoLens.Encoding.Bytes.putVarInt 34) Data.Monoid.<>
-                             (((\ bs ->
-                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                    Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                Prelude.. Data.ProtoLens.encodeMessage)
-                               _v)
-                        (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'counts") _x))
-                       Data.Monoid.<>
-                       (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                          (\ _v ->
-                             (Data.ProtoLens.Encoding.Bytes.putVarInt 42) Data.Monoid.<>
-                               (((\ bs ->
-                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                       (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                      Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                  Prelude.. Data.ProtoLens.encodeMessage)
-                                 _v)
-                          (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'gauges") _x))
-                         Data.Monoid.<>
-                         Data.ProtoLens.Encoding.Wire.buildFieldSet
-                           (Lens.Family2.view Data.ProtoLens.unknownFields _x))
-instance Control.DeepSeq.NFData InternalMetrics where
-        rnf
-          = (\ x__ ->
-               Control.DeepSeq.deepseq (_InternalMetrics'_unknownFields x__)
-                 (Control.DeepSeq.deepseq (_InternalMetrics'startTimestamp x__)
-                    (Control.DeepSeq.deepseq (_InternalMetrics'durationMicros x__)
-                       (Control.DeepSeq.deepseq (_InternalMetrics'logs x__)
-                          (Control.DeepSeq.deepseq (_InternalMetrics'counts x__)
-                             (Control.DeepSeq.deepseq (_InternalMetrics'gauges x__) (())))))))
-{- | Fields :
-
-    * 'Proto.Collector_Fields.key' @:: Lens' KeyValue Data.Text.Text@
-    * 'Proto.Collector_Fields.maybe'value' @:: Lens' KeyValue (Prelude.Maybe KeyValue'Value)@
-    * 'Proto.Collector_Fields.maybe'stringValue' @:: Lens' KeyValue (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Collector_Fields.stringValue' @:: Lens' KeyValue Data.Text.Text@
-    * 'Proto.Collector_Fields.maybe'intValue' @:: Lens' KeyValue (Prelude.Maybe Data.Int.Int64)@
-    * 'Proto.Collector_Fields.intValue' @:: Lens' KeyValue Data.Int.Int64@
-    * 'Proto.Collector_Fields.maybe'doubleValue' @:: Lens' KeyValue (Prelude.Maybe Prelude.Double)@
-    * 'Proto.Collector_Fields.doubleValue' @:: Lens' KeyValue Prelude.Double@
-    * 'Proto.Collector_Fields.maybe'boolValue' @:: Lens' KeyValue (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Collector_Fields.boolValue' @:: Lens' KeyValue Prelude.Bool@
-    * 'Proto.Collector_Fields.maybe'jsonValue' @:: Lens' KeyValue (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Collector_Fields.jsonValue' @:: Lens' KeyValue Data.Text.Text@
- -}
-data KeyValue = KeyValue{_KeyValue'key :: !Data.Text.Text,
-                         _KeyValue'value :: !(Prelude.Maybe KeyValue'Value),
-                         _KeyValue'_unknownFields :: !Data.ProtoLens.FieldSet}
-                  deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show KeyValue where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-data KeyValue'Value = KeyValue'StringValue !Data.Text.Text
-                    | KeyValue'IntValue !Data.Int.Int64
-                    | KeyValue'DoubleValue !Prelude.Double
-                    | KeyValue'BoolValue !Prelude.Bool
-                    | KeyValue'JsonValue !Data.Text.Text
-                        deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance Data.ProtoLens.Field.HasField KeyValue "key"
-           (Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _KeyValue'key
-               (\ x__ y__ -> x__{_KeyValue'key = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField KeyValue "maybe'value"
-           (Prelude.Maybe KeyValue'Value)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _KeyValue'value
-               (\ x__ y__ -> x__{_KeyValue'value = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField KeyValue "maybe'stringValue"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _KeyValue'value
-               (\ x__ y__ -> x__{_KeyValue'value = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens
-                (\ x__ ->
-                   case x__ of
-                       Prelude.Just (KeyValue'StringValue x__val) -> Prelude.Just x__val
-                       _otherwise -> Prelude.Nothing)
-                (\ _ y__ -> Prelude.fmap KeyValue'StringValue y__)
-instance Data.ProtoLens.Field.HasField KeyValue "stringValue"
-           (Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _KeyValue'value
-               (\ x__ y__ -> x__{_KeyValue'value = y__}))
-              Prelude..
-              (Lens.Family2.Unchecked.lens
-                 (\ x__ ->
-                    case x__ of
-                        Prelude.Just (KeyValue'StringValue x__val) -> Prelude.Just x__val
-                        _otherwise -> Prelude.Nothing)
-                 (\ _ y__ -> Prelude.fmap KeyValue'StringValue y__))
-                Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
-instance Data.ProtoLens.Field.HasField KeyValue "maybe'intValue"
-           (Prelude.Maybe Data.Int.Int64)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _KeyValue'value
-               (\ x__ y__ -> x__{_KeyValue'value = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens
-                (\ x__ ->
-                   case x__ of
-                       Prelude.Just (KeyValue'IntValue x__val) -> Prelude.Just x__val
-                       _otherwise -> Prelude.Nothing)
-                (\ _ y__ -> Prelude.fmap KeyValue'IntValue y__)
-instance Data.ProtoLens.Field.HasField KeyValue "intValue"
-           (Data.Int.Int64)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _KeyValue'value
-               (\ x__ y__ -> x__{_KeyValue'value = y__}))
-              Prelude..
-              (Lens.Family2.Unchecked.lens
-                 (\ x__ ->
-                    case x__ of
-                        Prelude.Just (KeyValue'IntValue x__val) -> Prelude.Just x__val
-                        _otherwise -> Prelude.Nothing)
-                 (\ _ y__ -> Prelude.fmap KeyValue'IntValue y__))
-                Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
-instance Data.ProtoLens.Field.HasField KeyValue "maybe'doubleValue"
-           (Prelude.Maybe Prelude.Double)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _KeyValue'value
-               (\ x__ y__ -> x__{_KeyValue'value = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens
-                (\ x__ ->
-                   case x__ of
-                       Prelude.Just (KeyValue'DoubleValue x__val) -> Prelude.Just x__val
-                       _otherwise -> Prelude.Nothing)
-                (\ _ y__ -> Prelude.fmap KeyValue'DoubleValue y__)
-instance Data.ProtoLens.Field.HasField KeyValue "doubleValue"
-           (Prelude.Double)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _KeyValue'value
-               (\ x__ y__ -> x__{_KeyValue'value = y__}))
-              Prelude..
-              (Lens.Family2.Unchecked.lens
-                 (\ x__ ->
-                    case x__ of
-                        Prelude.Just (KeyValue'DoubleValue x__val) -> Prelude.Just x__val
-                        _otherwise -> Prelude.Nothing)
-                 (\ _ y__ -> Prelude.fmap KeyValue'DoubleValue y__))
-                Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
-instance Data.ProtoLens.Field.HasField KeyValue "maybe'boolValue"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _KeyValue'value
-               (\ x__ y__ -> x__{_KeyValue'value = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens
-                (\ x__ ->
-                   case x__ of
-                       Prelude.Just (KeyValue'BoolValue x__val) -> Prelude.Just x__val
-                       _otherwise -> Prelude.Nothing)
-                (\ _ y__ -> Prelude.fmap KeyValue'BoolValue y__)
-instance Data.ProtoLens.Field.HasField KeyValue "boolValue"
-           (Prelude.Bool)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _KeyValue'value
-               (\ x__ y__ -> x__{_KeyValue'value = y__}))
-              Prelude..
-              (Lens.Family2.Unchecked.lens
-                 (\ x__ ->
-                    case x__ of
-                        Prelude.Just (KeyValue'BoolValue x__val) -> Prelude.Just x__val
-                        _otherwise -> Prelude.Nothing)
-                 (\ _ y__ -> Prelude.fmap KeyValue'BoolValue y__))
-                Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
-instance Data.ProtoLens.Field.HasField KeyValue "maybe'jsonValue"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _KeyValue'value
-               (\ x__ y__ -> x__{_KeyValue'value = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens
-                (\ x__ ->
-                   case x__ of
-                       Prelude.Just (KeyValue'JsonValue x__val) -> Prelude.Just x__val
-                       _otherwise -> Prelude.Nothing)
-                (\ _ y__ -> Prelude.fmap KeyValue'JsonValue y__)
-instance Data.ProtoLens.Field.HasField KeyValue "jsonValue"
-           (Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _KeyValue'value
-               (\ x__ y__ -> x__{_KeyValue'value = y__}))
-              Prelude..
-              (Lens.Family2.Unchecked.lens
-                 (\ x__ ->
-                    case x__ of
-                        Prelude.Just (KeyValue'JsonValue x__val) -> Prelude.Just x__val
-                        _otherwise -> Prelude.Nothing)
-                 (\ _ y__ -> Prelude.fmap KeyValue'JsonValue y__))
-                Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
-instance Data.ProtoLens.Message KeyValue where
-        messageName _ = Data.Text.pack "lightstep.collector.KeyValue"
-        fieldsByTag
-          = let key__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "key"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Data.ProtoLens.Field.field @"key"))
-                      :: Data.ProtoLens.FieldDescriptor KeyValue
-                stringValue__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "string_value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Data.ProtoLens.Field.field @"maybe'stringValue"))
-                      :: Data.ProtoLens.FieldDescriptor KeyValue
-                intValue__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "int_value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
-                      (Data.ProtoLens.OptionalField
-                         (Data.ProtoLens.Field.field @"maybe'intValue"))
-                      :: Data.ProtoLens.FieldDescriptor KeyValue
-                doubleValue__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "double_value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.DoubleField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Double)
-                      (Data.ProtoLens.OptionalField
-                         (Data.ProtoLens.Field.field @"maybe'doubleValue"))
-                      :: Data.ProtoLens.FieldDescriptor KeyValue
-                boolValue__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "bool_value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Data.ProtoLens.Field.field @"maybe'boolValue"))
-                      :: Data.ProtoLens.FieldDescriptor KeyValue
-                jsonValue__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "json_value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Data.ProtoLens.Field.field @"maybe'jsonValue"))
-                      :: Data.ProtoLens.FieldDescriptor KeyValue
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, key__field_descriptor),
-                 (Data.ProtoLens.Tag 2, stringValue__field_descriptor),
-                 (Data.ProtoLens.Tag 3, intValue__field_descriptor),
-                 (Data.ProtoLens.Tag 4, doubleValue__field_descriptor),
-                 (Data.ProtoLens.Tag 5, boolValue__field_descriptor),
-                 (Data.ProtoLens.Tag 6, jsonValue__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _KeyValue'_unknownFields
-              (\ x__ y__ -> x__{_KeyValue'_unknownFields = y__})
-        defMessage
-          = KeyValue{_KeyValue'key = Data.ProtoLens.fieldDefault,
-                     _KeyValue'value = Prelude.Nothing, _KeyValue'_unknownFields = ([])}
-        parseMessage
-          = let loop ::
-                     KeyValue -> Data.ProtoLens.Encoding.Bytes.Parser KeyValue
-                loop x
-                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-                       if end then
-                         do let missing = [] in
-                              if Prelude.null missing then Prelude.return () else
-                                Prelude.fail
-                                  (("Missing required fields: ") Prelude.++
-                                     Prelude.show (missing :: ([Prelude.String])))
-                            Prelude.return
-                              (Lens.Family2.over Data.ProtoLens.unknownFields
-                                 (\ !t -> Prelude.reverse t)
-                                 x)
-                         else
-                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                            case tag of
-                                10 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                              Data.ProtoLens.Encoding.Bytes.getBytes
-                                                                (Prelude.fromIntegral len)
-                                                  Data.ProtoLens.Encoding.Bytes.runEither
-                                                    (case Data.Text.Encoding.decodeUtf8' value of
-                                                         Prelude.Left err -> Prelude.Left
-                                                                               (Prelude.show err)
-                                                         Prelude.Right r -> Prelude.Right r))
-                                                Data.ProtoLens.Encoding.Bytes.<?> "key"
-                                         loop
-                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"key") y
-                                              x)
-                                18 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                              Data.ProtoLens.Encoding.Bytes.getBytes
-                                                                (Prelude.fromIntegral len)
-                                                  Data.ProtoLens.Encoding.Bytes.runEither
-                                                    (case Data.Text.Encoding.decodeUtf8' value of
-                                                         Prelude.Left err -> Prelude.Left
-                                                                               (Prelude.show err)
-                                                         Prelude.Right r -> Prelude.Right r))
-                                                Data.ProtoLens.Encoding.Bytes.<?> "string_value"
-                                         loop
-                                           (Lens.Family2.set
-                                              (Data.ProtoLens.Field.field @"stringValue")
-                                              y
-                                              x)
-                                24 -> do y <- (Prelude.fmap Prelude.fromIntegral
-                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
-                                                Data.ProtoLens.Encoding.Bytes.<?> "int_value"
-                                         loop
-                                           (Lens.Family2.set
-                                              (Data.ProtoLens.Field.field @"intValue")
-                                              y
-                                              x)
-                                33 -> do y <- (Prelude.fmap
-                                                 Data.ProtoLens.Encoding.Bytes.wordToDouble
-                                                 Data.ProtoLens.Encoding.Bytes.getFixed64)
-                                                Data.ProtoLens.Encoding.Bytes.<?> "double_value"
-                                         loop
-                                           (Lens.Family2.set
-                                              (Data.ProtoLens.Field.field @"doubleValue")
-                                              y
-                                              x)
-                                40 -> do y <- (Prelude.fmap ((Prelude./=) 0)
-                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
-                                                Data.ProtoLens.Encoding.Bytes.<?> "bool_value"
-                                         loop
-                                           (Lens.Family2.set
-                                              (Data.ProtoLens.Field.field @"boolValue")
-                                              y
-                                              x)
-                                50 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                              Data.ProtoLens.Encoding.Bytes.getBytes
-                                                                (Prelude.fromIntegral len)
-                                                  Data.ProtoLens.Encoding.Bytes.runEither
-                                                    (case Data.Text.Encoding.decodeUtf8' value of
-                                                         Prelude.Left err -> Prelude.Left
-                                                                               (Prelude.show err)
-                                                         Prelude.Right r -> Prelude.Right r))
-                                                Data.ProtoLens.Encoding.Bytes.<?> "json_value"
-                                         loop
-                                           (Lens.Family2.set
-                                              (Data.ProtoLens.Field.field @"jsonValue")
-                                              y
-                                              x)
-                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                                   wire
-                                           loop
-                                             (Lens.Family2.over Data.ProtoLens.unknownFields
-                                                (\ !t -> (:) y t)
-                                                x)
-              in
-              (do loop Data.ProtoLens.defMessage)
-                Data.ProtoLens.Encoding.Bytes.<?> "KeyValue"
-        buildMessage
-          = (\ _x ->
-               (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"key") _x
-                  in
-                  if (_v) Prelude.== Data.ProtoLens.fieldDefault then
-                    Data.Monoid.mempty else
-                    (Data.ProtoLens.Encoding.Bytes.putVarInt 10) Data.Monoid.<>
-                      (((\ bs ->
-                           (Data.ProtoLens.Encoding.Bytes.putVarInt
-                              (Prelude.fromIntegral (Data.ByteString.length bs)))
-                             Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                         Prelude.. Data.Text.Encoding.encodeUtf8)
-                        _v)
-                 Data.Monoid.<>
-                 (case
-                    Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'value") _x of
-                      (Prelude.Nothing) -> Data.Monoid.mempty
-                      Prelude.Just
-                        (KeyValue'StringValue
-                           v) -> (Data.ProtoLens.Encoding.Bytes.putVarInt 18) Data.Monoid.<>
-                                   (((\ bs ->
-                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                          Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                      Prelude.. Data.Text.Encoding.encodeUtf8)
-                                     v
-                      Prelude.Just
-                        (KeyValue'IntValue v) -> (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                    24)
-                                                   Data.Monoid.<>
-                                                   ((Data.ProtoLens.Encoding.Bytes.putVarInt)
-                                                      Prelude.. Prelude.fromIntegral)
-                                                     v
-                      Prelude.Just
-                        (KeyValue'DoubleValue
-                           v) -> (Data.ProtoLens.Encoding.Bytes.putVarInt 33) Data.Monoid.<>
-                                   ((Data.ProtoLens.Encoding.Bytes.putFixed64) Prelude..
-                                      Data.ProtoLens.Encoding.Bytes.doubleToWord)
-                                     v
-                      Prelude.Just
-                        (KeyValue'BoolValue v) -> (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                     40)
-                                                    Data.Monoid.<>
-                                                    ((Data.ProtoLens.Encoding.Bytes.putVarInt)
-                                                       Prelude.. (\ b -> if b then 1 else 0))
-                                                      v
-                      Prelude.Just
-                        (KeyValue'JsonValue v) -> (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                     50)
-                                                    Data.Monoid.<>
-                                                    (((\ bs ->
-                                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                            (Prelude.fromIntegral
-                                                               (Data.ByteString.length bs)))
-                                                           Data.Monoid.<>
-                                                           Data.ProtoLens.Encoding.Bytes.putBytes
-                                                             bs))
-                                                       Prelude.. Data.Text.Encoding.encodeUtf8)
-                                                      v)
-                   Data.Monoid.<>
-                   Data.ProtoLens.Encoding.Wire.buildFieldSet
-                     (Lens.Family2.view Data.ProtoLens.unknownFields _x))
-instance Control.DeepSeq.NFData KeyValue where
-        rnf
-          = (\ x__ ->
-               Control.DeepSeq.deepseq (_KeyValue'_unknownFields x__)
-                 (Control.DeepSeq.deepseq (_KeyValue'key x__)
-                    (Control.DeepSeq.deepseq (_KeyValue'value x__) (()))))
-instance Control.DeepSeq.NFData KeyValue'Value where
-        rnf (KeyValue'StringValue x__) = Control.DeepSeq.rnf x__
-        rnf (KeyValue'IntValue x__) = Control.DeepSeq.rnf x__
-        rnf (KeyValue'DoubleValue x__) = Control.DeepSeq.rnf x__
-        rnf (KeyValue'BoolValue x__) = Control.DeepSeq.rnf x__
-        rnf (KeyValue'JsonValue x__) = Control.DeepSeq.rnf x__
-_KeyValue'StringValue ::
-                      Data.ProtoLens.Prism.Prism' KeyValue'Value Data.Text.Text
-_KeyValue'StringValue
-  = Data.ProtoLens.Prism.prism' KeyValue'StringValue
-      (\ p__ ->
-         case p__ of
-             KeyValue'StringValue p__val -> Prelude.Just p__val
-             _otherwise -> Prelude.Nothing)
-_KeyValue'IntValue ::
-                   Data.ProtoLens.Prism.Prism' KeyValue'Value Data.Int.Int64
-_KeyValue'IntValue
-  = Data.ProtoLens.Prism.prism' KeyValue'IntValue
-      (\ p__ ->
-         case p__ of
-             KeyValue'IntValue p__val -> Prelude.Just p__val
-             _otherwise -> Prelude.Nothing)
-_KeyValue'DoubleValue ::
-                      Data.ProtoLens.Prism.Prism' KeyValue'Value Prelude.Double
-_KeyValue'DoubleValue
-  = Data.ProtoLens.Prism.prism' KeyValue'DoubleValue
-      (\ p__ ->
-         case p__ of
-             KeyValue'DoubleValue p__val -> Prelude.Just p__val
-             _otherwise -> Prelude.Nothing)
-_KeyValue'BoolValue ::
-                    Data.ProtoLens.Prism.Prism' KeyValue'Value Prelude.Bool
-_KeyValue'BoolValue
-  = Data.ProtoLens.Prism.prism' KeyValue'BoolValue
-      (\ p__ ->
-         case p__ of
-             KeyValue'BoolValue p__val -> Prelude.Just p__val
-             _otherwise -> Prelude.Nothing)
-_KeyValue'JsonValue ::
-                    Data.ProtoLens.Prism.Prism' KeyValue'Value Data.Text.Text
-_KeyValue'JsonValue
-  = Data.ProtoLens.Prism.prism' KeyValue'JsonValue
-      (\ p__ ->
-         case p__ of
-             KeyValue'JsonValue p__val -> Prelude.Just p__val
-             _otherwise -> Prelude.Nothing)
-{- | Fields :
-
-    * 'Proto.Collector_Fields.timestamp' @:: Lens' Log Proto.Google.Protobuf.Timestamp.Timestamp@
-    * 'Proto.Collector_Fields.maybe'timestamp' @:: Lens' Log (Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp)@
-    * 'Proto.Collector_Fields.fields' @:: Lens' Log [KeyValue]@
-    * 'Proto.Collector_Fields.vec'fields' @:: Lens' Log (Data.Vector.Vector KeyValue)@
- -}
-data Log = Log{_Log'timestamp ::
-               !(Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp),
-               _Log'fields :: !(Data.Vector.Vector KeyValue),
-               _Log'_unknownFields :: !Data.ProtoLens.FieldSet}
-             deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show Log where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField Log "timestamp"
-           (Proto.Google.Protobuf.Timestamp.Timestamp)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Log'timestamp
-               (\ x__ y__ -> x__{_Log'timestamp = y__}))
-              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.defMessage
-instance Data.ProtoLens.Field.HasField Log "maybe'timestamp"
-           (Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Log'timestamp
-               (\ x__ y__ -> x__{_Log'timestamp = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField Log "fields" ([KeyValue])
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Log'fields
-               (\ x__ y__ -> x__{_Log'fields = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
-                (\ _ y__ -> Data.Vector.Generic.fromList y__)
-instance Data.ProtoLens.Field.HasField Log "vec'fields"
-           (Data.Vector.Vector KeyValue)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Log'fields
-               (\ x__ y__ -> x__{_Log'fields = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Message Log where
-        messageName _ = Data.Text.pack "lightstep.collector.Log"
-        fieldsByTag
-          = let timestamp__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "timestamp"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor
-                           Proto.Google.Protobuf.Timestamp.Timestamp)
-                      (Data.ProtoLens.OptionalField
-                         (Data.ProtoLens.Field.field @"maybe'timestamp"))
-                      :: Data.ProtoLens.FieldDescriptor Log
-                fields__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "fields"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor KeyValue)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Data.ProtoLens.Field.field @"fields"))
-                      :: Data.ProtoLens.FieldDescriptor Log
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, timestamp__field_descriptor),
-                 (Data.ProtoLens.Tag 2, fields__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _Log'_unknownFields
-              (\ x__ y__ -> x__{_Log'_unknownFields = y__})
-        defMessage
-          = Log{_Log'timestamp = Prelude.Nothing,
-                _Log'fields = Data.Vector.Generic.empty,
-                _Log'_unknownFields = ([])}
-        parseMessage
-          = let loop ::
-                     Log ->
-                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
-                         Data.ProtoLens.Encoding.Growing.RealWorld
-                         KeyValue
-                         -> Data.ProtoLens.Encoding.Bytes.Parser Log
-                loop x mutable'fields
-                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-                       if end then
-                         do frozen'fields <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                               (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                  mutable'fields)
-                            let missing = [] in
-                              if Prelude.null missing then Prelude.return () else
-                                Prelude.fail
-                                  (("Missing required fields: ") Prelude.++
-                                     Prelude.show (missing :: ([Prelude.String])))
-                            Prelude.return
-                              (Lens.Family2.over Data.ProtoLens.unknownFields
-                                 (\ !t -> Prelude.reverse t)
-                                 (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'fields")
-                                    frozen'fields
-                                    x))
-                         else
-                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                            case tag of
-                                10 -> do y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                  Data.ProtoLens.Encoding.Bytes.isolate
-                                                    (Prelude.fromIntegral len)
-                                                    Data.ProtoLens.parseMessage)
-                                                Data.ProtoLens.Encoding.Bytes.<?> "timestamp"
-                                         loop
-                                           (Lens.Family2.set
-                                              (Data.ProtoLens.Field.field @"timestamp")
-                                              y
-                                              x)
-                                           mutable'fields
-                                18 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                   Data.ProtoLens.Encoding.Bytes.isolate
-                                                     (Prelude.fromIntegral len)
-                                                     Data.ProtoLens.parseMessage)
-                                                 Data.ProtoLens.Encoding.Bytes.<?> "fields"
-                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                                (Data.ProtoLens.Encoding.Growing.append
-                                                   mutable'fields
-                                                   y)
-                                         loop x v
-                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                                   wire
-                                           loop
-                                             (Lens.Family2.over Data.ProtoLens.unknownFields
-                                                (\ !t -> (:) y t)
-                                                x)
-                                             mutable'fields
-              in
-              (do mutable'fields <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                      Data.ProtoLens.Encoding.Growing.new
-                  loop Data.ProtoLens.defMessage mutable'fields)
-                Data.ProtoLens.Encoding.Bytes.<?> "Log"
-        buildMessage
-          = (\ _x ->
-               (case
-                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'timestamp")
-                    _x
-                  of
-                    (Prelude.Nothing) -> Data.Monoid.mempty
-                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
-                                         Data.Monoid.<>
-                                         (((\ bs ->
-                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                                Data.Monoid.<>
-                                                Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                            Prelude.. Data.ProtoLens.encodeMessage)
-                                           _v)
-                 Data.Monoid.<>
-                 (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                    (\ _v ->
-                       (Data.ProtoLens.Encoding.Bytes.putVarInt 18) Data.Monoid.<>
-                         (((\ bs ->
-                              (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                            Prelude.. Data.ProtoLens.encodeMessage)
-                           _v)
-                    (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'fields") _x))
-                   Data.Monoid.<>
-                   Data.ProtoLens.Encoding.Wire.buildFieldSet
-                     (Lens.Family2.view Data.ProtoLens.unknownFields _x))
-instance Control.DeepSeq.NFData Log where
-        rnf
-          = (\ x__ ->
-               Control.DeepSeq.deepseq (_Log'_unknownFields x__)
-                 (Control.DeepSeq.deepseq (_Log'timestamp x__)
-                    (Control.DeepSeq.deepseq (_Log'fields x__) (()))))
-{- | Fields :
-
-    * 'Proto.Collector_Fields.name' @:: Lens' MetricsSample Data.Text.Text@
-    * 'Proto.Collector_Fields.maybe'value' @:: Lens' MetricsSample (Prelude.Maybe MetricsSample'Value)@
-    * 'Proto.Collector_Fields.maybe'intValue' @:: Lens' MetricsSample (Prelude.Maybe Data.Int.Int64)@
-    * 'Proto.Collector_Fields.intValue' @:: Lens' MetricsSample Data.Int.Int64@
-    * 'Proto.Collector_Fields.maybe'doubleValue' @:: Lens' MetricsSample (Prelude.Maybe Prelude.Double)@
-    * 'Proto.Collector_Fields.doubleValue' @:: Lens' MetricsSample Prelude.Double@
- -}
-data MetricsSample = MetricsSample{_MetricsSample'name ::
-                                   !Data.Text.Text,
-                                   _MetricsSample'value :: !(Prelude.Maybe MetricsSample'Value),
-                                   _MetricsSample'_unknownFields :: !Data.ProtoLens.FieldSet}
-                       deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show MetricsSample where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-data MetricsSample'Value = MetricsSample'IntValue !Data.Int.Int64
-                         | MetricsSample'DoubleValue !Prelude.Double
-                             deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance Data.ProtoLens.Field.HasField MetricsSample "name"
-           (Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _MetricsSample'name
-               (\ x__ y__ -> x__{_MetricsSample'name = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField MetricsSample "maybe'value"
-           (Prelude.Maybe MetricsSample'Value)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _MetricsSample'value
-               (\ x__ y__ -> x__{_MetricsSample'value = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField MetricsSample
-           "maybe'intValue"
-           (Prelude.Maybe Data.Int.Int64)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _MetricsSample'value
-               (\ x__ y__ -> x__{_MetricsSample'value = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens
-                (\ x__ ->
-                   case x__ of
-                       Prelude.Just (MetricsSample'IntValue x__val) -> Prelude.Just x__val
-                       _otherwise -> Prelude.Nothing)
-                (\ _ y__ -> Prelude.fmap MetricsSample'IntValue y__)
-instance Data.ProtoLens.Field.HasField MetricsSample "intValue"
-           (Data.Int.Int64)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _MetricsSample'value
-               (\ x__ y__ -> x__{_MetricsSample'value = y__}))
-              Prelude..
-              (Lens.Family2.Unchecked.lens
-                 (\ x__ ->
-                    case x__ of
-                        Prelude.Just (MetricsSample'IntValue x__val) -> Prelude.Just x__val
-                        _otherwise -> Prelude.Nothing)
-                 (\ _ y__ -> Prelude.fmap MetricsSample'IntValue y__))
-                Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
-instance Data.ProtoLens.Field.HasField MetricsSample
-           "maybe'doubleValue"
-           (Prelude.Maybe Prelude.Double)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _MetricsSample'value
-               (\ x__ y__ -> x__{_MetricsSample'value = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens
-                (\ x__ ->
-                   case x__ of
-                       Prelude.Just (MetricsSample'DoubleValue x__val) -> Prelude.Just
-                                                                            x__val
-                       _otherwise -> Prelude.Nothing)
-                (\ _ y__ -> Prelude.fmap MetricsSample'DoubleValue y__)
-instance Data.ProtoLens.Field.HasField MetricsSample "doubleValue"
-           (Prelude.Double)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _MetricsSample'value
-               (\ x__ y__ -> x__{_MetricsSample'value = y__}))
-              Prelude..
-              (Lens.Family2.Unchecked.lens
-                 (\ x__ ->
-                    case x__ of
-                        Prelude.Just (MetricsSample'DoubleValue x__val) -> Prelude.Just
-                                                                             x__val
-                        _otherwise -> Prelude.Nothing)
-                 (\ _ y__ -> Prelude.fmap MetricsSample'DoubleValue y__))
-                Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
-instance Data.ProtoLens.Message MetricsSample where
-        messageName _ = Data.Text.pack "lightstep.collector.MetricsSample"
-        fieldsByTag
-          = let name__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "name"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Data.ProtoLens.Field.field @"name"))
-                      :: Data.ProtoLens.FieldDescriptor MetricsSample
-                intValue__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "int_value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
-                      (Data.ProtoLens.OptionalField
-                         (Data.ProtoLens.Field.field @"maybe'intValue"))
-                      :: Data.ProtoLens.FieldDescriptor MetricsSample
-                doubleValue__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "double_value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.DoubleField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Double)
-                      (Data.ProtoLens.OptionalField
-                         (Data.ProtoLens.Field.field @"maybe'doubleValue"))
-                      :: Data.ProtoLens.FieldDescriptor MetricsSample
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, name__field_descriptor),
-                 (Data.ProtoLens.Tag 2, intValue__field_descriptor),
-                 (Data.ProtoLens.Tag 3, doubleValue__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _MetricsSample'_unknownFields
-              (\ x__ y__ -> x__{_MetricsSample'_unknownFields = y__})
-        defMessage
-          = MetricsSample{_MetricsSample'name = Data.ProtoLens.fieldDefault,
-                          _MetricsSample'value = Prelude.Nothing,
-                          _MetricsSample'_unknownFields = ([])}
-        parseMessage
-          = let loop ::
-                     MetricsSample -> Data.ProtoLens.Encoding.Bytes.Parser MetricsSample
-                loop x
-                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-                       if end then
-                         do let missing = [] in
-                              if Prelude.null missing then Prelude.return () else
-                                Prelude.fail
-                                  (("Missing required fields: ") Prelude.++
-                                     Prelude.show (missing :: ([Prelude.String])))
-                            Prelude.return
-                              (Lens.Family2.over Data.ProtoLens.unknownFields
-                                 (\ !t -> Prelude.reverse t)
-                                 x)
-                         else
-                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                            case tag of
-                                10 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                              Data.ProtoLens.Encoding.Bytes.getBytes
-                                                                (Prelude.fromIntegral len)
-                                                  Data.ProtoLens.Encoding.Bytes.runEither
-                                                    (case Data.Text.Encoding.decodeUtf8' value of
-                                                         Prelude.Left err -> Prelude.Left
-                                                                               (Prelude.show err)
-                                                         Prelude.Right r -> Prelude.Right r))
-                                                Data.ProtoLens.Encoding.Bytes.<?> "name"
-                                         loop
-                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y
-                                              x)
-                                16 -> do y <- (Prelude.fmap Prelude.fromIntegral
-                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
-                                                Data.ProtoLens.Encoding.Bytes.<?> "int_value"
-                                         loop
-                                           (Lens.Family2.set
-                                              (Data.ProtoLens.Field.field @"intValue")
-                                              y
-                                              x)
-                                25 -> do y <- (Prelude.fmap
-                                                 Data.ProtoLens.Encoding.Bytes.wordToDouble
-                                                 Data.ProtoLens.Encoding.Bytes.getFixed64)
-                                                Data.ProtoLens.Encoding.Bytes.<?> "double_value"
-                                         loop
-                                           (Lens.Family2.set
-                                              (Data.ProtoLens.Field.field @"doubleValue")
-                                              y
-                                              x)
-                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                                   wire
-                                           loop
-                                             (Lens.Family2.over Data.ProtoLens.unknownFields
-                                                (\ !t -> (:) y t)
-                                                x)
-              in
-              (do loop Data.ProtoLens.defMessage)
-                Data.ProtoLens.Encoding.Bytes.<?> "MetricsSample"
-        buildMessage
-          = (\ _x ->
-               (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"name") _x
-                  in
-                  if (_v) Prelude.== Data.ProtoLens.fieldDefault then
-                    Data.Monoid.mempty else
-                    (Data.ProtoLens.Encoding.Bytes.putVarInt 10) Data.Monoid.<>
-                      (((\ bs ->
-                           (Data.ProtoLens.Encoding.Bytes.putVarInt
-                              (Prelude.fromIntegral (Data.ByteString.length bs)))
-                             Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                         Prelude.. Data.Text.Encoding.encodeUtf8)
-                        _v)
-                 Data.Monoid.<>
-                 (case
-                    Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'value") _x of
-                      (Prelude.Nothing) -> Data.Monoid.mempty
-                      Prelude.Just
-                        (MetricsSample'IntValue
-                           v) -> (Data.ProtoLens.Encoding.Bytes.putVarInt 16) Data.Monoid.<>
-                                   ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
-                                      Prelude.fromIntegral)
-                                     v
-                      Prelude.Just
-                        (MetricsSample'DoubleValue
-                           v) -> (Data.ProtoLens.Encoding.Bytes.putVarInt 25) Data.Monoid.<>
-                                   ((Data.ProtoLens.Encoding.Bytes.putFixed64) Prelude..
-                                      Data.ProtoLens.Encoding.Bytes.doubleToWord)
-                                     v)
-                   Data.Monoid.<>
-                   Data.ProtoLens.Encoding.Wire.buildFieldSet
-                     (Lens.Family2.view Data.ProtoLens.unknownFields _x))
-instance Control.DeepSeq.NFData MetricsSample where
-        rnf
-          = (\ x__ ->
-               Control.DeepSeq.deepseq (_MetricsSample'_unknownFields x__)
-                 (Control.DeepSeq.deepseq (_MetricsSample'name x__)
-                    (Control.DeepSeq.deepseq (_MetricsSample'value x__) (()))))
-instance Control.DeepSeq.NFData MetricsSample'Value where
-        rnf (MetricsSample'IntValue x__) = Control.DeepSeq.rnf x__
-        rnf (MetricsSample'DoubleValue x__) = Control.DeepSeq.rnf x__
-_MetricsSample'IntValue ::
-                        Data.ProtoLens.Prism.Prism' MetricsSample'Value Data.Int.Int64
-_MetricsSample'IntValue
-  = Data.ProtoLens.Prism.prism' MetricsSample'IntValue
-      (\ p__ ->
-         case p__ of
-             MetricsSample'IntValue p__val -> Prelude.Just p__val
-             _otherwise -> Prelude.Nothing)
-_MetricsSample'DoubleValue ::
-                           Data.ProtoLens.Prism.Prism' MetricsSample'Value Prelude.Double
-_MetricsSample'DoubleValue
-  = Data.ProtoLens.Prism.prism' MetricsSample'DoubleValue
-      (\ p__ ->
-         case p__ of
-             MetricsSample'DoubleValue p__val -> Prelude.Just p__val
-             _otherwise -> Prelude.Nothing)
-{- | Fields :
-
-    * 'Proto.Collector_Fields.relationship' @:: Lens' Reference Reference'Relationship@
-    * 'Proto.Collector_Fields.spanContext' @:: Lens' Reference SpanContext@
-    * 'Proto.Collector_Fields.maybe'spanContext' @:: Lens' Reference (Prelude.Maybe SpanContext)@
- -}
-data Reference = Reference{_Reference'relationship ::
-                           !Reference'Relationship,
-                           _Reference'spanContext :: !(Prelude.Maybe SpanContext),
-                           _Reference'_unknownFields :: !Data.ProtoLens.FieldSet}
-                   deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show Reference where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField Reference "relationship"
-           (Reference'Relationship)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Reference'relationship
-               (\ x__ y__ -> x__{_Reference'relationship = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField Reference "spanContext"
-           (SpanContext)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Reference'spanContext
-               (\ x__ y__ -> x__{_Reference'spanContext = y__}))
-              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.defMessage
-instance Data.ProtoLens.Field.HasField Reference
-           "maybe'spanContext"
-           (Prelude.Maybe SpanContext)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Reference'spanContext
-               (\ x__ y__ -> x__{_Reference'spanContext = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Message Reference where
-        messageName _ = Data.Text.pack "lightstep.collector.Reference"
-        fieldsByTag
-          = let relationship__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "relationship"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
-                         Data.ProtoLens.FieldTypeDescriptor Reference'Relationship)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Data.ProtoLens.Field.field @"relationship"))
-                      :: Data.ProtoLens.FieldDescriptor Reference
-                spanContext__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "span_context"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor SpanContext)
-                      (Data.ProtoLens.OptionalField
-                         (Data.ProtoLens.Field.field @"maybe'spanContext"))
-                      :: Data.ProtoLens.FieldDescriptor Reference
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, relationship__field_descriptor),
-                 (Data.ProtoLens.Tag 2, spanContext__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _Reference'_unknownFields
-              (\ x__ y__ -> x__{_Reference'_unknownFields = y__})
-        defMessage
-          = Reference{_Reference'relationship = Data.ProtoLens.fieldDefault,
-                      _Reference'spanContext = Prelude.Nothing,
-                      _Reference'_unknownFields = ([])}
-        parseMessage
-          = let loop ::
-                     Reference -> Data.ProtoLens.Encoding.Bytes.Parser Reference
-                loop x
-                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-                       if end then
-                         do let missing = [] in
-                              if Prelude.null missing then Prelude.return () else
-                                Prelude.fail
-                                  (("Missing required fields: ") Prelude.++
-                                     Prelude.show (missing :: ([Prelude.String])))
-                            Prelude.return
-                              (Lens.Family2.over Data.ProtoLens.unknownFields
-                                 (\ !t -> Prelude.reverse t)
-                                 x)
-                         else
-                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                            case tag of
-                                8 -> do y <- (Prelude.fmap Prelude.toEnum
-                                                (Prelude.fmap Prelude.fromIntegral
-                                                   Data.ProtoLens.Encoding.Bytes.getVarInt))
-                                               Data.ProtoLens.Encoding.Bytes.<?> "relationship"
-                                        loop
-                                          (Lens.Family2.set
-                                             (Data.ProtoLens.Field.field @"relationship")
-                                             y
-                                             x)
-                                18 -> do y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                  Data.ProtoLens.Encoding.Bytes.isolate
-                                                    (Prelude.fromIntegral len)
-                                                    Data.ProtoLens.parseMessage)
-                                                Data.ProtoLens.Encoding.Bytes.<?> "span_context"
-                                         loop
-                                           (Lens.Family2.set
-                                              (Data.ProtoLens.Field.field @"spanContext")
-                                              y
-                                              x)
-                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                                   wire
-                                           loop
-                                             (Lens.Family2.over Data.ProtoLens.unknownFields
-                                                (\ !t -> (:) y t)
-                                                x)
-              in
-              (do loop Data.ProtoLens.defMessage)
-                Data.ProtoLens.Encoding.Bytes.<?> "Reference"
-        buildMessage
-          = (\ _x ->
-               (let _v
-                      = Lens.Family2.view (Data.ProtoLens.Field.field @"relationship") _x
-                  in
-                  if (_v) Prelude.== Data.ProtoLens.fieldDefault then
-                    Data.Monoid.mempty else
-                    (Data.ProtoLens.Encoding.Bytes.putVarInt 8) Data.Monoid.<>
-                      (((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
-                          Prelude.fromIntegral)
-                         Prelude.. Prelude.fromEnum)
-                        _v)
-                 Data.Monoid.<>
-                 (case
-                    Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'spanContext")
-                      _x
-                    of
-                      (Prelude.Nothing) -> Data.Monoid.mempty
-                      Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
-                                           Data.Monoid.<>
-                                           (((\ bs ->
-                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                   (Prelude.fromIntegral
-                                                      (Data.ByteString.length bs)))
-                                                  Data.Monoid.<>
-                                                  Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                              Prelude.. Data.ProtoLens.encodeMessage)
-                                             _v)
-                   Data.Monoid.<>
-                   Data.ProtoLens.Encoding.Wire.buildFieldSet
-                     (Lens.Family2.view Data.ProtoLens.unknownFields _x))
-instance Control.DeepSeq.NFData Reference where
-        rnf
-          = (\ x__ ->
-               Control.DeepSeq.deepseq (_Reference'_unknownFields x__)
-                 (Control.DeepSeq.deepseq (_Reference'relationship x__)
-                    (Control.DeepSeq.deepseq (_Reference'spanContext x__) (()))))
-newtype Reference'Relationship'UnrecognizedValue = Reference'Relationship'UnrecognizedValue Data.Int.Int32
-                                                     deriving (Prelude.Eq, Prelude.Ord,
-                                                               Prelude.Show)
-data Reference'Relationship = Reference'CHILD_OF
-                            | Reference'FOLLOWS_FROM
-                            | Reference'Relationship'Unrecognized !Reference'Relationship'UnrecognizedValue
-                                deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance Data.ProtoLens.MessageEnum Reference'Relationship where
-        maybeToEnum 0 = Prelude.Just Reference'CHILD_OF
-        maybeToEnum 1 = Prelude.Just Reference'FOLLOWS_FROM
-        maybeToEnum k
-          = Prelude.Just
-              (Reference'Relationship'Unrecognized
-                 (Reference'Relationship'UnrecognizedValue
-                    (Prelude.fromIntegral k)))
-        showEnum Reference'CHILD_OF = "CHILD_OF"
-        showEnum Reference'FOLLOWS_FROM = "FOLLOWS_FROM"
-        showEnum
-          (Reference'Relationship'Unrecognized
-             (Reference'Relationship'UnrecognizedValue k))
-          = Prelude.show k
-        readEnum k
-          | (k) Prelude.== "CHILD_OF" = Prelude.Just Reference'CHILD_OF
-          | (k) Prelude.== "FOLLOWS_FROM" =
-            Prelude.Just Reference'FOLLOWS_FROM
-        readEnum k
-          = (Text.Read.readMaybe k) Prelude.>>= Data.ProtoLens.maybeToEnum
-instance Prelude.Bounded Reference'Relationship where
-        minBound = Reference'CHILD_OF
-        maxBound = Reference'FOLLOWS_FROM
-instance Prelude.Enum Reference'Relationship where
-        toEnum k__
-          = Prelude.maybe
-              (Prelude.error
-                 (("toEnum: unknown value for enum Relationship: ") Prelude.++
-                    Prelude.show k__))
-              Prelude.id
-              (Data.ProtoLens.maybeToEnum k__)
-        fromEnum Reference'CHILD_OF = 0
-        fromEnum Reference'FOLLOWS_FROM = 1
-        fromEnum
-          (Reference'Relationship'Unrecognized
-             (Reference'Relationship'UnrecognizedValue k))
-          = Prelude.fromIntegral k
-        succ Reference'FOLLOWS_FROM
-          = Prelude.error
-              "Reference'Relationship.succ: bad argument Reference'FOLLOWS_FROM. This value would be out of bounds."
-        succ Reference'CHILD_OF = Reference'FOLLOWS_FROM
-        succ (Reference'Relationship'Unrecognized _)
-          = Prelude.error
-              "Reference'Relationship.succ: bad argument: unrecognized value"
-        pred Reference'CHILD_OF
-          = Prelude.error
-              "Reference'Relationship.pred: bad argument Reference'CHILD_OF. This value would be out of bounds."
-        pred Reference'FOLLOWS_FROM = Reference'CHILD_OF
-        pred (Reference'Relationship'Unrecognized _)
-          = Prelude.error
-              "Reference'Relationship.pred: bad argument: unrecognized value"
-        enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
-        enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
-        enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
-        enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
-instance Data.ProtoLens.FieldDefault Reference'Relationship where
-        fieldDefault = Reference'CHILD_OF
-instance Control.DeepSeq.NFData Reference'Relationship where
-        rnf x__ = Prelude.seq x__ (())
-{- | Fields :
-
-    * 'Proto.Collector_Fields.reporter' @:: Lens' ReportRequest Reporter@
-    * 'Proto.Collector_Fields.maybe'reporter' @:: Lens' ReportRequest (Prelude.Maybe Reporter)@
-    * 'Proto.Collector_Fields.auth' @:: Lens' ReportRequest Auth@
-    * 'Proto.Collector_Fields.maybe'auth' @:: Lens' ReportRequest (Prelude.Maybe Auth)@
-    * 'Proto.Collector_Fields.spans' @:: Lens' ReportRequest [Span]@
-    * 'Proto.Collector_Fields.vec'spans' @:: Lens' ReportRequest (Data.Vector.Vector Span)@
-    * 'Proto.Collector_Fields.timestampOffsetMicros' @:: Lens' ReportRequest Data.Int.Int64@
-    * 'Proto.Collector_Fields.internalMetrics' @:: Lens' ReportRequest InternalMetrics@
-    * 'Proto.Collector_Fields.maybe'internalMetrics' @:: Lens' ReportRequest (Prelude.Maybe InternalMetrics)@
- -}
-data ReportRequest = ReportRequest{_ReportRequest'reporter ::
-                                   !(Prelude.Maybe Reporter),
-                                   _ReportRequest'auth :: !(Prelude.Maybe Auth),
-                                   _ReportRequest'spans :: !(Data.Vector.Vector Span),
-                                   _ReportRequest'timestampOffsetMicros :: !Data.Int.Int64,
-                                   _ReportRequest'internalMetrics ::
-                                   !(Prelude.Maybe InternalMetrics),
-                                   _ReportRequest'_unknownFields :: !Data.ProtoLens.FieldSet}
-                       deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show ReportRequest where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField ReportRequest "reporter"
-           (Reporter)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _ReportRequest'reporter
-               (\ x__ y__ -> x__{_ReportRequest'reporter = y__}))
-              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.defMessage
-instance Data.ProtoLens.Field.HasField ReportRequest
-           "maybe'reporter"
-           (Prelude.Maybe Reporter)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _ReportRequest'reporter
-               (\ x__ y__ -> x__{_ReportRequest'reporter = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField ReportRequest "auth" (Auth)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _ReportRequest'auth
-               (\ x__ y__ -> x__{_ReportRequest'auth = y__}))
-              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.defMessage
-instance Data.ProtoLens.Field.HasField ReportRequest "maybe'auth"
-           (Prelude.Maybe Auth)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _ReportRequest'auth
-               (\ x__ y__ -> x__{_ReportRequest'auth = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField ReportRequest "spans"
-           ([Span])
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _ReportRequest'spans
-               (\ x__ y__ -> x__{_ReportRequest'spans = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
-                (\ _ y__ -> Data.Vector.Generic.fromList y__)
-instance Data.ProtoLens.Field.HasField ReportRequest "vec'spans"
-           (Data.Vector.Vector Span)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _ReportRequest'spans
-               (\ x__ y__ -> x__{_ReportRequest'spans = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField ReportRequest
-           "timestampOffsetMicros"
-           (Data.Int.Int64)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _ReportRequest'timestampOffsetMicros
-               (\ x__ y__ -> x__{_ReportRequest'timestampOffsetMicros = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField ReportRequest
-           "internalMetrics"
-           (InternalMetrics)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _ReportRequest'internalMetrics
-               (\ x__ y__ -> x__{_ReportRequest'internalMetrics = y__}))
-              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.defMessage
-instance Data.ProtoLens.Field.HasField ReportRequest
-           "maybe'internalMetrics"
-           (Prelude.Maybe InternalMetrics)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _ReportRequest'internalMetrics
-               (\ x__ y__ -> x__{_ReportRequest'internalMetrics = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Message ReportRequest where
-        messageName _ = Data.Text.pack "lightstep.collector.ReportRequest"
-        fieldsByTag
-          = let reporter__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "reporter"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor Reporter)
-                      (Data.ProtoLens.OptionalField
-                         (Data.ProtoLens.Field.field @"maybe'reporter"))
-                      :: Data.ProtoLens.FieldDescriptor ReportRequest
-                auth__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "auth"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor Auth)
-                      (Data.ProtoLens.OptionalField
-                         (Data.ProtoLens.Field.field @"maybe'auth"))
-                      :: Data.ProtoLens.FieldDescriptor ReportRequest
-                spans__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "spans"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor Span)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Data.ProtoLens.Field.field @"spans"))
-                      :: Data.ProtoLens.FieldDescriptor ReportRequest
-                timestampOffsetMicros__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "timestamp_offset_micros"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Data.ProtoLens.Field.field @"timestampOffsetMicros"))
-                      :: Data.ProtoLens.FieldDescriptor ReportRequest
-                internalMetrics__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "internal_metrics"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor InternalMetrics)
-                      (Data.ProtoLens.OptionalField
-                         (Data.ProtoLens.Field.field @"maybe'internalMetrics"))
-                      :: Data.ProtoLens.FieldDescriptor ReportRequest
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, reporter__field_descriptor),
-                 (Data.ProtoLens.Tag 2, auth__field_descriptor),
-                 (Data.ProtoLens.Tag 3, spans__field_descriptor),
-                 (Data.ProtoLens.Tag 5, timestampOffsetMicros__field_descriptor),
-                 (Data.ProtoLens.Tag 6, internalMetrics__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _ReportRequest'_unknownFields
-              (\ x__ y__ -> x__{_ReportRequest'_unknownFields = y__})
-        defMessage
-          = ReportRequest{_ReportRequest'reporter = Prelude.Nothing,
-                          _ReportRequest'auth = Prelude.Nothing,
-                          _ReportRequest'spans = Data.Vector.Generic.empty,
-                          _ReportRequest'timestampOffsetMicros = Data.ProtoLens.fieldDefault,
-                          _ReportRequest'internalMetrics = Prelude.Nothing,
-                          _ReportRequest'_unknownFields = ([])}
-        parseMessage
-          = let loop ::
-                     ReportRequest ->
-                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
-                         Data.ProtoLens.Encoding.Growing.RealWorld
-                         Span
-                         -> Data.ProtoLens.Encoding.Bytes.Parser ReportRequest
-                loop x mutable'spans
-                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-                       if end then
-                         do frozen'spans <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                              (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                 mutable'spans)
-                            let missing = [] in
-                              if Prelude.null missing then Prelude.return () else
-                                Prelude.fail
-                                  (("Missing required fields: ") Prelude.++
-                                     Prelude.show (missing :: ([Prelude.String])))
-                            Prelude.return
-                              (Lens.Family2.over Data.ProtoLens.unknownFields
-                                 (\ !t -> Prelude.reverse t)
-                                 (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'spans")
-                                    frozen'spans
-                                    x))
-                         else
-                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                            case tag of
-                                10 -> do y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                  Data.ProtoLens.Encoding.Bytes.isolate
-                                                    (Prelude.fromIntegral len)
-                                                    Data.ProtoLens.parseMessage)
-                                                Data.ProtoLens.Encoding.Bytes.<?> "reporter"
-                                         loop
-                                           (Lens.Family2.set
-                                              (Data.ProtoLens.Field.field @"reporter")
-                                              y
-                                              x)
-                                           mutable'spans
-                                18 -> do y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                  Data.ProtoLens.Encoding.Bytes.isolate
-                                                    (Prelude.fromIntegral len)
-                                                    Data.ProtoLens.parseMessage)
-                                                Data.ProtoLens.Encoding.Bytes.<?> "auth"
-                                         loop
-                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"auth") y
-                                              x)
-                                           mutable'spans
-                                26 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                   Data.ProtoLens.Encoding.Bytes.isolate
-                                                     (Prelude.fromIntegral len)
-                                                     Data.ProtoLens.parseMessage)
-                                                 Data.ProtoLens.Encoding.Bytes.<?> "spans"
-                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                                (Data.ProtoLens.Encoding.Growing.append
-                                                   mutable'spans
-                                                   y)
-                                         loop x v
-                                40 -> do y <- (Prelude.fmap Prelude.fromIntegral
-                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
-                                                Data.ProtoLens.Encoding.Bytes.<?>
-                                                "timestamp_offset_micros"
-                                         loop
-                                           (Lens.Family2.set
-                                              (Data.ProtoLens.Field.field @"timestampOffsetMicros")
-                                              y
-                                              x)
-                                           mutable'spans
-                                50 -> do y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                  Data.ProtoLens.Encoding.Bytes.isolate
-                                                    (Prelude.fromIntegral len)
-                                                    Data.ProtoLens.parseMessage)
-                                                Data.ProtoLens.Encoding.Bytes.<?> "internal_metrics"
-                                         loop
-                                           (Lens.Family2.set
-                                              (Data.ProtoLens.Field.field @"internalMetrics")
-                                              y
-                                              x)
-                                           mutable'spans
-                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                                   wire
-                                           loop
-                                             (Lens.Family2.over Data.ProtoLens.unknownFields
-                                                (\ !t -> (:) y t)
-                                                x)
-                                             mutable'spans
-              in
-              (do mutable'spans <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                     Data.ProtoLens.Encoding.Growing.new
-                  loop Data.ProtoLens.defMessage mutable'spans)
-                Data.ProtoLens.Encoding.Bytes.<?> "ReportRequest"
-        buildMessage
-          = (\ _x ->
-               (case
-                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'reporter") _x
-                  of
-                    (Prelude.Nothing) -> Data.Monoid.mempty
-                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
-                                         Data.Monoid.<>
-                                         (((\ bs ->
-                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                                Data.Monoid.<>
-                                                Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                            Prelude.. Data.ProtoLens.encodeMessage)
-                                           _v)
-                 Data.Monoid.<>
-                 (case
-                    Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'auth") _x of
-                      (Prelude.Nothing) -> Data.Monoid.mempty
-                      Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
-                                           Data.Monoid.<>
-                                           (((\ bs ->
-                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                   (Prelude.fromIntegral
-                                                      (Data.ByteString.length bs)))
-                                                  Data.Monoid.<>
-                                                  Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                              Prelude.. Data.ProtoLens.encodeMessage)
-                                             _v)
-                   Data.Monoid.<>
-                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                      (\ _v ->
-                         (Data.ProtoLens.Encoding.Bytes.putVarInt 26) Data.Monoid.<>
-                           (((\ bs ->
-                                (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                  Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                              Prelude.. Data.ProtoLens.encodeMessage)
-                             _v)
-                      (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'spans") _x))
-                     Data.Monoid.<>
-                     (let _v
-                            = Lens.Family2.view
-                                (Data.ProtoLens.Field.field @"timestampOffsetMicros")
-                                _x
-                        in
-                        if (_v) Prelude.== Data.ProtoLens.fieldDefault then
-                          Data.Monoid.mempty else
-                          (Data.ProtoLens.Encoding.Bytes.putVarInt 40) Data.Monoid.<>
-                            ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
-                               Prelude.fromIntegral)
-                              _v)
-                       Data.Monoid.<>
-                       (case
-                          Lens.Family2.view
-                            (Data.ProtoLens.Field.field @"maybe'internalMetrics")
-                            _x
-                          of
-                            (Prelude.Nothing) -> Data.Monoid.mempty
-                            Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
-                                                 Data.Monoid.<>
-                                                 (((\ bs ->
-                                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                         (Prelude.fromIntegral
-                                                            (Data.ByteString.length bs)))
-                                                        Data.Monoid.<>
-                                                        Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                                    Prelude.. Data.ProtoLens.encodeMessage)
-                                                   _v)
-                         Data.Monoid.<>
-                         Data.ProtoLens.Encoding.Wire.buildFieldSet
-                           (Lens.Family2.view Data.ProtoLens.unknownFields _x))
-instance Control.DeepSeq.NFData ReportRequest where
-        rnf
-          = (\ x__ ->
-               Control.DeepSeq.deepseq (_ReportRequest'_unknownFields x__)
-                 (Control.DeepSeq.deepseq (_ReportRequest'reporter x__)
-                    (Control.DeepSeq.deepseq (_ReportRequest'auth x__)
-                       (Control.DeepSeq.deepseq (_ReportRequest'spans x__)
-                          (Control.DeepSeq.deepseq (_ReportRequest'timestampOffsetMicros x__)
-                             (Control.DeepSeq.deepseq (_ReportRequest'internalMetrics x__)
-                                (())))))))
-{- | Fields :
-
-    * 'Proto.Collector_Fields.commands' @:: Lens' ReportResponse [Command]@
-    * 'Proto.Collector_Fields.vec'commands' @:: Lens' ReportResponse (Data.Vector.Vector Command)@
-    * 'Proto.Collector_Fields.receiveTimestamp' @:: Lens' ReportResponse Proto.Google.Protobuf.Timestamp.Timestamp@
-    * 'Proto.Collector_Fields.maybe'receiveTimestamp' @:: Lens' ReportResponse
-  (Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp)@
-    * 'Proto.Collector_Fields.transmitTimestamp' @:: Lens' ReportResponse Proto.Google.Protobuf.Timestamp.Timestamp@
-    * 'Proto.Collector_Fields.maybe'transmitTimestamp' @:: Lens' ReportResponse
-  (Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp)@
-    * 'Proto.Collector_Fields.errors' @:: Lens' ReportResponse [Data.Text.Text]@
-    * 'Proto.Collector_Fields.vec'errors' @:: Lens' ReportResponse (Data.Vector.Vector Data.Text.Text)@
-    * 'Proto.Collector_Fields.warnings' @:: Lens' ReportResponse [Data.Text.Text]@
-    * 'Proto.Collector_Fields.vec'warnings' @:: Lens' ReportResponse (Data.Vector.Vector Data.Text.Text)@
-    * 'Proto.Collector_Fields.infos' @:: Lens' ReportResponse [Data.Text.Text]@
-    * 'Proto.Collector_Fields.vec'infos' @:: Lens' ReportResponse (Data.Vector.Vector Data.Text.Text)@
- -}
-data ReportResponse = ReportResponse{_ReportResponse'commands ::
-                                     !(Data.Vector.Vector Command),
-                                     _ReportResponse'receiveTimestamp ::
-                                     !(Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp),
-                                     _ReportResponse'transmitTimestamp ::
-                                     !(Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp),
-                                     _ReportResponse'errors :: !(Data.Vector.Vector Data.Text.Text),
-                                     _ReportResponse'warnings ::
-                                     !(Data.Vector.Vector Data.Text.Text),
-                                     _ReportResponse'infos :: !(Data.Vector.Vector Data.Text.Text),
-                                     _ReportResponse'_unknownFields :: !Data.ProtoLens.FieldSet}
-                        deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show ReportResponse where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField ReportResponse "commands"
-           ([Command])
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _ReportResponse'commands
-               (\ x__ y__ -> x__{_ReportResponse'commands = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
-                (\ _ y__ -> Data.Vector.Generic.fromList y__)
-instance Data.ProtoLens.Field.HasField ReportResponse
-           "vec'commands"
-           (Data.Vector.Vector Command)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _ReportResponse'commands
-               (\ x__ y__ -> x__{_ReportResponse'commands = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField ReportResponse
-           "receiveTimestamp"
-           (Proto.Google.Protobuf.Timestamp.Timestamp)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _ReportResponse'receiveTimestamp
-               (\ x__ y__ -> x__{_ReportResponse'receiveTimestamp = y__}))
-              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.defMessage
-instance Data.ProtoLens.Field.HasField ReportResponse
-           "maybe'receiveTimestamp"
-           (Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _ReportResponse'receiveTimestamp
-               (\ x__ y__ -> x__{_ReportResponse'receiveTimestamp = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField ReportResponse
-           "transmitTimestamp"
-           (Proto.Google.Protobuf.Timestamp.Timestamp)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _ReportResponse'transmitTimestamp
-               (\ x__ y__ -> x__{_ReportResponse'transmitTimestamp = y__}))
-              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.defMessage
-instance Data.ProtoLens.Field.HasField ReportResponse
-           "maybe'transmitTimestamp"
-           (Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _ReportResponse'transmitTimestamp
-               (\ x__ y__ -> x__{_ReportResponse'transmitTimestamp = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField ReportResponse "errors"
-           ([Data.Text.Text])
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _ReportResponse'errors
-               (\ x__ y__ -> x__{_ReportResponse'errors = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
-                (\ _ y__ -> Data.Vector.Generic.fromList y__)
-instance Data.ProtoLens.Field.HasField ReportResponse "vec'errors"
-           (Data.Vector.Vector Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _ReportResponse'errors
-               (\ x__ y__ -> x__{_ReportResponse'errors = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField ReportResponse "warnings"
-           ([Data.Text.Text])
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _ReportResponse'warnings
-               (\ x__ y__ -> x__{_ReportResponse'warnings = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
-                (\ _ y__ -> Data.Vector.Generic.fromList y__)
-instance Data.ProtoLens.Field.HasField ReportResponse
-           "vec'warnings"
-           (Data.Vector.Vector Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _ReportResponse'warnings
-               (\ x__ y__ -> x__{_ReportResponse'warnings = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField ReportResponse "infos"
-           ([Data.Text.Text])
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _ReportResponse'infos
-               (\ x__ y__ -> x__{_ReportResponse'infos = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
-                (\ _ y__ -> Data.Vector.Generic.fromList y__)
-instance Data.ProtoLens.Field.HasField ReportResponse "vec'infos"
-           (Data.Vector.Vector Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _ReportResponse'infos
-               (\ x__ y__ -> x__{_ReportResponse'infos = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Message ReportResponse where
-        messageName _ = Data.Text.pack "lightstep.collector.ReportResponse"
-        fieldsByTag
-          = let commands__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "commands"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor Command)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Data.ProtoLens.Field.field @"commands"))
-                      :: Data.ProtoLens.FieldDescriptor ReportResponse
-                receiveTimestamp__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "receive_timestamp"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor
-                           Proto.Google.Protobuf.Timestamp.Timestamp)
-                      (Data.ProtoLens.OptionalField
-                         (Data.ProtoLens.Field.field @"maybe'receiveTimestamp"))
-                      :: Data.ProtoLens.FieldDescriptor ReportResponse
-                transmitTimestamp__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "transmit_timestamp"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor
-                           Proto.Google.Protobuf.Timestamp.Timestamp)
-                      (Data.ProtoLens.OptionalField
-                         (Data.ProtoLens.Field.field @"maybe'transmitTimestamp"))
-                      :: Data.ProtoLens.FieldDescriptor ReportResponse
-                errors__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "errors"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Data.ProtoLens.Field.field @"errors"))
-                      :: Data.ProtoLens.FieldDescriptor ReportResponse
-                warnings__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "warnings"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Data.ProtoLens.Field.field @"warnings"))
-                      :: Data.ProtoLens.FieldDescriptor ReportResponse
-                infos__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "infos"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Data.ProtoLens.Field.field @"infos"))
-                      :: Data.ProtoLens.FieldDescriptor ReportResponse
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, commands__field_descriptor),
-                 (Data.ProtoLens.Tag 2, receiveTimestamp__field_descriptor),
-                 (Data.ProtoLens.Tag 3, transmitTimestamp__field_descriptor),
-                 (Data.ProtoLens.Tag 4, errors__field_descriptor),
-                 (Data.ProtoLens.Tag 5, warnings__field_descriptor),
-                 (Data.ProtoLens.Tag 6, infos__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _ReportResponse'_unknownFields
-              (\ x__ y__ -> x__{_ReportResponse'_unknownFields = y__})
-        defMessage
-          = ReportResponse{_ReportResponse'commands =
-                             Data.Vector.Generic.empty,
-                           _ReportResponse'receiveTimestamp = Prelude.Nothing,
-                           _ReportResponse'transmitTimestamp = Prelude.Nothing,
-                           _ReportResponse'errors = Data.Vector.Generic.empty,
-                           _ReportResponse'warnings = Data.Vector.Generic.empty,
-                           _ReportResponse'infos = Data.Vector.Generic.empty,
-                           _ReportResponse'_unknownFields = ([])}
-        parseMessage
-          = let loop ::
-                     ReportResponse ->
-                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
-                         Data.ProtoLens.Encoding.Growing.RealWorld
-                         Command
-                         ->
-                         Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
-                           Data.ProtoLens.Encoding.Growing.RealWorld
-                           Data.Text.Text
-                           ->
-                           Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
-                             Data.ProtoLens.Encoding.Growing.RealWorld
-                             Data.Text.Text
-                             ->
-                             Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
-                               Data.ProtoLens.Encoding.Growing.RealWorld
-                               Data.Text.Text
-                               -> Data.ProtoLens.Encoding.Bytes.Parser ReportResponse
-                loop x mutable'commands mutable'errors mutable'infos
-                  mutable'warnings
-                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-                       if end then
-                         do frozen'commands <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                                 (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                    mutable'commands)
-                            frozen'errors <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                               (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                  mutable'errors)
-                            frozen'infos <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                              (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                 mutable'infos)
-                            frozen'warnings <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                                 (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                    mutable'warnings)
-                            let missing = [] in
-                              if Prelude.null missing then Prelude.return () else
-                                Prelude.fail
-                                  (("Missing required fields: ") Prelude.++
-                                     Prelude.show (missing :: ([Prelude.String])))
-                            Prelude.return
-                              (Lens.Family2.over Data.ProtoLens.unknownFields
-                                 (\ !t -> Prelude.reverse t)
-                                 (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'commands")
-                                    frozen'commands
-                                    (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'errors")
-                                       frozen'errors
-                                       (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'infos")
-                                          frozen'infos
-                                          (Lens.Family2.set
-                                             (Data.ProtoLens.Field.field @"vec'warnings")
-                                             frozen'warnings
-                                             x)))))
-                         else
-                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                            case tag of
-                                10 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                   Data.ProtoLens.Encoding.Bytes.isolate
-                                                     (Prelude.fromIntegral len)
-                                                     Data.ProtoLens.parseMessage)
-                                                 Data.ProtoLens.Encoding.Bytes.<?> "commands"
-                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                                (Data.ProtoLens.Encoding.Growing.append
-                                                   mutable'commands
-                                                   y)
-                                         loop x v mutable'errors mutable'infos mutable'warnings
-                                18 -> do y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                  Data.ProtoLens.Encoding.Bytes.isolate
-                                                    (Prelude.fromIntegral len)
-                                                    Data.ProtoLens.parseMessage)
-                                                Data.ProtoLens.Encoding.Bytes.<?>
-                                                "receive_timestamp"
-                                         loop
-                                           (Lens.Family2.set
-                                              (Data.ProtoLens.Field.field @"receiveTimestamp")
-                                              y
-                                              x)
-                                           mutable'commands
-                                           mutable'errors
-                                           mutable'infos
-                                           mutable'warnings
-                                26 -> do y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                  Data.ProtoLens.Encoding.Bytes.isolate
-                                                    (Prelude.fromIntegral len)
-                                                    Data.ProtoLens.parseMessage)
-                                                Data.ProtoLens.Encoding.Bytes.<?>
-                                                "transmit_timestamp"
-                                         loop
-                                           (Lens.Family2.set
-                                              (Data.ProtoLens.Field.field @"transmitTimestamp")
-                                              y
-                                              x)
-                                           mutable'commands
-                                           mutable'errors
-                                           mutable'infos
-                                           mutable'warnings
-                                34 -> do !y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                               Data.ProtoLens.Encoding.Bytes.getBytes
-                                                                 (Prelude.fromIntegral len)
-                                                   Data.ProtoLens.Encoding.Bytes.runEither
-                                                     (case Data.Text.Encoding.decodeUtf8' value of
-                                                          Prelude.Left err -> Prelude.Left
-                                                                                (Prelude.show err)
-                                                          Prelude.Right r -> Prelude.Right r))
-                                                 Data.ProtoLens.Encoding.Bytes.<?> "errors"
-                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                                (Data.ProtoLens.Encoding.Growing.append
-                                                   mutable'errors
-                                                   y)
-                                         loop x mutable'commands v mutable'infos mutable'warnings
-                                42 -> do !y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                               Data.ProtoLens.Encoding.Bytes.getBytes
-                                                                 (Prelude.fromIntegral len)
-                                                   Data.ProtoLens.Encoding.Bytes.runEither
-                                                     (case Data.Text.Encoding.decodeUtf8' value of
-                                                          Prelude.Left err -> Prelude.Left
-                                                                                (Prelude.show err)
-                                                          Prelude.Right r -> Prelude.Right r))
-                                                 Data.ProtoLens.Encoding.Bytes.<?> "warnings"
-                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                                (Data.ProtoLens.Encoding.Growing.append
-                                                   mutable'warnings
-                                                   y)
-                                         loop x mutable'commands mutable'errors mutable'infos v
-                                50 -> do !y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                               Data.ProtoLens.Encoding.Bytes.getBytes
-                                                                 (Prelude.fromIntegral len)
-                                                   Data.ProtoLens.Encoding.Bytes.runEither
-                                                     (case Data.Text.Encoding.decodeUtf8' value of
-                                                          Prelude.Left err -> Prelude.Left
-                                                                                (Prelude.show err)
-                                                          Prelude.Right r -> Prelude.Right r))
-                                                 Data.ProtoLens.Encoding.Bytes.<?> "infos"
-                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                                (Data.ProtoLens.Encoding.Growing.append
-                                                   mutable'infos
-                                                   y)
-                                         loop x mutable'commands mutable'errors v mutable'warnings
-                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                                   wire
-                                           loop
-                                             (Lens.Family2.over Data.ProtoLens.unknownFields
-                                                (\ !t -> (:) y t)
-                                                x)
-                                             mutable'commands
-                                             mutable'errors
-                                             mutable'infos
-                                             mutable'warnings
-              in
-              (do mutable'commands <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                        Data.ProtoLens.Encoding.Growing.new
-                  mutable'errors <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                      Data.ProtoLens.Encoding.Growing.new
-                  mutable'infos <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                     Data.ProtoLens.Encoding.Growing.new
-                  mutable'warnings <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                        Data.ProtoLens.Encoding.Growing.new
-                  loop Data.ProtoLens.defMessage mutable'commands mutable'errors
-                    mutable'infos
-                    mutable'warnings)
-                Data.ProtoLens.Encoding.Bytes.<?> "ReportResponse"
-        buildMessage
-          = (\ _x ->
-               (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                  (\ _v ->
-                     (Data.ProtoLens.Encoding.Bytes.putVarInt 10) Data.Monoid.<>
-                       (((\ bs ->
-                            (Data.ProtoLens.Encoding.Bytes.putVarInt
-                               (Prelude.fromIntegral (Data.ByteString.length bs)))
-                              Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                          Prelude.. Data.ProtoLens.encodeMessage)
-                         _v)
-                  (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'commands")
-                     _x))
-                 Data.Monoid.<>
-                 (case
-                    Lens.Family2.view
-                      (Data.ProtoLens.Field.field @"maybe'receiveTimestamp")
-                      _x
-                    of
-                      (Prelude.Nothing) -> Data.Monoid.mempty
-                      Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
-                                           Data.Monoid.<>
-                                           (((\ bs ->
-                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                   (Prelude.fromIntegral
-                                                      (Data.ByteString.length bs)))
-                                                  Data.Monoid.<>
-                                                  Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                              Prelude.. Data.ProtoLens.encodeMessage)
-                                             _v)
-                   Data.Monoid.<>
-                   (case
-                      Lens.Family2.view
-                        (Data.ProtoLens.Field.field @"maybe'transmitTimestamp")
-                        _x
-                      of
-                        (Prelude.Nothing) -> Data.Monoid.mempty
-                        Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
-                                             Data.Monoid.<>
-                                             (((\ bs ->
-                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                     (Prelude.fromIntegral
-                                                        (Data.ByteString.length bs)))
-                                                    Data.Monoid.<>
-                                                    Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                                Prelude.. Data.ProtoLens.encodeMessage)
-                                               _v)
-                     Data.Monoid.<>
-                     (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                        (\ _v ->
-                           (Data.ProtoLens.Encoding.Bytes.putVarInt 34) Data.Monoid.<>
-                             (((\ bs ->
-                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                    Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                Prelude.. Data.Text.Encoding.encodeUtf8)
-                               _v)
-                        (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'errors") _x))
-                       Data.Monoid.<>
-                       (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                          (\ _v ->
-                             (Data.ProtoLens.Encoding.Bytes.putVarInt 42) Data.Monoid.<>
-                               (((\ bs ->
-                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                       (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                      Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                  Prelude.. Data.Text.Encoding.encodeUtf8)
-                                 _v)
-                          (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'warnings")
-                             _x))
-                         Data.Monoid.<>
-                         (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                            (\ _v ->
-                               (Data.ProtoLens.Encoding.Bytes.putVarInt 50) Data.Monoid.<>
-                                 (((\ bs ->
-                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                        Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                    Prelude.. Data.Text.Encoding.encodeUtf8)
-                                   _v)
-                            (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'infos") _x))
-                           Data.Monoid.<>
-                           Data.ProtoLens.Encoding.Wire.buildFieldSet
-                             (Lens.Family2.view Data.ProtoLens.unknownFields _x))
-instance Control.DeepSeq.NFData ReportResponse where
-        rnf
-          = (\ x__ ->
-               Control.DeepSeq.deepseq (_ReportResponse'_unknownFields x__)
-                 (Control.DeepSeq.deepseq (_ReportResponse'commands x__)
-                    (Control.DeepSeq.deepseq (_ReportResponse'receiveTimestamp x__)
-                       (Control.DeepSeq.deepseq (_ReportResponse'transmitTimestamp x__)
-                          (Control.DeepSeq.deepseq (_ReportResponse'errors x__)
-                             (Control.DeepSeq.deepseq (_ReportResponse'warnings x__)
-                                (Control.DeepSeq.deepseq (_ReportResponse'infos x__) (()))))))))
-{- | Fields :
-
-    * 'Proto.Collector_Fields.reporterId' @:: Lens' Reporter Data.Word.Word64@
-    * 'Proto.Collector_Fields.tags' @:: Lens' Reporter [KeyValue]@
-    * 'Proto.Collector_Fields.vec'tags' @:: Lens' Reporter (Data.Vector.Vector KeyValue)@
- -}
-data Reporter = Reporter{_Reporter'reporterId :: !Data.Word.Word64,
-                         _Reporter'tags :: !(Data.Vector.Vector KeyValue),
-                         _Reporter'_unknownFields :: !Data.ProtoLens.FieldSet}
-                  deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show Reporter where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField Reporter "reporterId"
-           (Data.Word.Word64)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Reporter'reporterId
-               (\ x__ y__ -> x__{_Reporter'reporterId = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField Reporter "tags" ([KeyValue])
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Reporter'tags
-               (\ x__ y__ -> x__{_Reporter'tags = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
-                (\ _ y__ -> Data.Vector.Generic.fromList y__)
-instance Data.ProtoLens.Field.HasField Reporter "vec'tags"
-           (Data.Vector.Vector KeyValue)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Reporter'tags
-               (\ x__ y__ -> x__{_Reporter'tags = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Message Reporter where
-        messageName _ = Data.Text.pack "lightstep.collector.Reporter"
-        fieldsByTag
-          = let reporterId__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "reporter_id"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Data.ProtoLens.Field.field @"reporterId"))
-                      :: Data.ProtoLens.FieldDescriptor Reporter
-                tags__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "tags"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor KeyValue)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Data.ProtoLens.Field.field @"tags"))
-                      :: Data.ProtoLens.FieldDescriptor Reporter
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, reporterId__field_descriptor),
-                 (Data.ProtoLens.Tag 4, tags__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _Reporter'_unknownFields
-              (\ x__ y__ -> x__{_Reporter'_unknownFields = y__})
-        defMessage
-          = Reporter{_Reporter'reporterId = Data.ProtoLens.fieldDefault,
-                     _Reporter'tags = Data.Vector.Generic.empty,
-                     _Reporter'_unknownFields = ([])}
-        parseMessage
-          = let loop ::
-                     Reporter ->
-                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
-                         Data.ProtoLens.Encoding.Growing.RealWorld
-                         KeyValue
-                         -> Data.ProtoLens.Encoding.Bytes.Parser Reporter
-                loop x mutable'tags
-                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-                       if end then
-                         do frozen'tags <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                mutable'tags)
-                            let missing = [] in
-                              if Prelude.null missing then Prelude.return () else
-                                Prelude.fail
-                                  (("Missing required fields: ") Prelude.++
-                                     Prelude.show (missing :: ([Prelude.String])))
-                            Prelude.return
-                              (Lens.Family2.over Data.ProtoLens.unknownFields
-                                 (\ !t -> Prelude.reverse t)
-                                 (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'tags")
-                                    frozen'tags
-                                    x))
-                         else
-                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                            case tag of
-                                8 -> do y <- (Data.ProtoLens.Encoding.Bytes.getVarInt)
-                                               Data.ProtoLens.Encoding.Bytes.<?> "reporter_id"
-                                        loop
-                                          (Lens.Family2.set
-                                             (Data.ProtoLens.Field.field @"reporterId")
-                                             y
-                                             x)
-                                          mutable'tags
-                                34 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                   Data.ProtoLens.Encoding.Bytes.isolate
-                                                     (Prelude.fromIntegral len)
-                                                     Data.ProtoLens.parseMessage)
-                                                 Data.ProtoLens.Encoding.Bytes.<?> "tags"
-                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                                (Data.ProtoLens.Encoding.Growing.append mutable'tags
-                                                   y)
-                                         loop x v
-                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                                   wire
-                                           loop
-                                             (Lens.Family2.over Data.ProtoLens.unknownFields
-                                                (\ !t -> (:) y t)
-                                                x)
-                                             mutable'tags
-              in
-              (do mutable'tags <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                    Data.ProtoLens.Encoding.Growing.new
-                  loop Data.ProtoLens.defMessage mutable'tags)
-                Data.ProtoLens.Encoding.Bytes.<?> "Reporter"
-        buildMessage
-          = (\ _x ->
-               (let _v
-                      = Lens.Family2.view (Data.ProtoLens.Field.field @"reporterId") _x
-                  in
-                  if (_v) Prelude.== Data.ProtoLens.fieldDefault then
-                    Data.Monoid.mempty else
-                    (Data.ProtoLens.Encoding.Bytes.putVarInt 8) Data.Monoid.<>
-                      Data.ProtoLens.Encoding.Bytes.putVarInt _v)
-                 Data.Monoid.<>
-                 (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                    (\ _v ->
-                       (Data.ProtoLens.Encoding.Bytes.putVarInt 34) Data.Monoid.<>
-                         (((\ bs ->
-                              (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                            Prelude.. Data.ProtoLens.encodeMessage)
-                           _v)
-                    (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'tags") _x))
-                   Data.Monoid.<>
-                   Data.ProtoLens.Encoding.Wire.buildFieldSet
-                     (Lens.Family2.view Data.ProtoLens.unknownFields _x))
-instance Control.DeepSeq.NFData Reporter where
-        rnf
-          = (\ x__ ->
-               Control.DeepSeq.deepseq (_Reporter'_unknownFields x__)
-                 (Control.DeepSeq.deepseq (_Reporter'reporterId x__)
-                    (Control.DeepSeq.deepseq (_Reporter'tags x__) (()))))
-{- | Fields :
-
-    * 'Proto.Collector_Fields.spanContext' @:: Lens' Span SpanContext@
-    * 'Proto.Collector_Fields.maybe'spanContext' @:: Lens' Span (Prelude.Maybe SpanContext)@
-    * 'Proto.Collector_Fields.operationName' @:: Lens' Span Data.Text.Text@
-    * 'Proto.Collector_Fields.references' @:: Lens' Span [Reference]@
-    * 'Proto.Collector_Fields.vec'references' @:: Lens' Span (Data.Vector.Vector Reference)@
-    * 'Proto.Collector_Fields.startTimestamp' @:: Lens' Span Proto.Google.Protobuf.Timestamp.Timestamp@
-    * 'Proto.Collector_Fields.maybe'startTimestamp' @:: Lens' Span
-  (Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp)@
-    * 'Proto.Collector_Fields.durationMicros' @:: Lens' Span Data.Word.Word64@
-    * 'Proto.Collector_Fields.tags' @:: Lens' Span [KeyValue]@
-    * 'Proto.Collector_Fields.vec'tags' @:: Lens' Span (Data.Vector.Vector KeyValue)@
-    * 'Proto.Collector_Fields.logs' @:: Lens' Span [Log]@
-    * 'Proto.Collector_Fields.vec'logs' @:: Lens' Span (Data.Vector.Vector Log)@
- -}
-data Span = Span{_Span'spanContext :: !(Prelude.Maybe SpanContext),
-                 _Span'operationName :: !Data.Text.Text,
-                 _Span'references :: !(Data.Vector.Vector Reference),
-                 _Span'startTimestamp ::
-                 !(Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp),
-                 _Span'durationMicros :: !Data.Word.Word64,
-                 _Span'tags :: !(Data.Vector.Vector KeyValue),
-                 _Span'logs :: !(Data.Vector.Vector Log),
-                 _Span'_unknownFields :: !Data.ProtoLens.FieldSet}
-              deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show Span where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField Span "spanContext"
-           (SpanContext)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Span'spanContext
-               (\ x__ y__ -> x__{_Span'spanContext = y__}))
-              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.defMessage
-instance Data.ProtoLens.Field.HasField Span "maybe'spanContext"
-           (Prelude.Maybe SpanContext)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Span'spanContext
-               (\ x__ y__ -> x__{_Span'spanContext = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField Span "operationName"
-           (Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Span'operationName
-               (\ x__ y__ -> x__{_Span'operationName = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField Span "references"
-           ([Reference])
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Span'references
-               (\ x__ y__ -> x__{_Span'references = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
-                (\ _ y__ -> Data.Vector.Generic.fromList y__)
-instance Data.ProtoLens.Field.HasField Span "vec'references"
-           (Data.Vector.Vector Reference)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Span'references
-               (\ x__ y__ -> x__{_Span'references = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField Span "startTimestamp"
-           (Proto.Google.Protobuf.Timestamp.Timestamp)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Span'startTimestamp
-               (\ x__ y__ -> x__{_Span'startTimestamp = y__}))
-              Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.defMessage
-instance Data.ProtoLens.Field.HasField Span "maybe'startTimestamp"
-           (Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Span'startTimestamp
-               (\ x__ y__ -> x__{_Span'startTimestamp = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField Span "durationMicros"
-           (Data.Word.Word64)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Span'durationMicros
-               (\ x__ y__ -> x__{_Span'durationMicros = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField Span "tags" ([KeyValue])
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Span'tags
-               (\ x__ y__ -> x__{_Span'tags = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
-                (\ _ y__ -> Data.Vector.Generic.fromList y__)
-instance Data.ProtoLens.Field.HasField Span "vec'tags"
-           (Data.Vector.Vector KeyValue)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Span'tags
-               (\ x__ y__ -> x__{_Span'tags = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField Span "logs" ([Log]) where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Span'logs
-               (\ x__ y__ -> x__{_Span'logs = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
-                (\ _ y__ -> Data.Vector.Generic.fromList y__)
-instance Data.ProtoLens.Field.HasField Span "vec'logs"
-           (Data.Vector.Vector Log)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Span'logs
-               (\ x__ y__ -> x__{_Span'logs = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Message Span where
-        messageName _ = Data.Text.pack "lightstep.collector.Span"
-        fieldsByTag
-          = let spanContext__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "span_context"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor SpanContext)
-                      (Data.ProtoLens.OptionalField
-                         (Data.ProtoLens.Field.field @"maybe'spanContext"))
-                      :: Data.ProtoLens.FieldDescriptor Span
-                operationName__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "operation_name"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Data.ProtoLens.Field.field @"operationName"))
-                      :: Data.ProtoLens.FieldDescriptor Span
-                references__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "references"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor Reference)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Data.ProtoLens.Field.field @"references"))
-                      :: Data.ProtoLens.FieldDescriptor Span
-                startTimestamp__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "start_timestamp"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor
-                           Proto.Google.Protobuf.Timestamp.Timestamp)
-                      (Data.ProtoLens.OptionalField
-                         (Data.ProtoLens.Field.field @"maybe'startTimestamp"))
-                      :: Data.ProtoLens.FieldDescriptor Span
-                durationMicros__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "duration_micros"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Data.ProtoLens.Field.field @"durationMicros"))
-                      :: Data.ProtoLens.FieldDescriptor Span
-                tags__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "tags"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor KeyValue)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Data.ProtoLens.Field.field @"tags"))
-                      :: Data.ProtoLens.FieldDescriptor Span
-                logs__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "logs"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor Log)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Data.ProtoLens.Field.field @"logs"))
-                      :: Data.ProtoLens.FieldDescriptor Span
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, spanContext__field_descriptor),
-                 (Data.ProtoLens.Tag 2, operationName__field_descriptor),
-                 (Data.ProtoLens.Tag 3, references__field_descriptor),
-                 (Data.ProtoLens.Tag 4, startTimestamp__field_descriptor),
-                 (Data.ProtoLens.Tag 5, durationMicros__field_descriptor),
-                 (Data.ProtoLens.Tag 6, tags__field_descriptor),
-                 (Data.ProtoLens.Tag 7, logs__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _Span'_unknownFields
-              (\ x__ y__ -> x__{_Span'_unknownFields = y__})
-        defMessage
-          = Span{_Span'spanContext = Prelude.Nothing,
-                 _Span'operationName = Data.ProtoLens.fieldDefault,
-                 _Span'references = Data.Vector.Generic.empty,
-                 _Span'startTimestamp = Prelude.Nothing,
-                 _Span'durationMicros = Data.ProtoLens.fieldDefault,
-                 _Span'tags = Data.Vector.Generic.empty,
-                 _Span'logs = Data.Vector.Generic.empty,
-                 _Span'_unknownFields = ([])}
-        parseMessage
-          = let loop ::
-                     Span ->
-                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
-                         Data.ProtoLens.Encoding.Growing.RealWorld
-                         Log
-                         ->
-                         Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
-                           Data.ProtoLens.Encoding.Growing.RealWorld
-                           Reference
-                           ->
-                           Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
-                             Data.ProtoLens.Encoding.Growing.RealWorld
-                             KeyValue
-                             -> Data.ProtoLens.Encoding.Bytes.Parser Span
-                loop x mutable'logs mutable'references mutable'tags
-                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-                       if end then
-                         do frozen'logs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                mutable'logs)
-                            frozen'references <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                                   (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                      mutable'references)
-                            frozen'tags <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                mutable'tags)
-                            let missing = [] in
-                              if Prelude.null missing then Prelude.return () else
-                                Prelude.fail
-                                  (("Missing required fields: ") Prelude.++
-                                     Prelude.show (missing :: ([Prelude.String])))
-                            Prelude.return
-                              (Lens.Family2.over Data.ProtoLens.unknownFields
-                                 (\ !t -> Prelude.reverse t)
-                                 (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'logs")
-                                    frozen'logs
-                                    (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'references")
-                                       frozen'references
-                                       (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'tags")
-                                          frozen'tags
-                                          x))))
-                         else
-                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                            case tag of
-                                10 -> do y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                  Data.ProtoLens.Encoding.Bytes.isolate
-                                                    (Prelude.fromIntegral len)
-                                                    Data.ProtoLens.parseMessage)
-                                                Data.ProtoLens.Encoding.Bytes.<?> "span_context"
-                                         loop
-                                           (Lens.Family2.set
-                                              (Data.ProtoLens.Field.field @"spanContext")
-                                              y
-                                              x)
-                                           mutable'logs
-                                           mutable'references
-                                           mutable'tags
-                                18 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                              Data.ProtoLens.Encoding.Bytes.getBytes
-                                                                (Prelude.fromIntegral len)
-                                                  Data.ProtoLens.Encoding.Bytes.runEither
-                                                    (case Data.Text.Encoding.decodeUtf8' value of
-                                                         Prelude.Left err -> Prelude.Left
-                                                                               (Prelude.show err)
-                                                         Prelude.Right r -> Prelude.Right r))
-                                                Data.ProtoLens.Encoding.Bytes.<?> "operation_name"
-                                         loop
-                                           (Lens.Family2.set
-                                              (Data.ProtoLens.Field.field @"operationName")
-                                              y
-                                              x)
-                                           mutable'logs
-                                           mutable'references
-                                           mutable'tags
-                                26 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                   Data.ProtoLens.Encoding.Bytes.isolate
-                                                     (Prelude.fromIntegral len)
-                                                     Data.ProtoLens.parseMessage)
-                                                 Data.ProtoLens.Encoding.Bytes.<?> "references"
-                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                                (Data.ProtoLens.Encoding.Growing.append
-                                                   mutable'references
-                                                   y)
-                                         loop x mutable'logs v mutable'tags
-                                34 -> do y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                  Data.ProtoLens.Encoding.Bytes.isolate
-                                                    (Prelude.fromIntegral len)
-                                                    Data.ProtoLens.parseMessage)
-                                                Data.ProtoLens.Encoding.Bytes.<?> "start_timestamp"
-                                         loop
-                                           (Lens.Family2.set
-                                              (Data.ProtoLens.Field.field @"startTimestamp")
-                                              y
-                                              x)
-                                           mutable'logs
-                                           mutable'references
-                                           mutable'tags
-                                40 -> do y <- (Data.ProtoLens.Encoding.Bytes.getVarInt)
-                                                Data.ProtoLens.Encoding.Bytes.<?> "duration_micros"
-                                         loop
-                                           (Lens.Family2.set
-                                              (Data.ProtoLens.Field.field @"durationMicros")
-                                              y
-                                              x)
-                                           mutable'logs
-                                           mutable'references
-                                           mutable'tags
-                                50 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                   Data.ProtoLens.Encoding.Bytes.isolate
-                                                     (Prelude.fromIntegral len)
-                                                     Data.ProtoLens.parseMessage)
-                                                 Data.ProtoLens.Encoding.Bytes.<?> "tags"
-                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                                (Data.ProtoLens.Encoding.Growing.append mutable'tags
-                                                   y)
-                                         loop x mutable'logs mutable'references v
-                                58 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                   Data.ProtoLens.Encoding.Bytes.isolate
-                                                     (Prelude.fromIntegral len)
-                                                     Data.ProtoLens.parseMessage)
-                                                 Data.ProtoLens.Encoding.Bytes.<?> "logs"
-                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                                (Data.ProtoLens.Encoding.Growing.append mutable'logs
-                                                   y)
-                                         loop x v mutable'references mutable'tags
-                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                                   wire
-                                           loop
-                                             (Lens.Family2.over Data.ProtoLens.unknownFields
-                                                (\ !t -> (:) y t)
-                                                x)
-                                             mutable'logs
-                                             mutable'references
-                                             mutable'tags
-              in
-              (do mutable'logs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                    Data.ProtoLens.Encoding.Growing.new
-                  mutable'references <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                          Data.ProtoLens.Encoding.Growing.new
-                  mutable'tags <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                    Data.ProtoLens.Encoding.Growing.new
-                  loop Data.ProtoLens.defMessage mutable'logs mutable'references
-                    mutable'tags)
-                Data.ProtoLens.Encoding.Bytes.<?> "Span"
-        buildMessage
-          = (\ _x ->
-               (case
-                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'spanContext")
-                    _x
-                  of
-                    (Prelude.Nothing) -> Data.Monoid.mempty
-                    Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
-                                         Data.Monoid.<>
-                                         (((\ bs ->
-                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                                Data.Monoid.<>
-                                                Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                            Prelude.. Data.ProtoLens.encodeMessage)
-                                           _v)
-                 Data.Monoid.<>
-                 (let _v
-                        = Lens.Family2.view (Data.ProtoLens.Field.field @"operationName")
-                            _x
-                    in
-                    if (_v) Prelude.== Data.ProtoLens.fieldDefault then
-                      Data.Monoid.mempty else
-                      (Data.ProtoLens.Encoding.Bytes.putVarInt 18) Data.Monoid.<>
-                        (((\ bs ->
-                             (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                (Prelude.fromIntegral (Data.ByteString.length bs)))
-                               Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                           Prelude.. Data.Text.Encoding.encodeUtf8)
-                          _v)
-                   Data.Monoid.<>
-                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                      (\ _v ->
-                         (Data.ProtoLens.Encoding.Bytes.putVarInt 26) Data.Monoid.<>
-                           (((\ bs ->
-                                (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                  Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                              Prelude.. Data.ProtoLens.encodeMessage)
-                             _v)
-                      (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'references")
-                         _x))
-                     Data.Monoid.<>
-                     (case
-                        Lens.Family2.view
-                          (Data.ProtoLens.Field.field @"maybe'startTimestamp")
-                          _x
-                        of
-                          (Prelude.Nothing) -> Data.Monoid.mempty
-                          Prelude.Just _v -> (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
-                                               Data.Monoid.<>
-                                               (((\ bs ->
-                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                       (Prelude.fromIntegral
-                                                          (Data.ByteString.length bs)))
-                                                      Data.Monoid.<>
-                                                      Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                                  Prelude.. Data.ProtoLens.encodeMessage)
-                                                 _v)
-                       Data.Monoid.<>
-                       (let _v
-                              = Lens.Family2.view (Data.ProtoLens.Field.field @"durationMicros")
-                                  _x
-                          in
-                          if (_v) Prelude.== Data.ProtoLens.fieldDefault then
-                            Data.Monoid.mempty else
-                            (Data.ProtoLens.Encoding.Bytes.putVarInt 40) Data.Monoid.<>
-                              Data.ProtoLens.Encoding.Bytes.putVarInt _v)
-                         Data.Monoid.<>
-                         (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                            (\ _v ->
-                               (Data.ProtoLens.Encoding.Bytes.putVarInt 50) Data.Monoid.<>
-                                 (((\ bs ->
-                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                        Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                    Prelude.. Data.ProtoLens.encodeMessage)
-                                   _v)
-                            (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'tags") _x))
-                           Data.Monoid.<>
-                           (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                              (\ _v ->
-                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 58) Data.Monoid.<>
-                                   (((\ bs ->
-                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                          Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                      Prelude.. Data.ProtoLens.encodeMessage)
-                                     _v)
-                              (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'logs") _x))
-                             Data.Monoid.<>
-                             Data.ProtoLens.Encoding.Wire.buildFieldSet
-                               (Lens.Family2.view Data.ProtoLens.unknownFields _x))
-instance Control.DeepSeq.NFData Span where
-        rnf
-          = (\ x__ ->
-               Control.DeepSeq.deepseq (_Span'_unknownFields x__)
-                 (Control.DeepSeq.deepseq (_Span'spanContext x__)
-                    (Control.DeepSeq.deepseq (_Span'operationName x__)
-                       (Control.DeepSeq.deepseq (_Span'references x__)
-                          (Control.DeepSeq.deepseq (_Span'startTimestamp x__)
-                             (Control.DeepSeq.deepseq (_Span'durationMicros x__)
-                                (Control.DeepSeq.deepseq (_Span'tags x__)
-                                   (Control.DeepSeq.deepseq (_Span'logs x__) (())))))))))
-{- | Fields :
-
-    * 'Proto.Collector_Fields.traceId' @:: Lens' SpanContext Data.Word.Word64@
-    * 'Proto.Collector_Fields.spanId' @:: Lens' SpanContext Data.Word.Word64@
-    * 'Proto.Collector_Fields.baggage' @:: Lens' SpanContext (Data.Map.Map Data.Text.Text Data.Text.Text)@
- -}
-data SpanContext = SpanContext{_SpanContext'traceId ::
-                               !Data.Word.Word64,
-                               _SpanContext'spanId :: !Data.Word.Word64,
-                               _SpanContext'baggage ::
-                               !(Data.Map.Map Data.Text.Text Data.Text.Text),
-                               _SpanContext'_unknownFields :: !Data.ProtoLens.FieldSet}
-                     deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show SpanContext where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField SpanContext "traceId"
-           (Data.Word.Word64)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _SpanContext'traceId
-               (\ x__ y__ -> x__{_SpanContext'traceId = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField SpanContext "spanId"
-           (Data.Word.Word64)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _SpanContext'spanId
-               (\ x__ y__ -> x__{_SpanContext'spanId = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField SpanContext "baggage"
-           (Data.Map.Map Data.Text.Text Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _SpanContext'baggage
-               (\ x__ y__ -> x__{_SpanContext'baggage = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Message SpanContext where
-        messageName _ = Data.Text.pack "lightstep.collector.SpanContext"
-        fieldsByTag
-          = let traceId__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "trace_id"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Data.ProtoLens.Field.field @"traceId"))
-                      :: Data.ProtoLens.FieldDescriptor SpanContext
-                spanId__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "span_id"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Data.ProtoLens.Field.field @"spanId"))
-                      :: Data.ProtoLens.FieldDescriptor SpanContext
-                baggage__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "baggage"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor SpanContext'BaggageEntry)
-                      (Data.ProtoLens.MapField (Data.ProtoLens.Field.field @"key")
-                         (Data.ProtoLens.Field.field @"value")
-                         (Data.ProtoLens.Field.field @"baggage"))
-                      :: Data.ProtoLens.FieldDescriptor SpanContext
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, traceId__field_descriptor),
-                 (Data.ProtoLens.Tag 2, spanId__field_descriptor),
-                 (Data.ProtoLens.Tag 3, baggage__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _SpanContext'_unknownFields
-              (\ x__ y__ -> x__{_SpanContext'_unknownFields = y__})
-        defMessage
-          = SpanContext{_SpanContext'traceId = Data.ProtoLens.fieldDefault,
-                        _SpanContext'spanId = Data.ProtoLens.fieldDefault,
-                        _SpanContext'baggage = Data.Map.empty,
-                        _SpanContext'_unknownFields = ([])}
-        parseMessage
-          = let loop ::
-                     SpanContext -> Data.ProtoLens.Encoding.Bytes.Parser SpanContext
-                loop x
-                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-                       if end then
-                         do let missing = [] in
-                              if Prelude.null missing then Prelude.return () else
-                                Prelude.fail
-                                  (("Missing required fields: ") Prelude.++
-                                     Prelude.show (missing :: ([Prelude.String])))
-                            Prelude.return
-                              (Lens.Family2.over Data.ProtoLens.unknownFields
-                                 (\ !t -> Prelude.reverse t)
-                                 x)
-                         else
-                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                            case tag of
-                                8 -> do y <- (Data.ProtoLens.Encoding.Bytes.getVarInt)
-                                               Data.ProtoLens.Encoding.Bytes.<?> "trace_id"
-                                        loop
-                                          (Lens.Family2.set (Data.ProtoLens.Field.field @"traceId")
-                                             y
-                                             x)
-                                16 -> do y <- (Data.ProtoLens.Encoding.Bytes.getVarInt)
-                                                Data.ProtoLens.Encoding.Bytes.<?> "span_id"
-                                         loop
-                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"spanId")
-                                              y
-                                              x)
-                                26 -> do !(entry ::
-                                             SpanContext'BaggageEntry) <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                                              Data.ProtoLens.Encoding.Bytes.isolate
-                                                                                (Prelude.fromIntegral
-                                                                                   len)
-                                                                                Data.ProtoLens.parseMessage)
-                                                                            Data.ProtoLens.Encoding.Bytes.<?>
-                                                                            "baggage"
-                                         let key
-                                               = Lens.Family2.view
-                                                   (Data.ProtoLens.Field.field @"key")
-                                                   entry
-                                             value
-                                               = Lens.Family2.view
-                                                   (Data.ProtoLens.Field.field @"value")
-                                                   entry
-                                           in
-                                           loop
-                                             (Lens.Family2.over
-                                                (Data.ProtoLens.Field.field @"baggage")
-                                                (\ !t -> Data.Map.insert key value t)
-                                                x)
-                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                                   wire
-                                           loop
-                                             (Lens.Family2.over Data.ProtoLens.unknownFields
-                                                (\ !t -> (:) y t)
-                                                x)
-              in
-              (do loop Data.ProtoLens.defMessage)
-                Data.ProtoLens.Encoding.Bytes.<?> "SpanContext"
-        buildMessage
-          = (\ _x ->
-               (let _v
-                      = Lens.Family2.view (Data.ProtoLens.Field.field @"traceId") _x
-                  in
-                  if (_v) Prelude.== Data.ProtoLens.fieldDefault then
-                    Data.Monoid.mempty else
-                    (Data.ProtoLens.Encoding.Bytes.putVarInt 8) Data.Monoid.<>
-                      Data.ProtoLens.Encoding.Bytes.putVarInt _v)
-                 Data.Monoid.<>
-                 (let _v
-                        = Lens.Family2.view (Data.ProtoLens.Field.field @"spanId") _x
-                    in
-                    if (_v) Prelude.== Data.ProtoLens.fieldDefault then
-                      Data.Monoid.mempty else
-                      (Data.ProtoLens.Encoding.Bytes.putVarInt 16) Data.Monoid.<>
-                        Data.ProtoLens.Encoding.Bytes.putVarInt _v)
-                   Data.Monoid.<>
-                   (Data.Monoid.mconcat
-                      (Prelude.map
-                         (\ _v ->
-                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26) Data.Monoid.<>
-                              (((\ bs ->
-                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                     Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                 Prelude.. Data.ProtoLens.encodeMessage)
-                                (Lens.Family2.set (Data.ProtoLens.Field.field @"key")
-                                   (Prelude.fst _v)
-                                   (Lens.Family2.set (Data.ProtoLens.Field.field @"value")
-                                      (Prelude.snd _v)
-                                      (Data.ProtoLens.defMessage :: SpanContext'BaggageEntry))))
-                         (Data.Map.toList
-                            (Lens.Family2.view (Data.ProtoLens.Field.field @"baggage") _x))))
-                     Data.Monoid.<>
-                     Data.ProtoLens.Encoding.Wire.buildFieldSet
-                       (Lens.Family2.view Data.ProtoLens.unknownFields _x))
-instance Control.DeepSeq.NFData SpanContext where
-        rnf
-          = (\ x__ ->
-               Control.DeepSeq.deepseq (_SpanContext'_unknownFields x__)
-                 (Control.DeepSeq.deepseq (_SpanContext'traceId x__)
-                    (Control.DeepSeq.deepseq (_SpanContext'spanId x__)
-                       (Control.DeepSeq.deepseq (_SpanContext'baggage x__) (())))))
-{- | Fields :
-
-    * 'Proto.Collector_Fields.key' @:: Lens' SpanContext'BaggageEntry Data.Text.Text@
-    * 'Proto.Collector_Fields.value' @:: Lens' SpanContext'BaggageEntry Data.Text.Text@
- -}
-data SpanContext'BaggageEntry = SpanContext'BaggageEntry{_SpanContext'BaggageEntry'key
-                                                         :: !Data.Text.Text,
-                                                         _SpanContext'BaggageEntry'value ::
-                                                         !Data.Text.Text,
-                                                         _SpanContext'BaggageEntry'_unknownFields ::
-                                                         !Data.ProtoLens.FieldSet}
-                                  deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show SpanContext'BaggageEntry where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField SpanContext'BaggageEntry
-           "key"
-           (Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _SpanContext'BaggageEntry'key
-               (\ x__ y__ -> x__{_SpanContext'BaggageEntry'key = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField SpanContext'BaggageEntry
-           "value"
-           (Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _SpanContext'BaggageEntry'value
-               (\ x__ y__ -> x__{_SpanContext'BaggageEntry'value = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Message SpanContext'BaggageEntry where
-        messageName _
-          = Data.Text.pack "lightstep.collector.SpanContext.BaggageEntry"
-        fieldsByTag
-          = let key__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "key"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Data.ProtoLens.Field.field @"key"))
-                      :: Data.ProtoLens.FieldDescriptor SpanContext'BaggageEntry
-                value__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Data.ProtoLens.Field.field @"value"))
-                      :: Data.ProtoLens.FieldDescriptor SpanContext'BaggageEntry
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, key__field_descriptor),
-                 (Data.ProtoLens.Tag 2, value__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens
-              _SpanContext'BaggageEntry'_unknownFields
-              (\ x__ y__ -> x__{_SpanContext'BaggageEntry'_unknownFields = y__})
-        defMessage
-          = SpanContext'BaggageEntry{_SpanContext'BaggageEntry'key =
-                                       Data.ProtoLens.fieldDefault,
-                                     _SpanContext'BaggageEntry'value = Data.ProtoLens.fieldDefault,
-                                     _SpanContext'BaggageEntry'_unknownFields = ([])}
-        parseMessage
-          = let loop ::
-                     SpanContext'BaggageEntry ->
-                       Data.ProtoLens.Encoding.Bytes.Parser SpanContext'BaggageEntry
-                loop x
-                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-                       if end then
-                         do let missing = [] in
-                              if Prelude.null missing then Prelude.return () else
-                                Prelude.fail
-                                  (("Missing required fields: ") Prelude.++
-                                     Prelude.show (missing :: ([Prelude.String])))
-                            Prelude.return
-                              (Lens.Family2.over Data.ProtoLens.unknownFields
-                                 (\ !t -> Prelude.reverse t)
-                                 x)
-                         else
-                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                            case tag of
-                                10 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                              Data.ProtoLens.Encoding.Bytes.getBytes
-                                                                (Prelude.fromIntegral len)
-                                                  Data.ProtoLens.Encoding.Bytes.runEither
-                                                    (case Data.Text.Encoding.decodeUtf8' value of
-                                                         Prelude.Left err -> Prelude.Left
-                                                                               (Prelude.show err)
-                                                         Prelude.Right r -> Prelude.Right r))
-                                                Data.ProtoLens.Encoding.Bytes.<?> "key"
-                                         loop
-                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"key") y
-                                              x)
-                                18 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                              Data.ProtoLens.Encoding.Bytes.getBytes
-                                                                (Prelude.fromIntegral len)
-                                                  Data.ProtoLens.Encoding.Bytes.runEither
-                                                    (case Data.Text.Encoding.decodeUtf8' value of
-                                                         Prelude.Left err -> Prelude.Left
-                                                                               (Prelude.show err)
-                                                         Prelude.Right r -> Prelude.Right r))
-                                                Data.ProtoLens.Encoding.Bytes.<?> "value"
-                                         loop
-                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"value") y
-                                              x)
-                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                                   wire
-                                           loop
-                                             (Lens.Family2.over Data.ProtoLens.unknownFields
-                                                (\ !t -> (:) y t)
-                                                x)
-              in
-              (do loop Data.ProtoLens.defMessage)
-                Data.ProtoLens.Encoding.Bytes.<?> "BaggageEntry"
-        buildMessage
-          = (\ _x ->
-               (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"key") _x
-                  in
-                  if (_v) Prelude.== Data.ProtoLens.fieldDefault then
-                    Data.Monoid.mempty else
-                    (Data.ProtoLens.Encoding.Bytes.putVarInt 10) Data.Monoid.<>
-                      (((\ bs ->
-                           (Data.ProtoLens.Encoding.Bytes.putVarInt
-                              (Prelude.fromIntegral (Data.ByteString.length bs)))
-                             Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                         Prelude.. Data.Text.Encoding.encodeUtf8)
-                        _v)
-                 Data.Monoid.<>
-                 (let _v
-                        = Lens.Family2.view (Data.ProtoLens.Field.field @"value") _x
-                    in
-                    if (_v) Prelude.== Data.ProtoLens.fieldDefault then
-                      Data.Monoid.mempty else
-                      (Data.ProtoLens.Encoding.Bytes.putVarInt 18) Data.Monoid.<>
-                        (((\ bs ->
-                             (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                (Prelude.fromIntegral (Data.ByteString.length bs)))
-                               Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                           Prelude.. Data.Text.Encoding.encodeUtf8)
-                          _v)
-                   Data.Monoid.<>
-                   Data.ProtoLens.Encoding.Wire.buildFieldSet
-                     (Lens.Family2.view Data.ProtoLens.unknownFields _x))
-instance Control.DeepSeq.NFData SpanContext'BaggageEntry where
-        rnf
-          = (\ x__ ->
-               Control.DeepSeq.deepseq
-                 (_SpanContext'BaggageEntry'_unknownFields x__)
-                 (Control.DeepSeq.deepseq (_SpanContext'BaggageEntry'key x__)
-                    (Control.DeepSeq.deepseq (_SpanContext'BaggageEntry'value x__)
-                       (()))))
-data CollectorService = CollectorService{}
-                          deriving ()
-instance Data.ProtoLens.Service.Types.Service CollectorService
-         where
-        type ServiceName CollectorService = "CollectorService"
-        type ServicePackage CollectorService = "lightstep.collector"
-        type ServiceMethods CollectorService = '["report"]
-instance Data.ProtoLens.Service.Types.HasMethodImpl
-           CollectorService
-           "report"
-         where
-        type MethodName CollectorService "report" = "Report"
-        type MethodInput CollectorService "report" = ReportRequest
-        type MethodOutput CollectorService "report" = ReportResponse
-        type MethodStreamingType CollectorService "report" =
-             'Data.ProtoLens.Service.Types.NonStreaming
+{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies, UndecidableInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances, PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds, BangPatterns, TypeApplications, OverloadedStrings, DerivingStrategies#-}
+{-# OPTIONS_GHC -Wno-unused-imports#-}
+{-# OPTIONS_GHC -Wno-duplicate-exports#-}
+{-# OPTIONS_GHC -Wno-dodgy-exports#-}
+module Proto.Collector (
+        CollectorService(..), Auth(), Command(), InternalMetrics(),
+        KeyValue(), KeyValue'Value(..), _KeyValue'StringValue,
+        _KeyValue'IntValue, _KeyValue'DoubleValue, _KeyValue'BoolValue,
+        _KeyValue'JsonValue, Log(), MetricsSample(),
+        MetricsSample'Value(..), _MetricsSample'IntValue,
+        _MetricsSample'DoubleValue, Reference(),
+        Reference'Relationship(..), Reference'Relationship(),
+        Reference'Relationship'UnrecognizedValue, ReportRequest(),
+        ReportResponse(), Reporter(), Span(), SpanContext(),
+        SpanContext'BaggageEntry()
+    ) where
+import qualified Data.ProtoLens.Runtime.Control.DeepSeq as Control.DeepSeq
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Prism as Data.ProtoLens.Prism
+import qualified Data.ProtoLens.Runtime.Prelude as Prelude
+import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int
+import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid
+import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens as Data.ProtoLens
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes as Data.ProtoLens.Encoding.Bytes
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing as Data.ProtoLens.Encoding.Growing
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe as Data.ProtoLens.Encoding.Parser.Unsafe
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire as Data.ProtoLens.Encoding.Wire
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field as Data.ProtoLens.Field
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum as Data.ProtoLens.Message.Enum
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types as Data.ProtoLens.Service.Types
+import qualified Data.ProtoLens.Runtime.Lens.Family2 as Lens.Family2
+import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked as Lens.Family2.Unchecked
+import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text
+import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map
+import qualified Data.ProtoLens.Runtime.Data.ByteString as Data.ByteString
+import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8 as Data.ByteString.Char8
+import qualified Data.ProtoLens.Runtime.Data.Text.Encoding as Data.Text.Encoding
+import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector
+import qualified Data.ProtoLens.Runtime.Data.Vector.Generic as Data.Vector.Generic
+import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed as Data.Vector.Unboxed
+import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read
+import qualified Proto.Google.Api.Annotations
+import qualified Proto.Google.Protobuf.Timestamp
+{- | Fields :
+     
+         * 'Proto.Collector_Fields.accessToken' @:: Lens' Auth Data.Text.Text@ -}
+data Auth
+  = Auth'_constructor {_Auth'accessToken :: !Data.Text.Text,
+                       _Auth'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show Auth where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField Auth "accessToken" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Auth'accessToken (\ x__ y__ -> x__ {_Auth'accessToken = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message Auth where
+  messageName _ = Data.Text.pack "lightstep.collector.Auth"
+  packedMessageDescriptor _
+    = "\n\
+      \\EOTAuth\DC2!\n\
+      \\faccess_token\CAN\SOH \SOH(\tR\vaccessToken"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        accessToken__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "access_token"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"accessToken")) ::
+              Data.ProtoLens.FieldDescriptor Auth
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, accessToken__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _Auth'_unknownFields
+        (\ x__ y__ -> x__ {_Auth'_unknownFields = y__})
+  defMessage
+    = Auth'_constructor
+        {_Auth'accessToken = Data.ProtoLens.fieldDefault,
+         _Auth'_unknownFields = []}
+  parseMessage
+    = let
+        loop :: Auth -> Data.ProtoLens.Encoding.Bytes.Parser Auth
+        loop x
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                       Data.ProtoLens.Encoding.Bytes.getBytes
+                                                         (Prelude.fromIntegral len)
+                                           Data.ProtoLens.Encoding.Bytes.runEither
+                                             (case Data.Text.Encoding.decodeUtf8' value of
+                                                (Prelude.Left err)
+                                                  -> Prelude.Left (Prelude.show err)
+                                                (Prelude.Right r) -> Prelude.Right r))
+                                       "access_token"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"accessToken") y x)
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do loop Data.ProtoLens.defMessage) "Auth"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let
+                _v
+                  = Lens.Family2.view (Data.ProtoLens.Field.field @"accessToken") _x
+              in
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                      ((Prelude..)
+                         (\ bs
+                            -> (Data.Monoid.<>)
+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                         Data.Text.Encoding.encodeUtf8 _v))
+             (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData Auth where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_Auth'_unknownFields x__)
+             (Control.DeepSeq.deepseq (_Auth'accessToken x__) ())
+{- | Fields :
+     
+         * 'Proto.Collector_Fields.disable' @:: Lens' Command Prelude.Bool@
+         * 'Proto.Collector_Fields.devMode' @:: Lens' Command Prelude.Bool@ -}
+data Command
+  = Command'_constructor {_Command'disable :: !Prelude.Bool,
+                          _Command'devMode :: !Prelude.Bool,
+                          _Command'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show Command where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField Command "disable" Prelude.Bool where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Command'disable (\ x__ y__ -> x__ {_Command'disable = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Command "devMode" Prelude.Bool where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Command'devMode (\ x__ y__ -> x__ {_Command'devMode = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message Command where
+  messageName _ = Data.Text.pack "lightstep.collector.Command"
+  packedMessageDescriptor _
+    = "\n\
+      \\aCommand\DC2\CAN\n\
+      \\adisable\CAN\SOH \SOH(\bR\adisable\DC2\EM\n\
+      \\bdev_mode\CAN\STX \SOH(\bR\adevMode"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        disable__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "disable"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                 Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"disable")) ::
+              Data.ProtoLens.FieldDescriptor Command
+        devMode__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "dev_mode"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                 Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"devMode")) ::
+              Data.ProtoLens.FieldDescriptor Command
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, disable__field_descriptor),
+           (Data.ProtoLens.Tag 2, devMode__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _Command'_unknownFields
+        (\ x__ y__ -> x__ {_Command'_unknownFields = y__})
+  defMessage
+    = Command'_constructor
+        {_Command'disable = Data.ProtoLens.fieldDefault,
+         _Command'devMode = Data.ProtoLens.fieldDefault,
+         _Command'_unknownFields = []}
+  parseMessage
+    = let
+        loop :: Command -> Data.ProtoLens.Encoding.Bytes.Parser Command
+        loop x
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "disable"
+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"disable") y x)
+                        16
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "dev_mode"
+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"devMode") y x)
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do loop Data.ProtoLens.defMessage) "Command"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let
+                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"disable") _x
+              in
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
+                      ((Prelude..)
+                         Data.ProtoLens.Encoding.Bytes.putVarInt (\ b -> if b then 1 else 0)
+                         _v))
+             ((Data.Monoid.<>)
+                (let
+                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"devMode") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
+                         ((Prelude..)
+                            Data.ProtoLens.Encoding.Bytes.putVarInt (\ b -> if b then 1 else 0)
+                            _v))
+                (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
+instance Control.DeepSeq.NFData Command where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_Command'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_Command'disable x__)
+                (Control.DeepSeq.deepseq (_Command'devMode x__) ()))
+{- | Fields :
+     
+         * 'Proto.Collector_Fields.startTimestamp' @:: Lens' InternalMetrics Proto.Google.Protobuf.Timestamp.Timestamp@
+         * 'Proto.Collector_Fields.maybe'startTimestamp' @:: Lens' InternalMetrics (Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp)@
+         * 'Proto.Collector_Fields.durationMicros' @:: Lens' InternalMetrics Data.Word.Word64@
+         * 'Proto.Collector_Fields.logs' @:: Lens' InternalMetrics [Log]@
+         * 'Proto.Collector_Fields.vec'logs' @:: Lens' InternalMetrics (Data.Vector.Vector Log)@
+         * 'Proto.Collector_Fields.counts' @:: Lens' InternalMetrics [MetricsSample]@
+         * 'Proto.Collector_Fields.vec'counts' @:: Lens' InternalMetrics (Data.Vector.Vector MetricsSample)@
+         * 'Proto.Collector_Fields.gauges' @:: Lens' InternalMetrics [MetricsSample]@
+         * 'Proto.Collector_Fields.vec'gauges' @:: Lens' InternalMetrics (Data.Vector.Vector MetricsSample)@ -}
+data InternalMetrics
+  = InternalMetrics'_constructor {_InternalMetrics'startTimestamp :: !(Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp),
+                                  _InternalMetrics'durationMicros :: !Data.Word.Word64,
+                                  _InternalMetrics'logs :: !(Data.Vector.Vector Log),
+                                  _InternalMetrics'counts :: !(Data.Vector.Vector MetricsSample),
+                                  _InternalMetrics'gauges :: !(Data.Vector.Vector MetricsSample),
+                                  _InternalMetrics'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show InternalMetrics where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField InternalMetrics "startTimestamp" Proto.Google.Protobuf.Timestamp.Timestamp where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _InternalMetrics'startTimestamp
+           (\ x__ y__ -> x__ {_InternalMetrics'startTimestamp = y__}))
+        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField InternalMetrics "maybe'startTimestamp" (Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _InternalMetrics'startTimestamp
+           (\ x__ y__ -> x__ {_InternalMetrics'startTimestamp = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField InternalMetrics "durationMicros" Data.Word.Word64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _InternalMetrics'durationMicros
+           (\ x__ y__ -> x__ {_InternalMetrics'durationMicros = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField InternalMetrics "logs" [Log] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _InternalMetrics'logs
+           (\ x__ y__ -> x__ {_InternalMetrics'logs = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField InternalMetrics "vec'logs" (Data.Vector.Vector Log) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _InternalMetrics'logs
+           (\ x__ y__ -> x__ {_InternalMetrics'logs = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField InternalMetrics "counts" [MetricsSample] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _InternalMetrics'counts
+           (\ x__ y__ -> x__ {_InternalMetrics'counts = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField InternalMetrics "vec'counts" (Data.Vector.Vector MetricsSample) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _InternalMetrics'counts
+           (\ x__ y__ -> x__ {_InternalMetrics'counts = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField InternalMetrics "gauges" [MetricsSample] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _InternalMetrics'gauges
+           (\ x__ y__ -> x__ {_InternalMetrics'gauges = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField InternalMetrics "vec'gauges" (Data.Vector.Vector MetricsSample) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _InternalMetrics'gauges
+           (\ x__ y__ -> x__ {_InternalMetrics'gauges = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message InternalMetrics where
+  messageName _
+    = Data.Text.pack "lightstep.collector.InternalMetrics"
+  packedMessageDescriptor _
+    = "\n\
+      \\SIInternalMetrics\DC2C\n\
+      \\SIstart_timestamp\CAN\SOH \SOH(\v2\SUB.google.protobuf.TimestampR\SOstartTimestamp\DC2+\n\
+      \\SIduration_micros\CAN\STX \SOH(\EOTR\SOdurationMicrosB\STX0\SOH\DC2,\n\
+      \\EOTlogs\CAN\ETX \ETX(\v2\CAN.lightstep.collector.LogR\EOTlogs\DC2:\n\
+      \\ACKcounts\CAN\EOT \ETX(\v2\".lightstep.collector.MetricsSampleR\ACKcounts\DC2:\n\
+      \\ACKgauges\CAN\ENQ \ETX(\v2\".lightstep.collector.MetricsSampleR\ACKgauges"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        startTimestamp__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "start_timestamp"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Proto.Google.Protobuf.Timestamp.Timestamp)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'startTimestamp")) ::
+              Data.ProtoLens.FieldDescriptor InternalMetrics
+        durationMicros__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "duration_micros"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"durationMicros")) ::
+              Data.ProtoLens.FieldDescriptor InternalMetrics
+        logs__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "logs"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Log)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"logs")) ::
+              Data.ProtoLens.FieldDescriptor InternalMetrics
+        counts__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "counts"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor MetricsSample)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"counts")) ::
+              Data.ProtoLens.FieldDescriptor InternalMetrics
+        gauges__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "gauges"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor MetricsSample)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"gauges")) ::
+              Data.ProtoLens.FieldDescriptor InternalMetrics
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, startTimestamp__field_descriptor),
+           (Data.ProtoLens.Tag 2, durationMicros__field_descriptor),
+           (Data.ProtoLens.Tag 3, logs__field_descriptor),
+           (Data.ProtoLens.Tag 4, counts__field_descriptor),
+           (Data.ProtoLens.Tag 5, gauges__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _InternalMetrics'_unknownFields
+        (\ x__ y__ -> x__ {_InternalMetrics'_unknownFields = y__})
+  defMessage
+    = InternalMetrics'_constructor
+        {_InternalMetrics'startTimestamp = Prelude.Nothing,
+         _InternalMetrics'durationMicros = Data.ProtoLens.fieldDefault,
+         _InternalMetrics'logs = Data.Vector.Generic.empty,
+         _InternalMetrics'counts = Data.Vector.Generic.empty,
+         _InternalMetrics'gauges = Data.Vector.Generic.empty,
+         _InternalMetrics'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          InternalMetrics
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld MetricsSample
+             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld MetricsSample
+                -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Log
+                   -> Data.ProtoLens.Encoding.Bytes.Parser InternalMetrics
+        loop x mutable'counts mutable'gauges mutable'logs
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'counts <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                            mutable'counts)
+                      frozen'gauges <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                            mutable'gauges)
+                      frozen'logs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'logs)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'counts") frozen'counts
+                              (Lens.Family2.set
+                                 (Data.ProtoLens.Field.field @"vec'gauges") frozen'gauges
+                                 (Lens.Family2.set
+                                    (Data.ProtoLens.Field.field @"vec'logs") frozen'logs x))))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "start_timestamp"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"startTimestamp") y x)
+                                  mutable'counts mutable'gauges mutable'logs
+                        16
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       Data.ProtoLens.Encoding.Bytes.getVarInt "duration_micros"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"durationMicros") y x)
+                                  mutable'counts mutable'gauges mutable'logs
+                        26
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "logs"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'logs y)
+                                loop x mutable'counts mutable'gauges v
+                        34
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "counts"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'counts y)
+                                loop x v mutable'gauges mutable'logs
+                        42
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "gauges"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'gauges y)
+                                loop x mutable'counts v mutable'logs
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'counts mutable'gauges mutable'logs
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'counts <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                  Data.ProtoLens.Encoding.Growing.new
+              mutable'gauges <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                  Data.ProtoLens.Encoding.Growing.new
+              mutable'logs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                Data.ProtoLens.Encoding.Growing.new
+              loop
+                Data.ProtoLens.defMessage mutable'counts mutable'gauges
+                mutable'logs)
+          "InternalMetrics"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (case
+                  Lens.Family2.view
+                    (Data.ProtoLens.Field.field @"maybe'startTimestamp") _x
+              of
+                Prelude.Nothing -> Data.Monoid.mempty
+                (Prelude.Just _v)
+                  -> (Data.Monoid.<>)
+                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                       ((Prelude..)
+                          (\ bs
+                             -> (Data.Monoid.<>)
+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                          Data.ProtoLens.encodeMessage _v))
+             ((Data.Monoid.<>)
+                (let
+                   _v
+                     = Lens.Family2.view
+                         (Data.ProtoLens.Field.field @"durationMicros") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
+                ((Data.Monoid.<>)
+                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                      (\ _v
+                         -> (Data.Monoid.<>)
+                              (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                              ((Prelude..)
+                                 (\ bs
+                                    -> (Data.Monoid.<>)
+                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                            (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                 Data.ProtoLens.encodeMessage _v))
+                      (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'logs") _x))
+                   ((Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                         (\ _v
+                            -> (Data.Monoid.<>)
+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
+                                 ((Prelude..)
+                                    (\ bs
+                                       -> (Data.Monoid.<>)
+                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                               (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                            (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                    Data.ProtoLens.encodeMessage _v))
+                         (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'counts") _x))
+                      ((Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                            (\ _v
+                               -> (Data.Monoid.<>)
+                                    (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
+                                    ((Prelude..)
+                                       (\ bs
+                                          -> (Data.Monoid.<>)
+                                               (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                  (Prelude.fromIntegral
+                                                     (Data.ByteString.length bs)))
+                                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                       Data.ProtoLens.encodeMessage _v))
+                            (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'gauges") _x))
+                         (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                            (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))
+instance Control.DeepSeq.NFData InternalMetrics where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_InternalMetrics'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_InternalMetrics'startTimestamp x__)
+                (Control.DeepSeq.deepseq
+                   (_InternalMetrics'durationMicros x__)
+                   (Control.DeepSeq.deepseq
+                      (_InternalMetrics'logs x__)
+                      (Control.DeepSeq.deepseq
+                         (_InternalMetrics'counts x__)
+                         (Control.DeepSeq.deepseq (_InternalMetrics'gauges x__) ())))))
+{- | Fields :
+     
+         * 'Proto.Collector_Fields.key' @:: Lens' KeyValue Data.Text.Text@
+         * 'Proto.Collector_Fields.maybe'value' @:: Lens' KeyValue (Prelude.Maybe KeyValue'Value)@
+         * 'Proto.Collector_Fields.maybe'stringValue' @:: Lens' KeyValue (Prelude.Maybe Data.Text.Text)@
+         * 'Proto.Collector_Fields.stringValue' @:: Lens' KeyValue Data.Text.Text@
+         * 'Proto.Collector_Fields.maybe'intValue' @:: Lens' KeyValue (Prelude.Maybe Data.Int.Int64)@
+         * 'Proto.Collector_Fields.intValue' @:: Lens' KeyValue Data.Int.Int64@
+         * 'Proto.Collector_Fields.maybe'doubleValue' @:: Lens' KeyValue (Prelude.Maybe Prelude.Double)@
+         * 'Proto.Collector_Fields.doubleValue' @:: Lens' KeyValue Prelude.Double@
+         * 'Proto.Collector_Fields.maybe'boolValue' @:: Lens' KeyValue (Prelude.Maybe Prelude.Bool)@
+         * 'Proto.Collector_Fields.boolValue' @:: Lens' KeyValue Prelude.Bool@
+         * 'Proto.Collector_Fields.maybe'jsonValue' @:: Lens' KeyValue (Prelude.Maybe Data.Text.Text)@
+         * 'Proto.Collector_Fields.jsonValue' @:: Lens' KeyValue Data.Text.Text@ -}
+data KeyValue
+  = KeyValue'_constructor {_KeyValue'key :: !Data.Text.Text,
+                           _KeyValue'value :: !(Prelude.Maybe KeyValue'Value),
+                           _KeyValue'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show KeyValue where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+data KeyValue'Value
+  = KeyValue'StringValue !Data.Text.Text |
+    KeyValue'IntValue !Data.Int.Int64 |
+    KeyValue'DoubleValue !Prelude.Double |
+    KeyValue'BoolValue !Prelude.Bool |
+    KeyValue'JsonValue !Data.Text.Text
+  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.Field.HasField KeyValue "key" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _KeyValue'key (\ x__ y__ -> x__ {_KeyValue'key = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField KeyValue "maybe'value" (Prelude.Maybe KeyValue'Value) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _KeyValue'value (\ x__ y__ -> x__ {_KeyValue'value = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField KeyValue "maybe'stringValue" (Prelude.Maybe Data.Text.Text) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _KeyValue'value (\ x__ y__ -> x__ {_KeyValue'value = y__}))
+        (Lens.Family2.Unchecked.lens
+           (\ x__
+              -> case x__ of
+                   (Prelude.Just (KeyValue'StringValue x__val)) -> Prelude.Just x__val
+                   _otherwise -> Prelude.Nothing)
+           (\ _ y__ -> Prelude.fmap KeyValue'StringValue y__))
+instance Data.ProtoLens.Field.HasField KeyValue "stringValue" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _KeyValue'value (\ x__ y__ -> x__ {_KeyValue'value = y__}))
+        ((Prelude..)
+           (Lens.Family2.Unchecked.lens
+              (\ x__
+                 -> case x__ of
+                      (Prelude.Just (KeyValue'StringValue x__val)) -> Prelude.Just x__val
+                      _otherwise -> Prelude.Nothing)
+              (\ _ y__ -> Prelude.fmap KeyValue'StringValue y__))
+           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
+instance Data.ProtoLens.Field.HasField KeyValue "maybe'intValue" (Prelude.Maybe Data.Int.Int64) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _KeyValue'value (\ x__ y__ -> x__ {_KeyValue'value = y__}))
+        (Lens.Family2.Unchecked.lens
+           (\ x__
+              -> case x__ of
+                   (Prelude.Just (KeyValue'IntValue x__val)) -> Prelude.Just x__val
+                   _otherwise -> Prelude.Nothing)
+           (\ _ y__ -> Prelude.fmap KeyValue'IntValue y__))
+instance Data.ProtoLens.Field.HasField KeyValue "intValue" Data.Int.Int64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _KeyValue'value (\ x__ y__ -> x__ {_KeyValue'value = y__}))
+        ((Prelude..)
+           (Lens.Family2.Unchecked.lens
+              (\ x__
+                 -> case x__ of
+                      (Prelude.Just (KeyValue'IntValue x__val)) -> Prelude.Just x__val
+                      _otherwise -> Prelude.Nothing)
+              (\ _ y__ -> Prelude.fmap KeyValue'IntValue y__))
+           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
+instance Data.ProtoLens.Field.HasField KeyValue "maybe'doubleValue" (Prelude.Maybe Prelude.Double) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _KeyValue'value (\ x__ y__ -> x__ {_KeyValue'value = y__}))
+        (Lens.Family2.Unchecked.lens
+           (\ x__
+              -> case x__ of
+                   (Prelude.Just (KeyValue'DoubleValue x__val)) -> Prelude.Just x__val
+                   _otherwise -> Prelude.Nothing)
+           (\ _ y__ -> Prelude.fmap KeyValue'DoubleValue y__))
+instance Data.ProtoLens.Field.HasField KeyValue "doubleValue" Prelude.Double where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _KeyValue'value (\ x__ y__ -> x__ {_KeyValue'value = y__}))
+        ((Prelude..)
+           (Lens.Family2.Unchecked.lens
+              (\ x__
+                 -> case x__ of
+                      (Prelude.Just (KeyValue'DoubleValue x__val)) -> Prelude.Just x__val
+                      _otherwise -> Prelude.Nothing)
+              (\ _ y__ -> Prelude.fmap KeyValue'DoubleValue y__))
+           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
+instance Data.ProtoLens.Field.HasField KeyValue "maybe'boolValue" (Prelude.Maybe Prelude.Bool) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _KeyValue'value (\ x__ y__ -> x__ {_KeyValue'value = y__}))
+        (Lens.Family2.Unchecked.lens
+           (\ x__
+              -> case x__ of
+                   (Prelude.Just (KeyValue'BoolValue x__val)) -> Prelude.Just x__val
+                   _otherwise -> Prelude.Nothing)
+           (\ _ y__ -> Prelude.fmap KeyValue'BoolValue y__))
+instance Data.ProtoLens.Field.HasField KeyValue "boolValue" Prelude.Bool where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _KeyValue'value (\ x__ y__ -> x__ {_KeyValue'value = y__}))
+        ((Prelude..)
+           (Lens.Family2.Unchecked.lens
+              (\ x__
+                 -> case x__ of
+                      (Prelude.Just (KeyValue'BoolValue x__val)) -> Prelude.Just x__val
+                      _otherwise -> Prelude.Nothing)
+              (\ _ y__ -> Prelude.fmap KeyValue'BoolValue y__))
+           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
+instance Data.ProtoLens.Field.HasField KeyValue "maybe'jsonValue" (Prelude.Maybe Data.Text.Text) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _KeyValue'value (\ x__ y__ -> x__ {_KeyValue'value = y__}))
+        (Lens.Family2.Unchecked.lens
+           (\ x__
+              -> case x__ of
+                   (Prelude.Just (KeyValue'JsonValue x__val)) -> Prelude.Just x__val
+                   _otherwise -> Prelude.Nothing)
+           (\ _ y__ -> Prelude.fmap KeyValue'JsonValue y__))
+instance Data.ProtoLens.Field.HasField KeyValue "jsonValue" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _KeyValue'value (\ x__ y__ -> x__ {_KeyValue'value = y__}))
+        ((Prelude..)
+           (Lens.Family2.Unchecked.lens
+              (\ x__
+                 -> case x__ of
+                      (Prelude.Just (KeyValue'JsonValue x__val)) -> Prelude.Just x__val
+                      _otherwise -> Prelude.Nothing)
+              (\ _ y__ -> Prelude.fmap KeyValue'JsonValue y__))
+           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
+instance Data.ProtoLens.Message KeyValue where
+  messageName _ = Data.Text.pack "lightstep.collector.KeyValue"
+  packedMessageDescriptor _
+    = "\n\
+      \\bKeyValue\DC2\DLE\n\
+      \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC2#\n\
+      \\fstring_value\CAN\STX \SOH(\tH\NULR\vstringValue\DC2!\n\
+      \\tint_value\CAN\ETX \SOH(\ETXH\NULR\bintValueB\STX0\SOH\DC2#\n\
+      \\fdouble_value\CAN\EOT \SOH(\SOHH\NULR\vdoubleValue\DC2\US\n\
+      \\n\
+      \bool_value\CAN\ENQ \SOH(\bH\NULR\tboolValue\DC2\US\n\
+      \\n\
+      \json_value\CAN\ACK \SOH(\tH\NULR\tjsonValueB\a\n\
+      \\ENQvalue"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        key__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "key"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"key")) ::
+              Data.ProtoLens.FieldDescriptor KeyValue
+        stringValue__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "string_value"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'stringValue")) ::
+              Data.ProtoLens.FieldDescriptor KeyValue
+        intValue__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "int_value"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'intValue")) ::
+              Data.ProtoLens.FieldDescriptor KeyValue
+        doubleValue__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "double_value"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.DoubleField ::
+                 Data.ProtoLens.FieldTypeDescriptor Prelude.Double)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'doubleValue")) ::
+              Data.ProtoLens.FieldDescriptor KeyValue
+        boolValue__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "bool_value"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                 Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'boolValue")) ::
+              Data.ProtoLens.FieldDescriptor KeyValue
+        jsonValue__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "json_value"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'jsonValue")) ::
+              Data.ProtoLens.FieldDescriptor KeyValue
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, key__field_descriptor),
+           (Data.ProtoLens.Tag 2, stringValue__field_descriptor),
+           (Data.ProtoLens.Tag 3, intValue__field_descriptor),
+           (Data.ProtoLens.Tag 4, doubleValue__field_descriptor),
+           (Data.ProtoLens.Tag 5, boolValue__field_descriptor),
+           (Data.ProtoLens.Tag 6, jsonValue__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _KeyValue'_unknownFields
+        (\ x__ y__ -> x__ {_KeyValue'_unknownFields = y__})
+  defMessage
+    = KeyValue'_constructor
+        {_KeyValue'key = Data.ProtoLens.fieldDefault,
+         _KeyValue'value = Prelude.Nothing, _KeyValue'_unknownFields = []}
+  parseMessage
+    = let
+        loop :: KeyValue -> Data.ProtoLens.Encoding.Bytes.Parser KeyValue
+        loop x
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                       Data.ProtoLens.Encoding.Bytes.getBytes
+                                                         (Prelude.fromIntegral len)
+                                           Data.ProtoLens.Encoding.Bytes.runEither
+                                             (case Data.Text.Encoding.decodeUtf8' value of
+                                                (Prelude.Left err)
+                                                  -> Prelude.Left (Prelude.show err)
+                                                (Prelude.Right r) -> Prelude.Right r))
+                                       "key"
+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"key") y x)
+                        18
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                       Data.ProtoLens.Encoding.Bytes.getBytes
+                                                         (Prelude.fromIntegral len)
+                                           Data.ProtoLens.Encoding.Bytes.runEither
+                                             (case Data.Text.Encoding.decodeUtf8' value of
+                                                (Prelude.Left err)
+                                                  -> Prelude.Left (Prelude.show err)
+                                                (Prelude.Right r) -> Prelude.Right r))
+                                       "string_value"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"stringValue") y x)
+                        24
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "int_value"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"intValue") y x)
+                        33
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Data.ProtoLens.Encoding.Bytes.wordToDouble
+                                          Data.ProtoLens.Encoding.Bytes.getFixed64)
+                                       "double_value"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"doubleValue") y x)
+                        40
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "bool_value"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"boolValue") y x)
+                        50
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                       Data.ProtoLens.Encoding.Bytes.getBytes
+                                                         (Prelude.fromIntegral len)
+                                           Data.ProtoLens.Encoding.Bytes.runEither
+                                             (case Data.Text.Encoding.decodeUtf8' value of
+                                                (Prelude.Left err)
+                                                  -> Prelude.Left (Prelude.show err)
+                                                (Prelude.Right r) -> Prelude.Right r))
+                                       "json_value"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"jsonValue") y x)
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do loop Data.ProtoLens.defMessage) "KeyValue"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"key") _x
+              in
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                      ((Prelude..)
+                         (\ bs
+                            -> (Data.Monoid.<>)
+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                         Data.Text.Encoding.encodeUtf8 _v))
+             ((Data.Monoid.<>)
+                (case
+                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'value") _x
+                 of
+                   Prelude.Nothing -> Data.Monoid.mempty
+                   (Prelude.Just (KeyValue'StringValue v))
+                     -> (Data.Monoid.<>)
+                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                          ((Prelude..)
+                             (\ bs
+                                -> (Data.Monoid.<>)
+                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                             Data.Text.Encoding.encodeUtf8 v)
+                   (Prelude.Just (KeyValue'IntValue v))
+                     -> (Data.Monoid.<>)
+                          (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
+                          ((Prelude..)
+                             Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral v)
+                   (Prelude.Just (KeyValue'DoubleValue v))
+                     -> (Data.Monoid.<>)
+                          (Data.ProtoLens.Encoding.Bytes.putVarInt 33)
+                          ((Prelude..)
+                             Data.ProtoLens.Encoding.Bytes.putFixed64
+                             Data.ProtoLens.Encoding.Bytes.doubleToWord v)
+                   (Prelude.Just (KeyValue'BoolValue v))
+                     -> (Data.Monoid.<>)
+                          (Data.ProtoLens.Encoding.Bytes.putVarInt 40)
+                          ((Prelude..)
+                             Data.ProtoLens.Encoding.Bytes.putVarInt (\ b -> if b then 1 else 0)
+                             v)
+                   (Prelude.Just (KeyValue'JsonValue v))
+                     -> (Data.Monoid.<>)
+                          (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
+                          ((Prelude..)
+                             (\ bs
+                                -> (Data.Monoid.<>)
+                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                             Data.Text.Encoding.encodeUtf8 v))
+                (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
+instance Control.DeepSeq.NFData KeyValue where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_KeyValue'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_KeyValue'key x__)
+                (Control.DeepSeq.deepseq (_KeyValue'value x__) ()))
+instance Control.DeepSeq.NFData KeyValue'Value where
+  rnf (KeyValue'StringValue x__) = Control.DeepSeq.rnf x__
+  rnf (KeyValue'IntValue x__) = Control.DeepSeq.rnf x__
+  rnf (KeyValue'DoubleValue x__) = Control.DeepSeq.rnf x__
+  rnf (KeyValue'BoolValue x__) = Control.DeepSeq.rnf x__
+  rnf (KeyValue'JsonValue x__) = Control.DeepSeq.rnf x__
+_KeyValue'StringValue ::
+  Data.ProtoLens.Prism.Prism' KeyValue'Value Data.Text.Text
+_KeyValue'StringValue
+  = Data.ProtoLens.Prism.prism'
+      KeyValue'StringValue
+      (\ p__
+         -> case p__ of
+              (KeyValue'StringValue p__val) -> Prelude.Just p__val
+              _otherwise -> Prelude.Nothing)
+_KeyValue'IntValue ::
+  Data.ProtoLens.Prism.Prism' KeyValue'Value Data.Int.Int64
+_KeyValue'IntValue
+  = Data.ProtoLens.Prism.prism'
+      KeyValue'IntValue
+      (\ p__
+         -> case p__ of
+              (KeyValue'IntValue p__val) -> Prelude.Just p__val
+              _otherwise -> Prelude.Nothing)
+_KeyValue'DoubleValue ::
+  Data.ProtoLens.Prism.Prism' KeyValue'Value Prelude.Double
+_KeyValue'DoubleValue
+  = Data.ProtoLens.Prism.prism'
+      KeyValue'DoubleValue
+      (\ p__
+         -> case p__ of
+              (KeyValue'DoubleValue p__val) -> Prelude.Just p__val
+              _otherwise -> Prelude.Nothing)
+_KeyValue'BoolValue ::
+  Data.ProtoLens.Prism.Prism' KeyValue'Value Prelude.Bool
+_KeyValue'BoolValue
+  = Data.ProtoLens.Prism.prism'
+      KeyValue'BoolValue
+      (\ p__
+         -> case p__ of
+              (KeyValue'BoolValue p__val) -> Prelude.Just p__val
+              _otherwise -> Prelude.Nothing)
+_KeyValue'JsonValue ::
+  Data.ProtoLens.Prism.Prism' KeyValue'Value Data.Text.Text
+_KeyValue'JsonValue
+  = Data.ProtoLens.Prism.prism'
+      KeyValue'JsonValue
+      (\ p__
+         -> case p__ of
+              (KeyValue'JsonValue p__val) -> Prelude.Just p__val
+              _otherwise -> Prelude.Nothing)
+{- | Fields :
+     
+         * 'Proto.Collector_Fields.timestamp' @:: Lens' Log Proto.Google.Protobuf.Timestamp.Timestamp@
+         * 'Proto.Collector_Fields.maybe'timestamp' @:: Lens' Log (Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp)@
+         * 'Proto.Collector_Fields.fields' @:: Lens' Log [KeyValue]@
+         * 'Proto.Collector_Fields.vec'fields' @:: Lens' Log (Data.Vector.Vector KeyValue)@ -}
+data Log
+  = Log'_constructor {_Log'timestamp :: !(Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp),
+                      _Log'fields :: !(Data.Vector.Vector KeyValue),
+                      _Log'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show Log where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField Log "timestamp" Proto.Google.Protobuf.Timestamp.Timestamp where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Log'timestamp (\ x__ y__ -> x__ {_Log'timestamp = y__}))
+        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField Log "maybe'timestamp" (Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Log'timestamp (\ x__ y__ -> x__ {_Log'timestamp = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Log "fields" [KeyValue] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Log'fields (\ x__ y__ -> x__ {_Log'fields = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Log "vec'fields" (Data.Vector.Vector KeyValue) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Log'fields (\ x__ y__ -> x__ {_Log'fields = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message Log where
+  messageName _ = Data.Text.pack "lightstep.collector.Log"
+  packedMessageDescriptor _
+    = "\n\
+      \\ETXLog\DC28\n\
+      \\ttimestamp\CAN\SOH \SOH(\v2\SUB.google.protobuf.TimestampR\ttimestamp\DC25\n\
+      \\ACKfields\CAN\STX \ETX(\v2\GS.lightstep.collector.KeyValueR\ACKfields"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        timestamp__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "timestamp"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Proto.Google.Protobuf.Timestamp.Timestamp)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'timestamp")) ::
+              Data.ProtoLens.FieldDescriptor Log
+        fields__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "fields"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor KeyValue)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"fields")) ::
+              Data.ProtoLens.FieldDescriptor Log
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, timestamp__field_descriptor),
+           (Data.ProtoLens.Tag 2, fields__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _Log'_unknownFields (\ x__ y__ -> x__ {_Log'_unknownFields = y__})
+  defMessage
+    = Log'_constructor
+        {_Log'timestamp = Prelude.Nothing,
+         _Log'fields = Data.Vector.Generic.empty, _Log'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          Log
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld KeyValue
+             -> Data.ProtoLens.Encoding.Bytes.Parser Log
+        loop x mutable'fields
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'fields <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                            mutable'fields)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'fields") frozen'fields x))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "timestamp"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"timestamp") y x)
+                                  mutable'fields
+                        18
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "fields"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'fields y)
+                                loop x v
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'fields
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'fields <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                  Data.ProtoLens.Encoding.Growing.new
+              loop Data.ProtoLens.defMessage mutable'fields)
+          "Log"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (case
+                  Lens.Family2.view
+                    (Data.ProtoLens.Field.field @"maybe'timestamp") _x
+              of
+                Prelude.Nothing -> Data.Monoid.mempty
+                (Prelude.Just _v)
+                  -> (Data.Monoid.<>)
+                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                       ((Prelude..)
+                          (\ bs
+                             -> (Data.Monoid.<>)
+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                          Data.ProtoLens.encodeMessage _v))
+             ((Data.Monoid.<>)
+                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                   (\ _v
+                      -> (Data.Monoid.<>)
+                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                           ((Prelude..)
+                              (\ bs
+                                 -> (Data.Monoid.<>)
+                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                              Data.ProtoLens.encodeMessage _v))
+                   (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'fields") _x))
+                (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
+instance Control.DeepSeq.NFData Log where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_Log'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_Log'timestamp x__)
+                (Control.DeepSeq.deepseq (_Log'fields x__) ()))
+{- | Fields :
+     
+         * 'Proto.Collector_Fields.name' @:: Lens' MetricsSample Data.Text.Text@
+         * 'Proto.Collector_Fields.maybe'value' @:: Lens' MetricsSample (Prelude.Maybe MetricsSample'Value)@
+         * 'Proto.Collector_Fields.maybe'intValue' @:: Lens' MetricsSample (Prelude.Maybe Data.Int.Int64)@
+         * 'Proto.Collector_Fields.intValue' @:: Lens' MetricsSample Data.Int.Int64@
+         * 'Proto.Collector_Fields.maybe'doubleValue' @:: Lens' MetricsSample (Prelude.Maybe Prelude.Double)@
+         * 'Proto.Collector_Fields.doubleValue' @:: Lens' MetricsSample Prelude.Double@ -}
+data MetricsSample
+  = MetricsSample'_constructor {_MetricsSample'name :: !Data.Text.Text,
+                                _MetricsSample'value :: !(Prelude.Maybe MetricsSample'Value),
+                                _MetricsSample'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show MetricsSample where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+data MetricsSample'Value
+  = MetricsSample'IntValue !Data.Int.Int64 |
+    MetricsSample'DoubleValue !Prelude.Double
+  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.Field.HasField MetricsSample "name" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _MetricsSample'name (\ x__ y__ -> x__ {_MetricsSample'name = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField MetricsSample "maybe'value" (Prelude.Maybe MetricsSample'Value) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _MetricsSample'value
+           (\ x__ y__ -> x__ {_MetricsSample'value = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField MetricsSample "maybe'intValue" (Prelude.Maybe Data.Int.Int64) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _MetricsSample'value
+           (\ x__ y__ -> x__ {_MetricsSample'value = y__}))
+        (Lens.Family2.Unchecked.lens
+           (\ x__
+              -> case x__ of
+                   (Prelude.Just (MetricsSample'IntValue x__val))
+                     -> Prelude.Just x__val
+                   _otherwise -> Prelude.Nothing)
+           (\ _ y__ -> Prelude.fmap MetricsSample'IntValue y__))
+instance Data.ProtoLens.Field.HasField MetricsSample "intValue" Data.Int.Int64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _MetricsSample'value
+           (\ x__ y__ -> x__ {_MetricsSample'value = y__}))
+        ((Prelude..)
+           (Lens.Family2.Unchecked.lens
+              (\ x__
+                 -> case x__ of
+                      (Prelude.Just (MetricsSample'IntValue x__val))
+                        -> Prelude.Just x__val
+                      _otherwise -> Prelude.Nothing)
+              (\ _ y__ -> Prelude.fmap MetricsSample'IntValue y__))
+           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
+instance Data.ProtoLens.Field.HasField MetricsSample "maybe'doubleValue" (Prelude.Maybe Prelude.Double) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _MetricsSample'value
+           (\ x__ y__ -> x__ {_MetricsSample'value = y__}))
+        (Lens.Family2.Unchecked.lens
+           (\ x__
+              -> case x__ of
+                   (Prelude.Just (MetricsSample'DoubleValue x__val))
+                     -> Prelude.Just x__val
+                   _otherwise -> Prelude.Nothing)
+           (\ _ y__ -> Prelude.fmap MetricsSample'DoubleValue y__))
+instance Data.ProtoLens.Field.HasField MetricsSample "doubleValue" Prelude.Double where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _MetricsSample'value
+           (\ x__ y__ -> x__ {_MetricsSample'value = y__}))
+        ((Prelude..)
+           (Lens.Family2.Unchecked.lens
+              (\ x__
+                 -> case x__ of
+                      (Prelude.Just (MetricsSample'DoubleValue x__val))
+                        -> Prelude.Just x__val
+                      _otherwise -> Prelude.Nothing)
+              (\ _ y__ -> Prelude.fmap MetricsSample'DoubleValue y__))
+           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
+instance Data.ProtoLens.Message MetricsSample where
+  messageName _ = Data.Text.pack "lightstep.collector.MetricsSample"
+  packedMessageDescriptor _
+    = "\n\
+      \\rMetricsSample\DC2\DC2\n\
+      \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2!\n\
+      \\tint_value\CAN\STX \SOH(\ETXH\NULR\bintValueB\STX0\SOH\DC2#\n\
+      \\fdouble_value\CAN\ETX \SOH(\SOHH\NULR\vdoubleValueB\a\n\
+      \\ENQvalue"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        name__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "name"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"name")) ::
+              Data.ProtoLens.FieldDescriptor MetricsSample
+        intValue__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "int_value"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'intValue")) ::
+              Data.ProtoLens.FieldDescriptor MetricsSample
+        doubleValue__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "double_value"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.DoubleField ::
+                 Data.ProtoLens.FieldTypeDescriptor Prelude.Double)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'doubleValue")) ::
+              Data.ProtoLens.FieldDescriptor MetricsSample
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, name__field_descriptor),
+           (Data.ProtoLens.Tag 2, intValue__field_descriptor),
+           (Data.ProtoLens.Tag 3, doubleValue__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _MetricsSample'_unknownFields
+        (\ x__ y__ -> x__ {_MetricsSample'_unknownFields = y__})
+  defMessage
+    = MetricsSample'_constructor
+        {_MetricsSample'name = Data.ProtoLens.fieldDefault,
+         _MetricsSample'value = Prelude.Nothing,
+         _MetricsSample'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          MetricsSample -> Data.ProtoLens.Encoding.Bytes.Parser MetricsSample
+        loop x
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                       Data.ProtoLens.Encoding.Bytes.getBytes
+                                                         (Prelude.fromIntegral len)
+                                           Data.ProtoLens.Encoding.Bytes.runEither
+                                             (case Data.Text.Encoding.decodeUtf8' value of
+                                                (Prelude.Left err)
+                                                  -> Prelude.Left (Prelude.show err)
+                                                (Prelude.Right r) -> Prelude.Right r))
+                                       "name"
+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y x)
+                        16
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "int_value"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"intValue") y x)
+                        25
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Data.ProtoLens.Encoding.Bytes.wordToDouble
+                                          Data.ProtoLens.Encoding.Bytes.getFixed64)
+                                       "double_value"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"doubleValue") y x)
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do loop Data.ProtoLens.defMessage) "MetricsSample"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"name") _x
+              in
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                      ((Prelude..)
+                         (\ bs
+                            -> (Data.Monoid.<>)
+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                         Data.Text.Encoding.encodeUtf8 _v))
+             ((Data.Monoid.<>)
+                (case
+                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'value") _x
+                 of
+                   Prelude.Nothing -> Data.Monoid.mempty
+                   (Prelude.Just (MetricsSample'IntValue v))
+                     -> (Data.Monoid.<>)
+                          (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
+                          ((Prelude..)
+                             Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral v)
+                   (Prelude.Just (MetricsSample'DoubleValue v))
+                     -> (Data.Monoid.<>)
+                          (Data.ProtoLens.Encoding.Bytes.putVarInt 25)
+                          ((Prelude..)
+                             Data.ProtoLens.Encoding.Bytes.putFixed64
+                             Data.ProtoLens.Encoding.Bytes.doubleToWord v))
+                (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
+instance Control.DeepSeq.NFData MetricsSample where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_MetricsSample'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_MetricsSample'name x__)
+                (Control.DeepSeq.deepseq (_MetricsSample'value x__) ()))
+instance Control.DeepSeq.NFData MetricsSample'Value where
+  rnf (MetricsSample'IntValue x__) = Control.DeepSeq.rnf x__
+  rnf (MetricsSample'DoubleValue x__) = Control.DeepSeq.rnf x__
+_MetricsSample'IntValue ::
+  Data.ProtoLens.Prism.Prism' MetricsSample'Value Data.Int.Int64
+_MetricsSample'IntValue
+  = Data.ProtoLens.Prism.prism'
+      MetricsSample'IntValue
+      (\ p__
+         -> case p__ of
+              (MetricsSample'IntValue p__val) -> Prelude.Just p__val
+              _otherwise -> Prelude.Nothing)
+_MetricsSample'DoubleValue ::
+  Data.ProtoLens.Prism.Prism' MetricsSample'Value Prelude.Double
+_MetricsSample'DoubleValue
+  = Data.ProtoLens.Prism.prism'
+      MetricsSample'DoubleValue
+      (\ p__
+         -> case p__ of
+              (MetricsSample'DoubleValue p__val) -> Prelude.Just p__val
+              _otherwise -> Prelude.Nothing)
+{- | Fields :
+     
+         * 'Proto.Collector_Fields.relationship' @:: Lens' Reference Reference'Relationship@
+         * 'Proto.Collector_Fields.spanContext' @:: Lens' Reference SpanContext@
+         * 'Proto.Collector_Fields.maybe'spanContext' @:: Lens' Reference (Prelude.Maybe SpanContext)@ -}
+data Reference
+  = Reference'_constructor {_Reference'relationship :: !Reference'Relationship,
+                            _Reference'spanContext :: !(Prelude.Maybe SpanContext),
+                            _Reference'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show Reference where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField Reference "relationship" Reference'Relationship where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Reference'relationship
+           (\ x__ y__ -> x__ {_Reference'relationship = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Reference "spanContext" SpanContext where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Reference'spanContext
+           (\ x__ y__ -> x__ {_Reference'spanContext = y__}))
+        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField Reference "maybe'spanContext" (Prelude.Maybe SpanContext) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Reference'spanContext
+           (\ x__ y__ -> x__ {_Reference'spanContext = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message Reference where
+  messageName _ = Data.Text.pack "lightstep.collector.Reference"
+  packedMessageDescriptor _
+    = "\n\
+      \\tReference\DC2O\n\
+      \\frelationship\CAN\SOH \SOH(\SO2+.lightstep.collector.Reference.RelationshipR\frelationship\DC2C\n\
+      \\fspan_context\CAN\STX \SOH(\v2 .lightstep.collector.SpanContextR\vspanContext\".\n\
+      \\fRelationship\DC2\f\n\
+      \\bCHILD_OF\DLE\NUL\DC2\DLE\n\
+      \\fFOLLOWS_FROM\DLE\SOH"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        relationship__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "relationship"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+                 Data.ProtoLens.FieldTypeDescriptor Reference'Relationship)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"relationship")) ::
+              Data.ProtoLens.FieldDescriptor Reference
+        spanContext__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "span_context"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor SpanContext)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'spanContext")) ::
+              Data.ProtoLens.FieldDescriptor Reference
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, relationship__field_descriptor),
+           (Data.ProtoLens.Tag 2, spanContext__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _Reference'_unknownFields
+        (\ x__ y__ -> x__ {_Reference'_unknownFields = y__})
+  defMessage
+    = Reference'_constructor
+        {_Reference'relationship = Data.ProtoLens.fieldDefault,
+         _Reference'spanContext = Prelude.Nothing,
+         _Reference'_unknownFields = []}
+  parseMessage
+    = let
+        loop :: Reference -> Data.ProtoLens.Encoding.Bytes.Parser Reference
+        loop x
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.toEnum
+                                          (Prelude.fmap
+                                             Prelude.fromIntegral
+                                             Data.ProtoLens.Encoding.Bytes.getVarInt))
+                                       "relationship"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"relationship") y x)
+                        18
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "span_context"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"spanContext") y x)
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do loop Data.ProtoLens.defMessage) "Reference"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let
+                _v
+                  = Lens.Family2.view (Data.ProtoLens.Field.field @"relationship") _x
+              in
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
+                      ((Prelude..)
+                         ((Prelude..)
+                            Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)
+                         Prelude.fromEnum _v))
+             ((Data.Monoid.<>)
+                (case
+                     Lens.Family2.view
+                       (Data.ProtoLens.Field.field @"maybe'spanContext") _x
+                 of
+                   Prelude.Nothing -> Data.Monoid.mempty
+                   (Prelude.Just _v)
+                     -> (Data.Monoid.<>)
+                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                          ((Prelude..)
+                             (\ bs
+                                -> (Data.Monoid.<>)
+                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                             Data.ProtoLens.encodeMessage _v))
+                (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
+instance Control.DeepSeq.NFData Reference where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_Reference'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_Reference'relationship x__)
+                (Control.DeepSeq.deepseq (_Reference'spanContext x__) ()))
+newtype Reference'Relationship'UnrecognizedValue
+  = Reference'Relationship'UnrecognizedValue Data.Int.Int32
+  deriving stock (Prelude.Eq, Prelude.Ord, Prelude.Show)
+data Reference'Relationship
+  = Reference'CHILD_OF |
+    Reference'FOLLOWS_FROM |
+    Reference'Relationship'Unrecognized !Reference'Relationship'UnrecognizedValue
+  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.MessageEnum Reference'Relationship where
+  maybeToEnum 0 = Prelude.Just Reference'CHILD_OF
+  maybeToEnum 1 = Prelude.Just Reference'FOLLOWS_FROM
+  maybeToEnum k
+    = Prelude.Just
+        (Reference'Relationship'Unrecognized
+           (Reference'Relationship'UnrecognizedValue
+              (Prelude.fromIntegral k)))
+  showEnum Reference'CHILD_OF = "CHILD_OF"
+  showEnum Reference'FOLLOWS_FROM = "FOLLOWS_FROM"
+  showEnum
+    (Reference'Relationship'Unrecognized (Reference'Relationship'UnrecognizedValue k))
+    = Prelude.show k
+  readEnum k
+    | (Prelude.==) k "CHILD_OF" = Prelude.Just Reference'CHILD_OF
+    | (Prelude.==) k "FOLLOWS_FROM"
+    = Prelude.Just Reference'FOLLOWS_FROM
+    | Prelude.otherwise
+    = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum
+instance Prelude.Bounded Reference'Relationship where
+  minBound = Reference'CHILD_OF
+  maxBound = Reference'FOLLOWS_FROM
+instance Prelude.Enum Reference'Relationship where
+  toEnum k__
+    = Prelude.maybe
+        (Prelude.error
+           ((Prelude.++)
+              "toEnum: unknown value for enum Relationship: "
+              (Prelude.show k__)))
+        Prelude.id (Data.ProtoLens.maybeToEnum k__)
+  fromEnum Reference'CHILD_OF = 0
+  fromEnum Reference'FOLLOWS_FROM = 1
+  fromEnum
+    (Reference'Relationship'Unrecognized (Reference'Relationship'UnrecognizedValue k))
+    = Prelude.fromIntegral k
+  succ Reference'FOLLOWS_FROM
+    = Prelude.error
+        "Reference'Relationship.succ: bad argument Reference'FOLLOWS_FROM. This value would be out of bounds."
+  succ Reference'CHILD_OF = Reference'FOLLOWS_FROM
+  succ (Reference'Relationship'Unrecognized _)
+    = Prelude.error
+        "Reference'Relationship.succ: bad argument: unrecognized value"
+  pred Reference'CHILD_OF
+    = Prelude.error
+        "Reference'Relationship.pred: bad argument Reference'CHILD_OF. This value would be out of bounds."
+  pred Reference'FOLLOWS_FROM = Reference'CHILD_OF
+  pred (Reference'Relationship'Unrecognized _)
+    = Prelude.error
+        "Reference'Relationship.pred: bad argument: unrecognized value"
+  enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
+  enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
+  enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
+  enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
+instance Data.ProtoLens.FieldDefault Reference'Relationship where
+  fieldDefault = Reference'CHILD_OF
+instance Control.DeepSeq.NFData Reference'Relationship where
+  rnf x__ = Prelude.seq x__ ()
+{- | Fields :
+     
+         * 'Proto.Collector_Fields.reporter' @:: Lens' ReportRequest Reporter@
+         * 'Proto.Collector_Fields.maybe'reporter' @:: Lens' ReportRequest (Prelude.Maybe Reporter)@
+         * 'Proto.Collector_Fields.auth' @:: Lens' ReportRequest Auth@
+         * 'Proto.Collector_Fields.maybe'auth' @:: Lens' ReportRequest (Prelude.Maybe Auth)@
+         * 'Proto.Collector_Fields.spans' @:: Lens' ReportRequest [Span]@
+         * 'Proto.Collector_Fields.vec'spans' @:: Lens' ReportRequest (Data.Vector.Vector Span)@
+         * 'Proto.Collector_Fields.timestampOffsetMicros' @:: Lens' ReportRequest Data.Int.Int64@
+         * 'Proto.Collector_Fields.internalMetrics' @:: Lens' ReportRequest InternalMetrics@
+         * 'Proto.Collector_Fields.maybe'internalMetrics' @:: Lens' ReportRequest (Prelude.Maybe InternalMetrics)@ -}
+data ReportRequest
+  = ReportRequest'_constructor {_ReportRequest'reporter :: !(Prelude.Maybe Reporter),
+                                _ReportRequest'auth :: !(Prelude.Maybe Auth),
+                                _ReportRequest'spans :: !(Data.Vector.Vector Span),
+                                _ReportRequest'timestampOffsetMicros :: !Data.Int.Int64,
+                                _ReportRequest'internalMetrics :: !(Prelude.Maybe InternalMetrics),
+                                _ReportRequest'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show ReportRequest where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField ReportRequest "reporter" Reporter where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ReportRequest'reporter
+           (\ x__ y__ -> x__ {_ReportRequest'reporter = y__}))
+        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField ReportRequest "maybe'reporter" (Prelude.Maybe Reporter) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ReportRequest'reporter
+           (\ x__ y__ -> x__ {_ReportRequest'reporter = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ReportRequest "auth" Auth where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ReportRequest'auth (\ x__ y__ -> x__ {_ReportRequest'auth = y__}))
+        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField ReportRequest "maybe'auth" (Prelude.Maybe Auth) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ReportRequest'auth (\ x__ y__ -> x__ {_ReportRequest'auth = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ReportRequest "spans" [Span] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ReportRequest'spans
+           (\ x__ y__ -> x__ {_ReportRequest'spans = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField ReportRequest "vec'spans" (Data.Vector.Vector Span) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ReportRequest'spans
+           (\ x__ y__ -> x__ {_ReportRequest'spans = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ReportRequest "timestampOffsetMicros" Data.Int.Int64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ReportRequest'timestampOffsetMicros
+           (\ x__ y__ -> x__ {_ReportRequest'timestampOffsetMicros = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ReportRequest "internalMetrics" InternalMetrics where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ReportRequest'internalMetrics
+           (\ x__ y__ -> x__ {_ReportRequest'internalMetrics = y__}))
+        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField ReportRequest "maybe'internalMetrics" (Prelude.Maybe InternalMetrics) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ReportRequest'internalMetrics
+           (\ x__ y__ -> x__ {_ReportRequest'internalMetrics = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message ReportRequest where
+  messageName _ = Data.Text.pack "lightstep.collector.ReportRequest"
+  packedMessageDescriptor _
+    = "\n\
+      \\rReportRequest\DC29\n\
+      \\breporter\CAN\SOH \SOH(\v2\GS.lightstep.collector.ReporterR\breporter\DC2-\n\
+      \\EOTauth\CAN\STX \SOH(\v2\EM.lightstep.collector.AuthR\EOTauth\DC2/\n\
+      \\ENQspans\CAN\ETX \ETX(\v2\EM.lightstep.collector.SpanR\ENQspans\DC2:\n\
+      \\ETBtimestamp_offset_micros\CAN\ENQ \SOH(\ETXR\NAKtimestampOffsetMicrosB\STX0\SOH\DC2O\n\
+      \\DLEinternal_metrics\CAN\ACK \SOH(\v2$.lightstep.collector.InternalMetricsR\SIinternalMetrics"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        reporter__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "reporter"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Reporter)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'reporter")) ::
+              Data.ProtoLens.FieldDescriptor ReportRequest
+        auth__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "auth"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Auth)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'auth")) ::
+              Data.ProtoLens.FieldDescriptor ReportRequest
+        spans__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "spans"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Span)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"spans")) ::
+              Data.ProtoLens.FieldDescriptor ReportRequest
+        timestampOffsetMicros__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "timestamp_offset_micros"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"timestampOffsetMicros")) ::
+              Data.ProtoLens.FieldDescriptor ReportRequest
+        internalMetrics__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "internal_metrics"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor InternalMetrics)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'internalMetrics")) ::
+              Data.ProtoLens.FieldDescriptor ReportRequest
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, reporter__field_descriptor),
+           (Data.ProtoLens.Tag 2, auth__field_descriptor),
+           (Data.ProtoLens.Tag 3, spans__field_descriptor),
+           (Data.ProtoLens.Tag 5, timestampOffsetMicros__field_descriptor),
+           (Data.ProtoLens.Tag 6, internalMetrics__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _ReportRequest'_unknownFields
+        (\ x__ y__ -> x__ {_ReportRequest'_unknownFields = y__})
+  defMessage
+    = ReportRequest'_constructor
+        {_ReportRequest'reporter = Prelude.Nothing,
+         _ReportRequest'auth = Prelude.Nothing,
+         _ReportRequest'spans = Data.Vector.Generic.empty,
+         _ReportRequest'timestampOffsetMicros = Data.ProtoLens.fieldDefault,
+         _ReportRequest'internalMetrics = Prelude.Nothing,
+         _ReportRequest'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          ReportRequest
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Span
+             -> Data.ProtoLens.Encoding.Bytes.Parser ReportRequest
+        loop x mutable'spans
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'spans <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                        (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'spans)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'spans") frozen'spans x))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "reporter"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"reporter") y x)
+                                  mutable'spans
+                        18
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "auth"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"auth") y x)
+                                  mutable'spans
+                        26
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "spans"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'spans y)
+                                loop x v
+                        40
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "timestamp_offset_micros"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"timestampOffsetMicros") y x)
+                                  mutable'spans
+                        50
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "internal_metrics"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"internalMetrics") y x)
+                                  mutable'spans
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'spans
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'spans <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                 Data.ProtoLens.Encoding.Growing.new
+              loop Data.ProtoLens.defMessage mutable'spans)
+          "ReportRequest"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'reporter") _x
+              of
+                Prelude.Nothing -> Data.Monoid.mempty
+                (Prelude.Just _v)
+                  -> (Data.Monoid.<>)
+                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                       ((Prelude..)
+                          (\ bs
+                             -> (Data.Monoid.<>)
+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                          Data.ProtoLens.encodeMessage _v))
+             ((Data.Monoid.<>)
+                (case
+                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'auth") _x
+                 of
+                   Prelude.Nothing -> Data.Monoid.mempty
+                   (Prelude.Just _v)
+                     -> (Data.Monoid.<>)
+                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                          ((Prelude..)
+                             (\ bs
+                                -> (Data.Monoid.<>)
+                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                             Data.ProtoLens.encodeMessage _v))
+                ((Data.Monoid.<>)
+                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                      (\ _v
+                         -> (Data.Monoid.<>)
+                              (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                              ((Prelude..)
+                                 (\ bs
+                                    -> (Data.Monoid.<>)
+                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                            (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                 Data.ProtoLens.encodeMessage _v))
+                      (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'spans") _x))
+                   ((Data.Monoid.<>)
+                      (let
+                         _v
+                           = Lens.Family2.view
+                               (Data.ProtoLens.Field.field @"timestampOffsetMicros") _x
+                       in
+                         if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                             Data.Monoid.mempty
+                         else
+                             (Data.Monoid.<>)
+                               (Data.ProtoLens.Encoding.Bytes.putVarInt 40)
+                               ((Prelude..)
+                                  Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+                      ((Data.Monoid.<>)
+                         (case
+                              Lens.Family2.view
+                                (Data.ProtoLens.Field.field @"maybe'internalMetrics") _x
+                          of
+                            Prelude.Nothing -> Data.Monoid.mempty
+                            (Prelude.Just _v)
+                              -> (Data.Monoid.<>)
+                                   (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
+                                   ((Prelude..)
+                                      (\ bs
+                                         -> (Data.Monoid.<>)
+                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                              (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                      Data.ProtoLens.encodeMessage _v))
+                         (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                            (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))
+instance Control.DeepSeq.NFData ReportRequest where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_ReportRequest'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_ReportRequest'reporter x__)
+                (Control.DeepSeq.deepseq
+                   (_ReportRequest'auth x__)
+                   (Control.DeepSeq.deepseq
+                      (_ReportRequest'spans x__)
+                      (Control.DeepSeq.deepseq
+                         (_ReportRequest'timestampOffsetMicros x__)
+                         (Control.DeepSeq.deepseq
+                            (_ReportRequest'internalMetrics x__) ())))))
+{- | Fields :
+     
+         * 'Proto.Collector_Fields.commands' @:: Lens' ReportResponse [Command]@
+         * 'Proto.Collector_Fields.vec'commands' @:: Lens' ReportResponse (Data.Vector.Vector Command)@
+         * 'Proto.Collector_Fields.receiveTimestamp' @:: Lens' ReportResponse Proto.Google.Protobuf.Timestamp.Timestamp@
+         * 'Proto.Collector_Fields.maybe'receiveTimestamp' @:: Lens' ReportResponse (Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp)@
+         * 'Proto.Collector_Fields.transmitTimestamp' @:: Lens' ReportResponse Proto.Google.Protobuf.Timestamp.Timestamp@
+         * 'Proto.Collector_Fields.maybe'transmitTimestamp' @:: Lens' ReportResponse (Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp)@
+         * 'Proto.Collector_Fields.errors' @:: Lens' ReportResponse [Data.Text.Text]@
+         * 'Proto.Collector_Fields.vec'errors' @:: Lens' ReportResponse (Data.Vector.Vector Data.Text.Text)@
+         * 'Proto.Collector_Fields.warnings' @:: Lens' ReportResponse [Data.Text.Text]@
+         * 'Proto.Collector_Fields.vec'warnings' @:: Lens' ReportResponse (Data.Vector.Vector Data.Text.Text)@
+         * 'Proto.Collector_Fields.infos' @:: Lens' ReportResponse [Data.Text.Text]@
+         * 'Proto.Collector_Fields.vec'infos' @:: Lens' ReportResponse (Data.Vector.Vector Data.Text.Text)@ -}
+data ReportResponse
+  = ReportResponse'_constructor {_ReportResponse'commands :: !(Data.Vector.Vector Command),
+                                 _ReportResponse'receiveTimestamp :: !(Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp),
+                                 _ReportResponse'transmitTimestamp :: !(Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp),
+                                 _ReportResponse'errors :: !(Data.Vector.Vector Data.Text.Text),
+                                 _ReportResponse'warnings :: !(Data.Vector.Vector Data.Text.Text),
+                                 _ReportResponse'infos :: !(Data.Vector.Vector Data.Text.Text),
+                                 _ReportResponse'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show ReportResponse where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField ReportResponse "commands" [Command] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ReportResponse'commands
+           (\ x__ y__ -> x__ {_ReportResponse'commands = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField ReportResponse "vec'commands" (Data.Vector.Vector Command) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ReportResponse'commands
+           (\ x__ y__ -> x__ {_ReportResponse'commands = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ReportResponse "receiveTimestamp" Proto.Google.Protobuf.Timestamp.Timestamp where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ReportResponse'receiveTimestamp
+           (\ x__ y__ -> x__ {_ReportResponse'receiveTimestamp = y__}))
+        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField ReportResponse "maybe'receiveTimestamp" (Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ReportResponse'receiveTimestamp
+           (\ x__ y__ -> x__ {_ReportResponse'receiveTimestamp = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ReportResponse "transmitTimestamp" Proto.Google.Protobuf.Timestamp.Timestamp where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ReportResponse'transmitTimestamp
+           (\ x__ y__ -> x__ {_ReportResponse'transmitTimestamp = y__}))
+        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField ReportResponse "maybe'transmitTimestamp" (Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ReportResponse'transmitTimestamp
+           (\ x__ y__ -> x__ {_ReportResponse'transmitTimestamp = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ReportResponse "errors" [Data.Text.Text] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ReportResponse'errors
+           (\ x__ y__ -> x__ {_ReportResponse'errors = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField ReportResponse "vec'errors" (Data.Vector.Vector Data.Text.Text) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ReportResponse'errors
+           (\ x__ y__ -> x__ {_ReportResponse'errors = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ReportResponse "warnings" [Data.Text.Text] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ReportResponse'warnings
+           (\ x__ y__ -> x__ {_ReportResponse'warnings = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField ReportResponse "vec'warnings" (Data.Vector.Vector Data.Text.Text) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ReportResponse'warnings
+           (\ x__ y__ -> x__ {_ReportResponse'warnings = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ReportResponse "infos" [Data.Text.Text] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ReportResponse'infos
+           (\ x__ y__ -> x__ {_ReportResponse'infos = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField ReportResponse "vec'infos" (Data.Vector.Vector Data.Text.Text) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ReportResponse'infos
+           (\ x__ y__ -> x__ {_ReportResponse'infos = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message ReportResponse where
+  messageName _ = Data.Text.pack "lightstep.collector.ReportResponse"
+  packedMessageDescriptor _
+    = "\n\
+      \\SOReportResponse\DC28\n\
+      \\bcommands\CAN\SOH \ETX(\v2\FS.lightstep.collector.CommandR\bcommands\DC2G\n\
+      \\DC1receive_timestamp\CAN\STX \SOH(\v2\SUB.google.protobuf.TimestampR\DLEreceiveTimestamp\DC2I\n\
+      \\DC2transmit_timestamp\CAN\ETX \SOH(\v2\SUB.google.protobuf.TimestampR\DC1transmitTimestamp\DC2\SYN\n\
+      \\ACKerrors\CAN\EOT \ETX(\tR\ACKerrors\DC2\SUB\n\
+      \\bwarnings\CAN\ENQ \ETX(\tR\bwarnings\DC2\DC4\n\
+      \\ENQinfos\CAN\ACK \ETX(\tR\ENQinfos"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        commands__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "commands"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Command)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"commands")) ::
+              Data.ProtoLens.FieldDescriptor ReportResponse
+        receiveTimestamp__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "receive_timestamp"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Proto.Google.Protobuf.Timestamp.Timestamp)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'receiveTimestamp")) ::
+              Data.ProtoLens.FieldDescriptor ReportResponse
+        transmitTimestamp__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "transmit_timestamp"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Proto.Google.Protobuf.Timestamp.Timestamp)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'transmitTimestamp")) ::
+              Data.ProtoLens.FieldDescriptor ReportResponse
+        errors__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "errors"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"errors")) ::
+              Data.ProtoLens.FieldDescriptor ReportResponse
+        warnings__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "warnings"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"warnings")) ::
+              Data.ProtoLens.FieldDescriptor ReportResponse
+        infos__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "infos"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"infos")) ::
+              Data.ProtoLens.FieldDescriptor ReportResponse
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, commands__field_descriptor),
+           (Data.ProtoLens.Tag 2, receiveTimestamp__field_descriptor),
+           (Data.ProtoLens.Tag 3, transmitTimestamp__field_descriptor),
+           (Data.ProtoLens.Tag 4, errors__field_descriptor),
+           (Data.ProtoLens.Tag 5, warnings__field_descriptor),
+           (Data.ProtoLens.Tag 6, infos__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _ReportResponse'_unknownFields
+        (\ x__ y__ -> x__ {_ReportResponse'_unknownFields = y__})
+  defMessage
+    = ReportResponse'_constructor
+        {_ReportResponse'commands = Data.Vector.Generic.empty,
+         _ReportResponse'receiveTimestamp = Prelude.Nothing,
+         _ReportResponse'transmitTimestamp = Prelude.Nothing,
+         _ReportResponse'errors = Data.Vector.Generic.empty,
+         _ReportResponse'warnings = Data.Vector.Generic.empty,
+         _ReportResponse'infos = Data.Vector.Generic.empty,
+         _ReportResponse'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          ReportResponse
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Command
+             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Text.Text
+                -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Text.Text
+                   -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Text.Text
+                      -> Data.ProtoLens.Encoding.Bytes.Parser ReportResponse
+        loop
+          x
+          mutable'commands
+          mutable'errors
+          mutable'infos
+          mutable'warnings
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'commands <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                           (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                              mutable'commands)
+                      frozen'errors <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                            mutable'errors)
+                      frozen'infos <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                        (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'infos)
+                      frozen'warnings <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                           (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                              mutable'warnings)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'commands") frozen'commands
+                              (Lens.Family2.set
+                                 (Data.ProtoLens.Field.field @"vec'errors") frozen'errors
+                                 (Lens.Family2.set
+                                    (Data.ProtoLens.Field.field @"vec'infos") frozen'infos
+                                    (Lens.Family2.set
+                                       (Data.ProtoLens.Field.field @"vec'warnings") frozen'warnings
+                                       x)))))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "commands"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'commands y)
+                                loop x v mutable'errors mutable'infos mutable'warnings
+                        18
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "receive_timestamp"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"receiveTimestamp") y x)
+                                  mutable'commands mutable'errors mutable'infos mutable'warnings
+                        26
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "transmit_timestamp"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"transmitTimestamp") y x)
+                                  mutable'commands mutable'errors mutable'infos mutable'warnings
+                        34
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                        Data.ProtoLens.Encoding.Bytes.getBytes
+                                                          (Prelude.fromIntegral len)
+                                            Data.ProtoLens.Encoding.Bytes.runEither
+                                              (case Data.Text.Encoding.decodeUtf8' value of
+                                                 (Prelude.Left err)
+                                                   -> Prelude.Left (Prelude.show err)
+                                                 (Prelude.Right r) -> Prelude.Right r))
+                                        "errors"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'errors y)
+                                loop x mutable'commands v mutable'infos mutable'warnings
+                        42
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                        Data.ProtoLens.Encoding.Bytes.getBytes
+                                                          (Prelude.fromIntegral len)
+                                            Data.ProtoLens.Encoding.Bytes.runEither
+                                              (case Data.Text.Encoding.decodeUtf8' value of
+                                                 (Prelude.Left err)
+                                                   -> Prelude.Left (Prelude.show err)
+                                                 (Prelude.Right r) -> Prelude.Right r))
+                                        "warnings"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'warnings y)
+                                loop x mutable'commands mutable'errors mutable'infos v
+                        50
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                        Data.ProtoLens.Encoding.Bytes.getBytes
+                                                          (Prelude.fromIntegral len)
+                                            Data.ProtoLens.Encoding.Bytes.runEither
+                                              (case Data.Text.Encoding.decodeUtf8' value of
+                                                 (Prelude.Left err)
+                                                   -> Prelude.Left (Prelude.show err)
+                                                 (Prelude.Right r) -> Prelude.Right r))
+                                        "infos"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'infos y)
+                                loop x mutable'commands mutable'errors v mutable'warnings
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'commands mutable'errors mutable'infos mutable'warnings
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'commands <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                    Data.ProtoLens.Encoding.Growing.new
+              mutable'errors <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                  Data.ProtoLens.Encoding.Growing.new
+              mutable'infos <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                 Data.ProtoLens.Encoding.Growing.new
+              mutable'warnings <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                    Data.ProtoLens.Encoding.Growing.new
+              loop
+                Data.ProtoLens.defMessage mutable'commands mutable'errors
+                mutable'infos mutable'warnings)
+          "ReportResponse"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                (\ _v
+                   -> (Data.Monoid.<>)
+                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                        ((Prelude..)
+                           (\ bs
+                              -> (Data.Monoid.<>)
+                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                           Data.ProtoLens.encodeMessage _v))
+                (Lens.Family2.view
+                   (Data.ProtoLens.Field.field @"vec'commands") _x))
+             ((Data.Monoid.<>)
+                (case
+                     Lens.Family2.view
+                       (Data.ProtoLens.Field.field @"maybe'receiveTimestamp") _x
+                 of
+                   Prelude.Nothing -> Data.Monoid.mempty
+                   (Prelude.Just _v)
+                     -> (Data.Monoid.<>)
+                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                          ((Prelude..)
+                             (\ bs
+                                -> (Data.Monoid.<>)
+                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                             Data.ProtoLens.encodeMessage _v))
+                ((Data.Monoid.<>)
+                   (case
+                        Lens.Family2.view
+                          (Data.ProtoLens.Field.field @"maybe'transmitTimestamp") _x
+                    of
+                      Prelude.Nothing -> Data.Monoid.mempty
+                      (Prelude.Just _v)
+                        -> (Data.Monoid.<>)
+                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                             ((Prelude..)
+                                (\ bs
+                                   -> (Data.Monoid.<>)
+                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                Data.ProtoLens.encodeMessage _v))
+                   ((Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                         (\ _v
+                            -> (Data.Monoid.<>)
+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
+                                 ((Prelude..)
+                                    (\ bs
+                                       -> (Data.Monoid.<>)
+                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                               (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                            (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                    Data.Text.Encoding.encodeUtf8 _v))
+                         (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'errors") _x))
+                      ((Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                            (\ _v
+                               -> (Data.Monoid.<>)
+                                    (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
+                                    ((Prelude..)
+                                       (\ bs
+                                          -> (Data.Monoid.<>)
+                                               (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                  (Prelude.fromIntegral
+                                                     (Data.ByteString.length bs)))
+                                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                       Data.Text.Encoding.encodeUtf8 _v))
+                            (Lens.Family2.view
+                               (Data.ProtoLens.Field.field @"vec'warnings") _x))
+                         ((Data.Monoid.<>)
+                            (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                               (\ _v
+                                  -> (Data.Monoid.<>)
+                                       (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
+                                       ((Prelude..)
+                                          (\ bs
+                                             -> (Data.Monoid.<>)
+                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                     (Prelude.fromIntegral
+                                                        (Data.ByteString.length bs)))
+                                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                          Data.Text.Encoding.encodeUtf8 _v))
+                               (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'infos") _x))
+                            (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                               (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))))
+instance Control.DeepSeq.NFData ReportResponse where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_ReportResponse'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_ReportResponse'commands x__)
+                (Control.DeepSeq.deepseq
+                   (_ReportResponse'receiveTimestamp x__)
+                   (Control.DeepSeq.deepseq
+                      (_ReportResponse'transmitTimestamp x__)
+                      (Control.DeepSeq.deepseq
+                         (_ReportResponse'errors x__)
+                         (Control.DeepSeq.deepseq
+                            (_ReportResponse'warnings x__)
+                            (Control.DeepSeq.deepseq (_ReportResponse'infos x__) ()))))))
+{- | Fields :
+     
+         * 'Proto.Collector_Fields.reporterId' @:: Lens' Reporter Data.Word.Word64@
+         * 'Proto.Collector_Fields.tags' @:: Lens' Reporter [KeyValue]@
+         * 'Proto.Collector_Fields.vec'tags' @:: Lens' Reporter (Data.Vector.Vector KeyValue)@ -}
+data Reporter
+  = Reporter'_constructor {_Reporter'reporterId :: !Data.Word.Word64,
+                           _Reporter'tags :: !(Data.Vector.Vector KeyValue),
+                           _Reporter'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show Reporter where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField Reporter "reporterId" Data.Word.Word64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Reporter'reporterId
+           (\ x__ y__ -> x__ {_Reporter'reporterId = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Reporter "tags" [KeyValue] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Reporter'tags (\ x__ y__ -> x__ {_Reporter'tags = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Reporter "vec'tags" (Data.Vector.Vector KeyValue) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Reporter'tags (\ x__ y__ -> x__ {_Reporter'tags = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message Reporter where
+  messageName _ = Data.Text.pack "lightstep.collector.Reporter"
+  packedMessageDescriptor _
+    = "\n\
+      \\bReporter\DC2#\n\
+      \\vreporter_id\CAN\SOH \SOH(\EOTR\n\
+      \reporterIdB\STX0\SOH\DC21\n\
+      \\EOTtags\CAN\EOT \ETX(\v2\GS.lightstep.collector.KeyValueR\EOTtags"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        reporterId__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "reporter_id"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"reporterId")) ::
+              Data.ProtoLens.FieldDescriptor Reporter
+        tags__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "tags"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor KeyValue)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"tags")) ::
+              Data.ProtoLens.FieldDescriptor Reporter
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, reporterId__field_descriptor),
+           (Data.ProtoLens.Tag 4, tags__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _Reporter'_unknownFields
+        (\ x__ y__ -> x__ {_Reporter'_unknownFields = y__})
+  defMessage
+    = Reporter'_constructor
+        {_Reporter'reporterId = Data.ProtoLens.fieldDefault,
+         _Reporter'tags = Data.Vector.Generic.empty,
+         _Reporter'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          Reporter
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld KeyValue
+             -> Data.ProtoLens.Encoding.Bytes.Parser Reporter
+        loop x mutable'tags
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'tags <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'tags)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'tags") frozen'tags x))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       Data.ProtoLens.Encoding.Bytes.getVarInt "reporter_id"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"reporterId") y x)
+                                  mutable'tags
+                        34
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "tags"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'tags y)
+                                loop x v
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'tags
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'tags <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                Data.ProtoLens.Encoding.Growing.new
+              loop Data.ProtoLens.defMessage mutable'tags)
+          "Reporter"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let
+                _v
+                  = Lens.Family2.view (Data.ProtoLens.Field.field @"reporterId") _x
+              in
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
+             ((Data.Monoid.<>)
+                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                   (\ _v
+                      -> (Data.Monoid.<>)
+                           (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
+                           ((Prelude..)
+                              (\ bs
+                                 -> (Data.Monoid.<>)
+                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                              Data.ProtoLens.encodeMessage _v))
+                   (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'tags") _x))
+                (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
+instance Control.DeepSeq.NFData Reporter where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_Reporter'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_Reporter'reporterId x__)
+                (Control.DeepSeq.deepseq (_Reporter'tags x__) ()))
+{- | Fields :
+     
+         * 'Proto.Collector_Fields.spanContext' @:: Lens' Span SpanContext@
+         * 'Proto.Collector_Fields.maybe'spanContext' @:: Lens' Span (Prelude.Maybe SpanContext)@
+         * 'Proto.Collector_Fields.operationName' @:: Lens' Span Data.Text.Text@
+         * 'Proto.Collector_Fields.references' @:: Lens' Span [Reference]@
+         * 'Proto.Collector_Fields.vec'references' @:: Lens' Span (Data.Vector.Vector Reference)@
+         * 'Proto.Collector_Fields.startTimestamp' @:: Lens' Span Proto.Google.Protobuf.Timestamp.Timestamp@
+         * 'Proto.Collector_Fields.maybe'startTimestamp' @:: Lens' Span (Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp)@
+         * 'Proto.Collector_Fields.durationMicros' @:: Lens' Span Data.Word.Word64@
+         * 'Proto.Collector_Fields.tags' @:: Lens' Span [KeyValue]@
+         * 'Proto.Collector_Fields.vec'tags' @:: Lens' Span (Data.Vector.Vector KeyValue)@
+         * 'Proto.Collector_Fields.logs' @:: Lens' Span [Log]@
+         * 'Proto.Collector_Fields.vec'logs' @:: Lens' Span (Data.Vector.Vector Log)@ -}
+data Span
+  = Span'_constructor {_Span'spanContext :: !(Prelude.Maybe SpanContext),
+                       _Span'operationName :: !Data.Text.Text,
+                       _Span'references :: !(Data.Vector.Vector Reference),
+                       _Span'startTimestamp :: !(Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp),
+                       _Span'durationMicros :: !Data.Word.Word64,
+                       _Span'tags :: !(Data.Vector.Vector KeyValue),
+                       _Span'logs :: !(Data.Vector.Vector Log),
+                       _Span'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show Span where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField Span "spanContext" SpanContext where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'spanContext (\ x__ y__ -> x__ {_Span'spanContext = y__}))
+        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField Span "maybe'spanContext" (Prelude.Maybe SpanContext) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'spanContext (\ x__ y__ -> x__ {_Span'spanContext = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span "operationName" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'operationName (\ x__ y__ -> x__ {_Span'operationName = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span "references" [Reference] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'references (\ x__ y__ -> x__ {_Span'references = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Span "vec'references" (Data.Vector.Vector Reference) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'references (\ x__ y__ -> x__ {_Span'references = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span "startTimestamp" Proto.Google.Protobuf.Timestamp.Timestamp where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'startTimestamp
+           (\ x__ y__ -> x__ {_Span'startTimestamp = y__}))
+        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField Span "maybe'startTimestamp" (Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'startTimestamp
+           (\ x__ y__ -> x__ {_Span'startTimestamp = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span "durationMicros" Data.Word.Word64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'durationMicros
+           (\ x__ y__ -> x__ {_Span'durationMicros = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span "tags" [KeyValue] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'tags (\ x__ y__ -> x__ {_Span'tags = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Span "vec'tags" (Data.Vector.Vector KeyValue) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'tags (\ x__ y__ -> x__ {_Span'tags = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span "logs" [Log] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'logs (\ x__ y__ -> x__ {_Span'logs = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Span "vec'logs" (Data.Vector.Vector Log) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'logs (\ x__ y__ -> x__ {_Span'logs = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message Span where
+  messageName _ = Data.Text.pack "lightstep.collector.Span"
+  packedMessageDescriptor _
+    = "\n\
+      \\EOTSpan\DC2C\n\
+      \\fspan_context\CAN\SOH \SOH(\v2 .lightstep.collector.SpanContextR\vspanContext\DC2%\n\
+      \\SOoperation_name\CAN\STX \SOH(\tR\roperationName\DC2>\n\
+      \\n\
+      \references\CAN\ETX \ETX(\v2\RS.lightstep.collector.ReferenceR\n\
+      \references\DC2C\n\
+      \\SIstart_timestamp\CAN\EOT \SOH(\v2\SUB.google.protobuf.TimestampR\SOstartTimestamp\DC2+\n\
+      \\SIduration_micros\CAN\ENQ \SOH(\EOTR\SOdurationMicrosB\STX0\SOH\DC21\n\
+      \\EOTtags\CAN\ACK \ETX(\v2\GS.lightstep.collector.KeyValueR\EOTtags\DC2,\n\
+      \\EOTlogs\CAN\a \ETX(\v2\CAN.lightstep.collector.LogR\EOTlogs"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        spanContext__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "span_context"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor SpanContext)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'spanContext")) ::
+              Data.ProtoLens.FieldDescriptor Span
+        operationName__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "operation_name"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"operationName")) ::
+              Data.ProtoLens.FieldDescriptor Span
+        references__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "references"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Reference)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"references")) ::
+              Data.ProtoLens.FieldDescriptor Span
+        startTimestamp__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "start_timestamp"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Proto.Google.Protobuf.Timestamp.Timestamp)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'startTimestamp")) ::
+              Data.ProtoLens.FieldDescriptor Span
+        durationMicros__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "duration_micros"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"durationMicros")) ::
+              Data.ProtoLens.FieldDescriptor Span
+        tags__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "tags"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor KeyValue)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"tags")) ::
+              Data.ProtoLens.FieldDescriptor Span
+        logs__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "logs"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Log)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"logs")) ::
+              Data.ProtoLens.FieldDescriptor Span
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, spanContext__field_descriptor),
+           (Data.ProtoLens.Tag 2, operationName__field_descriptor),
+           (Data.ProtoLens.Tag 3, references__field_descriptor),
+           (Data.ProtoLens.Tag 4, startTimestamp__field_descriptor),
+           (Data.ProtoLens.Tag 5, durationMicros__field_descriptor),
+           (Data.ProtoLens.Tag 6, tags__field_descriptor),
+           (Data.ProtoLens.Tag 7, logs__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _Span'_unknownFields
+        (\ x__ y__ -> x__ {_Span'_unknownFields = y__})
+  defMessage
+    = Span'_constructor
+        {_Span'spanContext = Prelude.Nothing,
+         _Span'operationName = Data.ProtoLens.fieldDefault,
+         _Span'references = Data.Vector.Generic.empty,
+         _Span'startTimestamp = Prelude.Nothing,
+         _Span'durationMicros = Data.ProtoLens.fieldDefault,
+         _Span'tags = Data.Vector.Generic.empty,
+         _Span'logs = Data.Vector.Generic.empty, _Span'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          Span
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Log
+             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Reference
+                -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld KeyValue
+                   -> Data.ProtoLens.Encoding.Bytes.Parser Span
+        loop x mutable'logs mutable'references mutable'tags
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'logs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'logs)
+                      frozen'references <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                mutable'references)
+                      frozen'tags <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'tags)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'logs") frozen'logs
+                              (Lens.Family2.set
+                                 (Data.ProtoLens.Field.field @"vec'references") frozen'references
+                                 (Lens.Family2.set
+                                    (Data.ProtoLens.Field.field @"vec'tags") frozen'tags x))))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "span_context"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"spanContext") y x)
+                                  mutable'logs mutable'references mutable'tags
+                        18
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                       Data.ProtoLens.Encoding.Bytes.getBytes
+                                                         (Prelude.fromIntegral len)
+                                           Data.ProtoLens.Encoding.Bytes.runEither
+                                             (case Data.Text.Encoding.decodeUtf8' value of
+                                                (Prelude.Left err)
+                                                  -> Prelude.Left (Prelude.show err)
+                                                (Prelude.Right r) -> Prelude.Right r))
+                                       "operation_name"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"operationName") y x)
+                                  mutable'logs mutable'references mutable'tags
+                        26
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "references"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'references y)
+                                loop x mutable'logs v mutable'tags
+                        34
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "start_timestamp"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"startTimestamp") y x)
+                                  mutable'logs mutable'references mutable'tags
+                        40
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       Data.ProtoLens.Encoding.Bytes.getVarInt "duration_micros"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"durationMicros") y x)
+                                  mutable'logs mutable'references mutable'tags
+                        50
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "tags"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'tags y)
+                                loop x mutable'logs mutable'references v
+                        58
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "logs"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'logs y)
+                                loop x v mutable'references mutable'tags
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'logs mutable'references mutable'tags
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'logs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                Data.ProtoLens.Encoding.Growing.new
+              mutable'references <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                      Data.ProtoLens.Encoding.Growing.new
+              mutable'tags <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                Data.ProtoLens.Encoding.Growing.new
+              loop
+                Data.ProtoLens.defMessage mutable'logs mutable'references
+                mutable'tags)
+          "Span"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (case
+                  Lens.Family2.view
+                    (Data.ProtoLens.Field.field @"maybe'spanContext") _x
+              of
+                Prelude.Nothing -> Data.Monoid.mempty
+                (Prelude.Just _v)
+                  -> (Data.Monoid.<>)
+                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                       ((Prelude..)
+                          (\ bs
+                             -> (Data.Monoid.<>)
+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                          Data.ProtoLens.encodeMessage _v))
+             ((Data.Monoid.<>)
+                (let
+                   _v
+                     = Lens.Family2.view
+                         (Data.ProtoLens.Field.field @"operationName") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                         ((Prelude..)
+                            (\ bs
+                               -> (Data.Monoid.<>)
+                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                       (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                            Data.Text.Encoding.encodeUtf8 _v))
+                ((Data.Monoid.<>)
+                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                      (\ _v
+                         -> (Data.Monoid.<>)
+                              (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                              ((Prelude..)
+                                 (\ bs
+                                    -> (Data.Monoid.<>)
+                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                            (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                 Data.ProtoLens.encodeMessage _v))
+                      (Lens.Family2.view
+                         (Data.ProtoLens.Field.field @"vec'references") _x))
+                   ((Data.Monoid.<>)
+                      (case
+                           Lens.Family2.view
+                             (Data.ProtoLens.Field.field @"maybe'startTimestamp") _x
+                       of
+                         Prelude.Nothing -> Data.Monoid.mempty
+                         (Prelude.Just _v)
+                           -> (Data.Monoid.<>)
+                                (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
+                                ((Prelude..)
+                                   (\ bs
+                                      -> (Data.Monoid.<>)
+                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                   Data.ProtoLens.encodeMessage _v))
+                      ((Data.Monoid.<>)
+                         (let
+                            _v
+                              = Lens.Family2.view
+                                  (Data.ProtoLens.Field.field @"durationMicros") _x
+                          in
+                            if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                                Data.Monoid.mempty
+                            else
+                                (Data.Monoid.<>)
+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 40)
+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
+                         ((Data.Monoid.<>)
+                            (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                               (\ _v
+                                  -> (Data.Monoid.<>)
+                                       (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
+                                       ((Prelude..)
+                                          (\ bs
+                                             -> (Data.Monoid.<>)
+                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                     (Prelude.fromIntegral
+                                                        (Data.ByteString.length bs)))
+                                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                          Data.ProtoLens.encodeMessage _v))
+                               (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'tags") _x))
+                            ((Data.Monoid.<>)
+                               (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                                  (\ _v
+                                     -> (Data.Monoid.<>)
+                                          (Data.ProtoLens.Encoding.Bytes.putVarInt 58)
+                                          ((Prelude..)
+                                             (\ bs
+                                                -> (Data.Monoid.<>)
+                                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                        (Prelude.fromIntegral
+                                                           (Data.ByteString.length bs)))
+                                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                             Data.ProtoLens.encodeMessage _v))
+                                  (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'logs") _x))
+                               (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                                  (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))))
+instance Control.DeepSeq.NFData Span where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_Span'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_Span'spanContext x__)
+                (Control.DeepSeq.deepseq
+                   (_Span'operationName x__)
+                   (Control.DeepSeq.deepseq
+                      (_Span'references x__)
+                      (Control.DeepSeq.deepseq
+                         (_Span'startTimestamp x__)
+                         (Control.DeepSeq.deepseq
+                            (_Span'durationMicros x__)
+                            (Control.DeepSeq.deepseq
+                               (_Span'tags x__)
+                               (Control.DeepSeq.deepseq (_Span'logs x__) ())))))))
+{- | Fields :
+     
+         * 'Proto.Collector_Fields.traceId' @:: Lens' SpanContext Data.Word.Word64@
+         * 'Proto.Collector_Fields.spanId' @:: Lens' SpanContext Data.Word.Word64@
+         * 'Proto.Collector_Fields.baggage' @:: Lens' SpanContext (Data.Map.Map Data.Text.Text Data.Text.Text)@ -}
+data SpanContext
+  = SpanContext'_constructor {_SpanContext'traceId :: !Data.Word.Word64,
+                              _SpanContext'spanId :: !Data.Word.Word64,
+                              _SpanContext'baggage :: !(Data.Map.Map Data.Text.Text Data.Text.Text),
+                              _SpanContext'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show SpanContext where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField SpanContext "traceId" Data.Word.Word64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _SpanContext'traceId
+           (\ x__ y__ -> x__ {_SpanContext'traceId = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField SpanContext "spanId" Data.Word.Word64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _SpanContext'spanId (\ x__ y__ -> x__ {_SpanContext'spanId = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField SpanContext "baggage" (Data.Map.Map Data.Text.Text Data.Text.Text) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _SpanContext'baggage
+           (\ x__ y__ -> x__ {_SpanContext'baggage = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message SpanContext where
+  messageName _ = Data.Text.pack "lightstep.collector.SpanContext"
+  packedMessageDescriptor _
+    = "\n\
+      \\vSpanContext\DC2\GS\n\
+      \\btrace_id\CAN\SOH \SOH(\EOTR\atraceIdB\STX0\SOH\DC2\ESC\n\
+      \\aspan_id\CAN\STX \SOH(\EOTR\ACKspanIdB\STX0\SOH\DC2G\n\
+      \\abaggage\CAN\ETX \ETX(\v2-.lightstep.collector.SpanContext.BaggageEntryR\abaggage\SUB:\n\
+      \\fBaggageEntry\DC2\DLE\n\
+      \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC2\DC4\n\
+      \\ENQvalue\CAN\STX \SOH(\tR\ENQvalue:\STX8\SOH"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        traceId__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "trace_id"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"traceId")) ::
+              Data.ProtoLens.FieldDescriptor SpanContext
+        spanId__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "span_id"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"spanId")) ::
+              Data.ProtoLens.FieldDescriptor SpanContext
+        baggage__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "baggage"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor SpanContext'BaggageEntry)
+              (Data.ProtoLens.MapField
+                 (Data.ProtoLens.Field.field @"key")
+                 (Data.ProtoLens.Field.field @"value")
+                 (Data.ProtoLens.Field.field @"baggage")) ::
+              Data.ProtoLens.FieldDescriptor SpanContext
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, traceId__field_descriptor),
+           (Data.ProtoLens.Tag 2, spanId__field_descriptor),
+           (Data.ProtoLens.Tag 3, baggage__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _SpanContext'_unknownFields
+        (\ x__ y__ -> x__ {_SpanContext'_unknownFields = y__})
+  defMessage
+    = SpanContext'_constructor
+        {_SpanContext'traceId = Data.ProtoLens.fieldDefault,
+         _SpanContext'spanId = Data.ProtoLens.fieldDefault,
+         _SpanContext'baggage = Data.Map.empty,
+         _SpanContext'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          SpanContext -> Data.ProtoLens.Encoding.Bytes.Parser SpanContext
+        loop x
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       Data.ProtoLens.Encoding.Bytes.getVarInt "trace_id"
+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"traceId") y x)
+                        16
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       Data.ProtoLens.Encoding.Bytes.getVarInt "span_id"
+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"spanId") y x)
+                        26
+                          -> do !(entry :: SpanContext'BaggageEntry) <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                                                          (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                                              Data.ProtoLens.Encoding.Bytes.isolate
+                                                                                (Prelude.fromIntegral
+                                                                                   len)
+                                                                                Data.ProtoLens.parseMessage)
+                                                                          "baggage"
+                                (let
+                                   key = Lens.Family2.view (Data.ProtoLens.Field.field @"key") entry
+                                   value
+                                     = Lens.Family2.view (Data.ProtoLens.Field.field @"value") entry
+                                 in
+                                   loop
+                                     (Lens.Family2.over
+                                        (Data.ProtoLens.Field.field @"baggage")
+                                        (\ !t -> Data.Map.insert key value t) x))
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do loop Data.ProtoLens.defMessage) "SpanContext"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let
+                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"traceId") _x
+              in
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
+             ((Data.Monoid.<>)
+                (let
+                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"spanId") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
+                ((Data.Monoid.<>)
+                   (Data.Monoid.mconcat
+                      (Prelude.map
+                         (\ _v
+                            -> (Data.Monoid.<>)
+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                                 ((Prelude..)
+                                    (\ bs
+                                       -> (Data.Monoid.<>)
+                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                               (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                            (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                    Data.ProtoLens.encodeMessage
+                                    (Lens.Family2.set
+                                       (Data.ProtoLens.Field.field @"key") (Prelude.fst _v)
+                                       (Lens.Family2.set
+                                          (Data.ProtoLens.Field.field @"value") (Prelude.snd _v)
+                                          (Data.ProtoLens.defMessage ::
+                                             SpanContext'BaggageEntry)))))
+                         (Data.Map.toList
+                            (Lens.Family2.view (Data.ProtoLens.Field.field @"baggage") _x))))
+                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
+instance Control.DeepSeq.NFData SpanContext where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_SpanContext'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_SpanContext'traceId x__)
+                (Control.DeepSeq.deepseq
+                   (_SpanContext'spanId x__)
+                   (Control.DeepSeq.deepseq (_SpanContext'baggage x__) ())))
+{- | Fields :
+     
+         * 'Proto.Collector_Fields.key' @:: Lens' SpanContext'BaggageEntry Data.Text.Text@
+         * 'Proto.Collector_Fields.value' @:: Lens' SpanContext'BaggageEntry Data.Text.Text@ -}
+data SpanContext'BaggageEntry
+  = SpanContext'BaggageEntry'_constructor {_SpanContext'BaggageEntry'key :: !Data.Text.Text,
+                                           _SpanContext'BaggageEntry'value :: !Data.Text.Text,
+                                           _SpanContext'BaggageEntry'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show SpanContext'BaggageEntry where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField SpanContext'BaggageEntry "key" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _SpanContext'BaggageEntry'key
+           (\ x__ y__ -> x__ {_SpanContext'BaggageEntry'key = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField SpanContext'BaggageEntry "value" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _SpanContext'BaggageEntry'value
+           (\ x__ y__ -> x__ {_SpanContext'BaggageEntry'value = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message SpanContext'BaggageEntry where
+  messageName _
+    = Data.Text.pack "lightstep.collector.SpanContext.BaggageEntry"
+  packedMessageDescriptor _
+    = "\n\
+      \\fBaggageEntry\DC2\DLE\n\
+      \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC2\DC4\n\
+      \\ENQvalue\CAN\STX \SOH(\tR\ENQvalue:\STX8\SOH"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        key__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "key"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"key")) ::
+              Data.ProtoLens.FieldDescriptor SpanContext'BaggageEntry
+        value__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "value"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"value")) ::
+              Data.ProtoLens.FieldDescriptor SpanContext'BaggageEntry
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, key__field_descriptor),
+           (Data.ProtoLens.Tag 2, value__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _SpanContext'BaggageEntry'_unknownFields
+        (\ x__ y__ -> x__ {_SpanContext'BaggageEntry'_unknownFields = y__})
+  defMessage
+    = SpanContext'BaggageEntry'_constructor
+        {_SpanContext'BaggageEntry'key = Data.ProtoLens.fieldDefault,
+         _SpanContext'BaggageEntry'value = Data.ProtoLens.fieldDefault,
+         _SpanContext'BaggageEntry'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          SpanContext'BaggageEntry
+          -> Data.ProtoLens.Encoding.Bytes.Parser SpanContext'BaggageEntry
+        loop x
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                       Data.ProtoLens.Encoding.Bytes.getBytes
+                                                         (Prelude.fromIntegral len)
+                                           Data.ProtoLens.Encoding.Bytes.runEither
+                                             (case Data.Text.Encoding.decodeUtf8' value of
+                                                (Prelude.Left err)
+                                                  -> Prelude.Left (Prelude.show err)
+                                                (Prelude.Right r) -> Prelude.Right r))
+                                       "key"
+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"key") y x)
+                        18
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                       Data.ProtoLens.Encoding.Bytes.getBytes
+                                                         (Prelude.fromIntegral len)
+                                           Data.ProtoLens.Encoding.Bytes.runEither
+                                             (case Data.Text.Encoding.decodeUtf8' value of
+                                                (Prelude.Left err)
+                                                  -> Prelude.Left (Prelude.show err)
+                                                (Prelude.Right r) -> Prelude.Right r))
+                                       "value"
+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"value") y x)
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do loop Data.ProtoLens.defMessage) "BaggageEntry"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"key") _x
+              in
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                      ((Prelude..)
+                         (\ bs
+                            -> (Data.Monoid.<>)
+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                         Data.Text.Encoding.encodeUtf8 _v))
+             ((Data.Monoid.<>)
+                (let
+                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"value") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                         ((Prelude..)
+                            (\ bs
+                               -> (Data.Monoid.<>)
+                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                       (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                            Data.Text.Encoding.encodeUtf8 _v))
+                (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
+instance Control.DeepSeq.NFData SpanContext'BaggageEntry where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_SpanContext'BaggageEntry'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_SpanContext'BaggageEntry'key x__)
+                (Control.DeepSeq.deepseq (_SpanContext'BaggageEntry'value x__) ()))
+data CollectorService = CollectorService {}
+instance Data.ProtoLens.Service.Types.Service CollectorService where
+  type ServiceName CollectorService = "CollectorService"
+  type ServicePackage CollectorService = "lightstep.collector"
+  type ServiceMethods CollectorService = '["report"]
+instance Data.ProtoLens.Service.Types.HasMethodImpl CollectorService "report" where
+  type MethodName CollectorService "report" = "Report"
+  type MethodInput CollectorService "report" = ReportRequest
+  type MethodOutput CollectorService "report" = ReportResponse
+  type MethodStreamingType CollectorService "report" = 'Data.ProtoLens.Service.Types.NonStreaming
+packedFileDescriptor :: Data.ByteString.ByteString
+packedFileDescriptor
+  = "\n\
+    \\SIcollector.proto\DC2\DC3lightstep.collector\SUB\USgoogle/protobuf/timestamp.proto\SUB\FSgoogle/api/annotations.proto\"\206\SOH\n\
+    \\vSpanContext\DC2\GS\n\
+    \\btrace_id\CAN\SOH \SOH(\EOTR\atraceIdB\STX0\SOH\DC2\ESC\n\
+    \\aspan_id\CAN\STX \SOH(\EOTR\ACKspanIdB\STX0\SOH\DC2G\n\
+    \\abaggage\CAN\ETX \ETX(\v2-.lightstep.collector.SpanContext.BaggageEntryR\abaggage\SUB:\n\
+    \\fBaggageEntry\DC2\DLE\n\
+    \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC2\DC4\n\
+    \\ENQvalue\CAN\STX \SOH(\tR\ENQvalue:\STX8\SOH\"\212\SOH\n\
+    \\bKeyValue\DC2\DLE\n\
+    \\ETXkey\CAN\SOH \SOH(\tR\ETXkey\DC2#\n\
+    \\fstring_value\CAN\STX \SOH(\tH\NULR\vstringValue\DC2!\n\
+    \\tint_value\CAN\ETX \SOH(\ETXH\NULR\bintValueB\STX0\SOH\DC2#\n\
+    \\fdouble_value\CAN\EOT \SOH(\SOHH\NULR\vdoubleValue\DC2\US\n\
+    \\n\
+    \bool_value\CAN\ENQ \SOH(\bH\NULR\tboolValue\DC2\US\n\
+    \\n\
+    \json_value\CAN\ACK \SOH(\tH\NULR\tjsonValueB\a\n\
+    \\ENQvalue\"v\n\
+    \\ETXLog\DC28\n\
+    \\ttimestamp\CAN\SOH \SOH(\v2\SUB.google.protobuf.TimestampR\ttimestamp\DC25\n\
+    \\ACKfields\CAN\STX \ETX(\v2\GS.lightstep.collector.KeyValueR\ACKfields\"\209\SOH\n\
+    \\tReference\DC2O\n\
+    \\frelationship\CAN\SOH \SOH(\SO2+.lightstep.collector.Reference.RelationshipR\frelationship\DC2C\n\
+    \\fspan_context\CAN\STX \SOH(\v2 .lightstep.collector.SpanContextR\vspanContext\".\n\
+    \\fRelationship\DC2\f\n\
+    \\bCHILD_OF\DLE\NUL\DC2\DLE\n\
+    \\fFOLLOWS_FROM\DLE\SOH\"\133\ETX\n\
+    \\EOTSpan\DC2C\n\
+    \\fspan_context\CAN\SOH \SOH(\v2 .lightstep.collector.SpanContextR\vspanContext\DC2%\n\
+    \\SOoperation_name\CAN\STX \SOH(\tR\roperationName\DC2>\n\
+    \\n\
+    \references\CAN\ETX \ETX(\v2\RS.lightstep.collector.ReferenceR\n\
+    \references\DC2C\n\
+    \\SIstart_timestamp\CAN\EOT \SOH(\v2\SUB.google.protobuf.TimestampR\SOstartTimestamp\DC2+\n\
+    \\SIduration_micros\CAN\ENQ \SOH(\EOTR\SOdurationMicrosB\STX0\SOH\DC21\n\
+    \\EOTtags\CAN\ACK \ETX(\v2\GS.lightstep.collector.KeyValueR\EOTtags\DC2,\n\
+    \\EOTlogs\CAN\a \ETX(\v2\CAN.lightstep.collector.LogR\EOTlogs\"b\n\
+    \\bReporter\DC2#\n\
+    \\vreporter_id\CAN\SOH \SOH(\EOTR\n\
+    \reporterIdB\STX0\SOH\DC21\n\
+    \\EOTtags\CAN\EOT \ETX(\v2\GS.lightstep.collector.KeyValueR\EOTtags\"t\n\
+    \\rMetricsSample\DC2\DC2\n\
+    \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2!\n\
+    \\tint_value\CAN\STX \SOH(\ETXH\NULR\bintValueB\STX0\SOH\DC2#\n\
+    \\fdouble_value\CAN\ETX \SOH(\SOHH\NULR\vdoubleValueB\a\n\
+    \\ENQvalue\"\169\STX\n\
+    \\SIInternalMetrics\DC2C\n\
+    \\SIstart_timestamp\CAN\SOH \SOH(\v2\SUB.google.protobuf.TimestampR\SOstartTimestamp\DC2+\n\
+    \\SIduration_micros\CAN\STX \SOH(\EOTR\SOdurationMicrosB\STX0\SOH\DC2,\n\
+    \\EOTlogs\CAN\ETX \ETX(\v2\CAN.lightstep.collector.LogR\EOTlogs\DC2:\n\
+    \\ACKcounts\CAN\EOT \ETX(\v2\".lightstep.collector.MetricsSampleR\ACKcounts\DC2:\n\
+    \\ACKgauges\CAN\ENQ \ETX(\v2\".lightstep.collector.MetricsSampleR\ACKgauges\")\n\
+    \\EOTAuth\DC2!\n\
+    \\faccess_token\CAN\SOH \SOH(\tR\vaccessToken\"\183\STX\n\
+    \\rReportRequest\DC29\n\
+    \\breporter\CAN\SOH \SOH(\v2\GS.lightstep.collector.ReporterR\breporter\DC2-\n\
+    \\EOTauth\CAN\STX \SOH(\v2\EM.lightstep.collector.AuthR\EOTauth\DC2/\n\
+    \\ENQspans\CAN\ETX \ETX(\v2\EM.lightstep.collector.SpanR\ENQspans\DC2:\n\
+    \\ETBtimestamp_offset_micros\CAN\ENQ \SOH(\ETXR\NAKtimestampOffsetMicrosB\STX0\SOH\DC2O\n\
+    \\DLEinternal_metrics\CAN\ACK \SOH(\v2$.lightstep.collector.InternalMetricsR\SIinternalMetrics\">\n\
+    \\aCommand\DC2\CAN\n\
+    \\adisable\CAN\SOH \SOH(\bR\adisable\DC2\EM\n\
+    \\bdev_mode\CAN\STX \SOH(\bR\adevMode\"\168\STX\n\
+    \\SOReportResponse\DC28\n\
+    \\bcommands\CAN\SOH \ETX(\v2\FS.lightstep.collector.CommandR\bcommands\DC2G\n\
+    \\DC1receive_timestamp\CAN\STX \SOH(\v2\SUB.google.protobuf.TimestampR\DLEreceiveTimestamp\DC2I\n\
+    \\DC2transmit_timestamp\CAN\ETX \SOH(\v2\SUB.google.protobuf.TimestampR\DC1transmitTimestamp\DC2\SYN\n\
+    \\ACKerrors\CAN\EOT \ETX(\tR\ACKerrors\DC2\SUB\n\
+    \\bwarnings\CAN\ENQ \ETX(\tR\bwarnings\DC2\DC4\n\
+    \\ENQinfos\CAN\ACK \ETX(\tR\ENQinfos2\149\SOH\n\
+    \\DLECollectorService\DC2\128\SOH\n\
+    \\ACKReport\DC2\".lightstep.collector.ReportRequest\SUB#.lightstep.collector.ReportResponse\"-\130\211\228\147\STX'\"\SI/api/v2/reports:\SOH*Z\DC1\DC2\SI/api/v2/reportsB1\n\
+    \\EMcom.lightstep.tracer.grpcP\SOHZ\vcollectorpb\162\STX\EOTLSPBJ\195\GS\n\
+    \\ACK\DC2\EOT\NUL\NULs\SOH\n\
+    \\b\n\
+    \\SOH\f\DC2\ETX\NUL\NUL\DC2\n\
+    \\b\n\
+    \\SOH\STX\DC2\ETX\STX\NUL\FS\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\EOT\NUL\"\n\
+    \\t\n\
+    \\STX\b\v\DC2\ETX\EOT\NUL\"\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\ENQ\NUL\"\n\
+    \\t\n\
+    \\STX\b$\DC2\ETX\ENQ\NUL\"\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\ACK\NUL\"\n\
+    \\t\n\
+    \\STX\b\n\
+    \\DC2\ETX\ACK\NUL\"\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\a\NUL2\n\
+    \\t\n\
+    \\STX\b\SOH\DC2\ETX\a\NUL2\n\
+    \\t\n\
+    \\STX\ETX\NUL\DC2\ETX\t\NUL)\n\
+    \\t\n\
+    \\STX\ETX\SOH\DC2\ETX\n\
+    \\NUL&\n\
+    \\n\
+    \\n\
+    \\STX\EOT\NUL\DC2\EOT\f\NUL\DLE\SOH\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\NUL\SOH\DC2\ETX\f\b\DC3\n\
+    \\v\n\
+    \\EOT\EOT\NUL\STX\NUL\DC2\ETX\r\EOT+\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\NUL\ENQ\DC2\ETX\r\EOT\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\NUL\SOH\DC2\ETX\r\v\DC3\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\NUL\ETX\DC2\ETX\r\SYN\ETB\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\NUL\b\DC2\ETX\r\CAN*\n\
+    \\r\n\
+    \\ACK\EOT\NUL\STX\NUL\b\ACK\DC2\ETX\r\EM)\n\
+    \\v\n\
+    \\EOT\EOT\NUL\STX\SOH\DC2\ETX\SO\EOT*\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\SOH\ENQ\DC2\ETX\SO\EOT\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\SOH\SOH\DC2\ETX\SO\v\DC2\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\SOH\ETX\DC2\ETX\SO\NAK\SYN\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\SOH\b\DC2\ETX\SO\ETB)\n\
+    \\r\n\
+    \\ACK\EOT\NUL\STX\SOH\b\ACK\DC2\ETX\SO\CAN(\n\
+    \\v\n\
+    \\EOT\EOT\NUL\STX\STX\DC2\ETX\SI\EOT$\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\STX\ACK\DC2\ETX\SI\EOT\ETB\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\STX\SOH\DC2\ETX\SI\CAN\US\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\STX\ETX\DC2\ETX\SI\"#\n\
+    \1\n\
+    \\STX\EOT\SOH\DC2\EOT\DC3\NUL \SOH\SUB% Represent both tags and log fields.\n\
+    \\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\SOH\SOH\DC2\ETX\DC3\b\DLE\n\
+    \\v\n\
+    \\EOT\EOT\SOH\STX\NUL\DC2\ETX\DC4\EOT\DC3\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\NUL\ENQ\DC2\ETX\DC4\EOT\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\NUL\SOH\DC2\ETX\DC4\v\SO\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\NUL\ETX\DC2\ETX\DC4\DC1\DC2\n\
+    \\f\n\
+    \\EOT\EOT\SOH\b\NUL\DC2\EOT\NAK\EOT\US\ENQ\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\b\NUL\SOH\DC2\ETX\NAK\n\
+    \\SI\n\
+    \^\n\
+    \\EOT\EOT\SOH\STX\SOH\DC2\ETX\CAN\b \SUBQ Holds arbitrary string data; well-formed JSON strings should go in\n\
+    \ json_value.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\SOH\ENQ\DC2\ETX\CAN\b\SO\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\SOH\SOH\DC2\ETX\CAN\SI\ESC\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\SOH\ETX\DC2\ETX\CAN\RS\US\n\
+    \\v\n\
+    \\EOT\EOT\SOH\STX\STX\DC2\ETX\EM\b/\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\STX\ENQ\DC2\ETX\EM\b\r\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\STX\SOH\DC2\ETX\EM\SO\ETB\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\STX\ETX\DC2\ETX\EM\SUB\ESC\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\STX\b\DC2\ETX\EM\FS.\n\
+    \\r\n\
+    \\ACK\EOT\SOH\STX\STX\b\ACK\DC2\ETX\EM\GS-\n\
+    \\v\n\
+    \\EOT\EOT\SOH\STX\ETX\DC2\ETX\SUB\b \n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\ETX\ENQ\DC2\ETX\SUB\b\SO\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\ETX\SOH\DC2\ETX\SUB\SI\ESC\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\ETX\ETX\DC2\ETX\SUB\RS\US\n\
+    \\v\n\
+    \\EOT\EOT\SOH\STX\EOT\DC2\ETX\ESC\b\FS\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\EOT\ENQ\DC2\ETX\ESC\b\f\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\EOT\SOH\DC2\ETX\ESC\r\ETB\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\EOT\ETX\DC2\ETX\ESC\SUB\ESC\n\
+    \x\n\
+    \\EOT\EOT\SOH\STX\ENQ\DC2\ETX\RS\b\RS\SUBk Must be a well-formed JSON value. Truncated JSON should go in\n\
+    \ string_value. Should not be used for tags.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\ENQ\ENQ\DC2\ETX\RS\b\SO\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\ENQ\SOH\DC2\ETX\RS\SI\EM\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\ENQ\ETX\DC2\ETX\RS\FS\GS\n\
+    \\n\
+    \\n\
+    \\STX\EOT\STX\DC2\EOT\"\NUL%\SOH\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\STX\SOH\DC2\ETX\"\b\v\n\
+    \\v\n\
+    \\EOT\EOT\STX\STX\NUL\DC2\ETX#\EOT,\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\NUL\ACK\DC2\ETX#\EOT\GS\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\NUL\SOH\DC2\ETX#\RS'\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\NUL\ETX\DC2\ETX#*+\n\
+    \\v\n\
+    \\EOT\EOT\STX\STX\SOH\DC2\ETX$\EOT!\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\SOH\EOT\DC2\ETX$\EOT\f\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\SOH\ACK\DC2\ETX$\r\NAK\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\SOH\SOH\DC2\ETX$\SYN\FS\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\SOH\ETX\DC2\ETX$\US \n\
+    \\n\
+    \\n\
+    \\STX\EOT\ETX\DC2\EOT'\NUL.\SOH\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\ETX\SOH\DC2\ETX'\b\DC1\n\
+    \\f\n\
+    \\EOT\EOT\ETX\EOT\NUL\DC2\EOT(\EOT+\ENQ\n\
+    \\f\n\
+    \\ENQ\EOT\ETX\EOT\NUL\SOH\DC2\ETX(\t\NAK\n\
+    \\r\n\
+    \\ACK\EOT\ETX\EOT\NUL\STX\NUL\DC2\ETX)\b\NAK\n\
+    \\SO\n\
+    \\a\EOT\ETX\EOT\NUL\STX\NUL\SOH\DC2\ETX)\b\DLE\n\
+    \\SO\n\
+    \\a\EOT\ETX\EOT\NUL\STX\NUL\STX\DC2\ETX)\DC3\DC4\n\
+    \\r\n\
+    \\ACK\EOT\ETX\EOT\NUL\STX\SOH\DC2\ETX*\b\EM\n\
+    \\SO\n\
+    \\a\EOT\ETX\EOT\NUL\STX\SOH\SOH\DC2\ETX*\b\DC4\n\
+    \\SO\n\
+    \\a\EOT\ETX\EOT\NUL\STX\SOH\STX\DC2\ETX*\ETB\CAN\n\
+    \\v\n\
+    \\EOT\EOT\ETX\STX\NUL\DC2\ETX,\EOT\"\n\
+    \\f\n\
+    \\ENQ\EOT\ETX\STX\NUL\ACK\DC2\ETX,\EOT\DLE\n\
+    \\f\n\
+    \\ENQ\EOT\ETX\STX\NUL\SOH\DC2\ETX,\DC1\GS\n\
+    \\f\n\
+    \\ENQ\EOT\ETX\STX\NUL\ETX\DC2\ETX, !\n\
+    \\v\n\
+    \\EOT\EOT\ETX\STX\SOH\DC2\ETX-\EOT!\n\
+    \\f\n\
+    \\ENQ\EOT\ETX\STX\SOH\ACK\DC2\ETX-\EOT\SI\n\
+    \\f\n\
+    \\ENQ\EOT\ETX\STX\SOH\SOH\DC2\ETX-\DLE\FS\n\
+    \\f\n\
+    \\ENQ\EOT\ETX\STX\SOH\ETX\DC2\ETX-\US \n\
+    \\n\
+    \\n\
+    \\STX\EOT\EOT\DC2\EOT0\NUL8\SOH\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\EOT\SOH\DC2\ETX0\b\f\n\
+    \\v\n\
+    \\EOT\EOT\EOT\STX\NUL\DC2\ETX1\EOT!\n\
+    \\f\n\
+    \\ENQ\EOT\EOT\STX\NUL\ACK\DC2\ETX1\EOT\SI\n\
+    \\f\n\
+    \\ENQ\EOT\EOT\STX\NUL\SOH\DC2\ETX1\DLE\FS\n\
+    \\f\n\
+    \\ENQ\EOT\EOT\STX\NUL\ETX\DC2\ETX1\US \n\
+    \\v\n\
+    \\EOT\EOT\EOT\STX\SOH\DC2\ETX2\EOT\RS\n\
+    \\f\n\
+    \\ENQ\EOT\EOT\STX\SOH\ENQ\DC2\ETX2\EOT\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\EOT\STX\SOH\SOH\DC2\ETX2\v\EM\n\
+    \\f\n\
+    \\ENQ\EOT\EOT\STX\SOH\ETX\DC2\ETX2\FS\GS\n\
+    \\v\n\
+    \\EOT\EOT\EOT\STX\STX\DC2\ETX3\EOT&\n\
+    \\f\n\
+    \\ENQ\EOT\EOT\STX\STX\EOT\DC2\ETX3\EOT\f\n\
+    \\f\n\
+    \\ENQ\EOT\EOT\STX\STX\ACK\DC2\ETX3\r\SYN\n\
+    \\f\n\
+    \\ENQ\EOT\EOT\STX\STX\SOH\DC2\ETX3\ETB!\n\
+    \\f\n\
+    \\ENQ\EOT\EOT\STX\STX\ETX\DC2\ETX3$%\n\
+    \\v\n\
+    \\EOT\EOT\EOT\STX\ETX\DC2\ETX4\EOT2\n\
+    \\f\n\
+    \\ENQ\EOT\EOT\STX\ETX\ACK\DC2\ETX4\EOT\GS\n\
+    \\f\n\
+    \\ENQ\EOT\EOT\STX\ETX\SOH\DC2\ETX4\RS-\n\
+    \\f\n\
+    \\ENQ\EOT\EOT\STX\ETX\ETX\DC2\ETX401\n\
+    \\v\n\
+    \\EOT\EOT\EOT\STX\EOT\DC2\ETX5\EOT2\n\
+    \\f\n\
+    \\ENQ\EOT\EOT\STX\EOT\ENQ\DC2\ETX5\EOT\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\EOT\STX\EOT\SOH\DC2\ETX5\v\SUB\n\
+    \\f\n\
+    \\ENQ\EOT\EOT\STX\EOT\ETX\DC2\ETX5\GS\RS\n\
+    \\f\n\
+    \\ENQ\EOT\EOT\STX\EOT\b\DC2\ETX5\US1\n\
+    \\r\n\
+    \\ACK\EOT\EOT\STX\EOT\b\ACK\DC2\ETX5 0\n\
+    \\v\n\
+    \\EOT\EOT\EOT\STX\ENQ\DC2\ETX6\EOT\US\n\
+    \\f\n\
+    \\ENQ\EOT\EOT\STX\ENQ\EOT\DC2\ETX6\EOT\f\n\
+    \\f\n\
+    \\ENQ\EOT\EOT\STX\ENQ\ACK\DC2\ETX6\r\NAK\n\
+    \\f\n\
+    \\ENQ\EOT\EOT\STX\ENQ\SOH\DC2\ETX6\SYN\SUB\n\
+    \\f\n\
+    \\ENQ\EOT\EOT\STX\ENQ\ETX\DC2\ETX6\GS\RS\n\
+    \\v\n\
+    \\EOT\EOT\EOT\STX\ACK\DC2\ETX7\EOT\SUB\n\
+    \\f\n\
+    \\ENQ\EOT\EOT\STX\ACK\EOT\DC2\ETX7\EOT\f\n\
+    \\f\n\
+    \\ENQ\EOT\EOT\STX\ACK\ACK\DC2\ETX7\r\DLE\n\
+    \\f\n\
+    \\ENQ\EOT\EOT\STX\ACK\SOH\DC2\ETX7\DC1\NAK\n\
+    \\f\n\
+    \\ENQ\EOT\EOT\STX\ACK\ETX\DC2\ETX7\CAN\EM\n\
+    \\n\
+    \\n\
+    \\STX\EOT\ENQ\DC2\EOT:\NUL=\SOH\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\ENQ\SOH\DC2\ETX:\b\DLE\n\
+    \\v\n\
+    \\EOT\EOT\ENQ\STX\NUL\DC2\ETX;\EOT.\n\
+    \\f\n\
+    \\ENQ\EOT\ENQ\STX\NUL\ENQ\DC2\ETX;\EOT\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\ENQ\STX\NUL\SOH\DC2\ETX;\v\SYN\n\
+    \\f\n\
+    \\ENQ\EOT\ENQ\STX\NUL\ETX\DC2\ETX;\EM\SUB\n\
+    \\f\n\
+    \\ENQ\EOT\ENQ\STX\NUL\b\DC2\ETX;\ESC-\n\
+    \\r\n\
+    \\ACK\EOT\ENQ\STX\NUL\b\ACK\DC2\ETX;\FS,\n\
+    \\v\n\
+    \\EOT\EOT\ENQ\STX\SOH\DC2\ETX<\EOT\US\n\
+    \\f\n\
+    \\ENQ\EOT\ENQ\STX\SOH\EOT\DC2\ETX<\EOT\f\n\
+    \\f\n\
+    \\ENQ\EOT\ENQ\STX\SOH\ACK\DC2\ETX<\r\NAK\n\
+    \\f\n\
+    \\ENQ\EOT\ENQ\STX\SOH\SOH\DC2\ETX<\SYN\SUB\n\
+    \\f\n\
+    \\ENQ\EOT\ENQ\STX\SOH\ETX\DC2\ETX<\GS\RS\n\
+    \\n\
+    \\n\
+    \\STX\EOT\ACK\DC2\EOT?\NULE\SOH\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\ACK\SOH\DC2\ETX?\b\NAK\n\
+    \\v\n\
+    \\EOT\EOT\ACK\STX\NUL\DC2\ETX@\EOT\DC4\n\
+    \\f\n\
+    \\ENQ\EOT\ACK\STX\NUL\ENQ\DC2\ETX@\EOT\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\ACK\STX\NUL\SOH\DC2\ETX@\v\SI\n\
+    \\f\n\
+    \\ENQ\EOT\ACK\STX\NUL\ETX\DC2\ETX@\DC2\DC3\n\
+    \\f\n\
+    \\EOT\EOT\ACK\b\NUL\DC2\EOTA\EOTD\ENQ\n\
+    \\f\n\
+    \\ENQ\EOT\ACK\b\NUL\SOH\DC2\ETXA\n\
+    \\SI\n\
+    \\v\n\
+    \\EOT\EOT\ACK\STX\SOH\DC2\ETXB\b/\n\
+    \\f\n\
+    \\ENQ\EOT\ACK\STX\SOH\ENQ\DC2\ETXB\b\r\n\
+    \\f\n\
+    \\ENQ\EOT\ACK\STX\SOH\SOH\DC2\ETXB\SO\ETB\n\
+    \\f\n\
+    \\ENQ\EOT\ACK\STX\SOH\ETX\DC2\ETXB\SUB\ESC\n\
+    \\f\n\
+    \\ENQ\EOT\ACK\STX\SOH\b\DC2\ETXB\FS.\n\
+    \\r\n\
+    \\ACK\EOT\ACK\STX\SOH\b\ACK\DC2\ETXB\GS-\n\
+    \\v\n\
+    \\EOT\EOT\ACK\STX\STX\DC2\ETXC\b \n\
+    \\f\n\
+    \\ENQ\EOT\ACK\STX\STX\ENQ\DC2\ETXC\b\SO\n\
+    \\f\n\
+    \\ENQ\EOT\ACK\STX\STX\SOH\DC2\ETXC\SI\ESC\n\
+    \\f\n\
+    \\ENQ\EOT\ACK\STX\STX\ETX\DC2\ETXC\RS\US\n\
+    \\n\
+    \\n\
+    \\STX\EOT\a\DC2\EOTG\NULM\SOH\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\a\SOH\DC2\ETXG\b\ETB\n\
+    \\v\n\
+    \\EOT\EOT\a\STX\NUL\DC2\ETXH\EOT2\n\
+    \\f\n\
+    \\ENQ\EOT\a\STX\NUL\ACK\DC2\ETXH\EOT\GS\n\
+    \\f\n\
+    \\ENQ\EOT\a\STX\NUL\SOH\DC2\ETXH\RS-\n\
+    \\f\n\
+    \\ENQ\EOT\a\STX\NUL\ETX\DC2\ETXH01\n\
+    \\v\n\
+    \\EOT\EOT\a\STX\SOH\DC2\ETXI\EOT2\n\
+    \\f\n\
+    \\ENQ\EOT\a\STX\SOH\ENQ\DC2\ETXI\EOT\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\a\STX\SOH\SOH\DC2\ETXI\v\SUB\n\
+    \\f\n\
+    \\ENQ\EOT\a\STX\SOH\ETX\DC2\ETXI\GS\RS\n\
+    \\f\n\
+    \\ENQ\EOT\a\STX\SOH\b\DC2\ETXI\US1\n\
+    \\r\n\
+    \\ACK\EOT\a\STX\SOH\b\ACK\DC2\ETXI 0\n\
+    \\v\n\
+    \\EOT\EOT\a\STX\STX\DC2\ETXJ\EOT\SUB\n\
+    \\f\n\
+    \\ENQ\EOT\a\STX\STX\EOT\DC2\ETXJ\EOT\f\n\
+    \\f\n\
+    \\ENQ\EOT\a\STX\STX\ACK\DC2\ETXJ\r\DLE\n\
+    \\f\n\
+    \\ENQ\EOT\a\STX\STX\SOH\DC2\ETXJ\DC1\NAK\n\
+    \\f\n\
+    \\ENQ\EOT\a\STX\STX\ETX\DC2\ETXJ\CAN\EM\n\
+    \\v\n\
+    \\EOT\EOT\a\STX\ETX\DC2\ETXK\EOT&\n\
+    \\f\n\
+    \\ENQ\EOT\a\STX\ETX\EOT\DC2\ETXK\EOT\f\n\
+    \\f\n\
+    \\ENQ\EOT\a\STX\ETX\ACK\DC2\ETXK\r\SUB\n\
+    \\f\n\
+    \\ENQ\EOT\a\STX\ETX\SOH\DC2\ETXK\ESC!\n\
+    \\f\n\
+    \\ENQ\EOT\a\STX\ETX\ETX\DC2\ETXK$%\n\
+    \\v\n\
+    \\EOT\EOT\a\STX\EOT\DC2\ETXL\EOT&\n\
+    \\f\n\
+    \\ENQ\EOT\a\STX\EOT\EOT\DC2\ETXL\EOT\f\n\
+    \\f\n\
+    \\ENQ\EOT\a\STX\EOT\ACK\DC2\ETXL\r\SUB\n\
+    \\f\n\
+    \\ENQ\EOT\a\STX\EOT\SOH\DC2\ETXL\ESC!\n\
+    \\f\n\
+    \\ENQ\EOT\a\STX\EOT\ETX\DC2\ETXL$%\n\
+    \\n\
+    \\n\
+    \\STX\EOT\b\DC2\EOTO\NULQ\SOH\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\b\SOH\DC2\ETXO\b\f\n\
+    \\v\n\
+    \\EOT\EOT\b\STX\NUL\DC2\ETXP\EOT\FS\n\
+    \\f\n\
+    \\ENQ\EOT\b\STX\NUL\ENQ\DC2\ETXP\EOT\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\b\STX\NUL\SOH\DC2\ETXP\v\ETB\n\
+    \\f\n\
+    \\ENQ\EOT\b\STX\NUL\ETX\DC2\ETXP\SUB\ESC\n\
+    \\n\
+    \\n\
+    \\STX\EOT\t\DC2\EOTS\NULY\SOH\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\t\SOH\DC2\ETXS\b\NAK\n\
+    \\v\n\
+    \\EOT\EOT\t\STX\NUL\DC2\ETXT\EOT\SUB\n\
+    \\f\n\
+    \\ENQ\EOT\t\STX\NUL\ACK\DC2\ETXT\EOT\f\n\
+    \\f\n\
+    \\ENQ\EOT\t\STX\NUL\SOH\DC2\ETXT\r\NAK\n\
+    \\f\n\
+    \\ENQ\EOT\t\STX\NUL\ETX\DC2\ETXT\CAN\EM\n\
+    \\v\n\
+    \\EOT\EOT\t\STX\SOH\DC2\ETXU\EOT\DC2\n\
+    \\f\n\
+    \\ENQ\EOT\t\STX\SOH\ACK\DC2\ETXU\EOT\b\n\
+    \\f\n\
+    \\ENQ\EOT\t\STX\SOH\SOH\DC2\ETXU\t\r\n\
+    \\f\n\
+    \\ENQ\EOT\t\STX\SOH\ETX\DC2\ETXU\DLE\DC1\n\
+    \\v\n\
+    \\EOT\EOT\t\STX\STX\DC2\ETXV\EOT\FS\n\
+    \\f\n\
+    \\ENQ\EOT\t\STX\STX\EOT\DC2\ETXV\EOT\f\n\
+    \\f\n\
+    \\ENQ\EOT\t\STX\STX\ACK\DC2\ETXV\r\DC1\n\
+    \\f\n\
+    \\ENQ\EOT\t\STX\STX\SOH\DC2\ETXV\DC2\ETB\n\
+    \\f\n\
+    \\ENQ\EOT\t\STX\STX\ETX\DC2\ETXV\SUB\ESC\n\
+    \\v\n\
+    \\EOT\EOT\t\STX\ETX\DC2\ETXW\EOT9\n\
+    \\f\n\
+    \\ENQ\EOT\t\STX\ETX\ENQ\DC2\ETXW\EOT\t\n\
+    \\f\n\
+    \\ENQ\EOT\t\STX\ETX\SOH\DC2\ETXW\n\
+    \!\n\
+    \\f\n\
+    \\ENQ\EOT\t\STX\ETX\ETX\DC2\ETXW$%\n\
+    \\f\n\
+    \\ENQ\EOT\t\STX\ETX\b\DC2\ETXW&8\n\
+    \\r\n\
+    \\ACK\EOT\t\STX\ETX\b\ACK\DC2\ETXW'7\n\
+    \\v\n\
+    \\EOT\EOT\t\STX\EOT\DC2\ETXX\EOT)\n\
+    \\f\n\
+    \\ENQ\EOT\t\STX\EOT\ACK\DC2\ETXX\EOT\DC3\n\
+    \\f\n\
+    \\ENQ\EOT\t\STX\EOT\SOH\DC2\ETXX\DC4$\n\
+    \\f\n\
+    \\ENQ\EOT\t\STX\EOT\ETX\DC2\ETXX'(\n\
+    \\n\
+    \\n\
+    \\STX\EOT\n\
+    \\DC2\EOT[\NUL^\SOH\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\n\
+    \\SOH\DC2\ETX[\b\SI\n\
+    \\v\n\
+    \\EOT\EOT\n\
+    \\STX\NUL\DC2\ETX\\\EOT\NAK\n\
+    \\f\n\
+    \\ENQ\EOT\n\
+    \\STX\NUL\ENQ\DC2\ETX\\\EOT\b\n\
+    \\f\n\
+    \\ENQ\EOT\n\
+    \\STX\NUL\SOH\DC2\ETX\\\t\DLE\n\
+    \\f\n\
+    \\ENQ\EOT\n\
+    \\STX\NUL\ETX\DC2\ETX\\\DC3\DC4\n\
+    \\v\n\
+    \\EOT\EOT\n\
+    \\STX\SOH\DC2\ETX]\EOT\SYN\n\
+    \\f\n\
+    \\ENQ\EOT\n\
+    \\STX\SOH\ENQ\DC2\ETX]\EOT\b\n\
+    \\f\n\
+    \\ENQ\EOT\n\
+    \\STX\SOH\SOH\DC2\ETX]\t\DC1\n\
+    \\f\n\
+    \\ENQ\EOT\n\
+    \\STX\SOH\ETX\DC2\ETX]\DC4\NAK\n\
+    \\n\
+    \\n\
+    \\STX\EOT\v\DC2\EOT`\NULg\SOH\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\v\SOH\DC2\ETX`\b\SYN\n\
+    \\v\n\
+    \\EOT\EOT\v\STX\NUL\DC2\ETXa\EOT\"\n\
+    \\f\n\
+    \\ENQ\EOT\v\STX\NUL\EOT\DC2\ETXa\EOT\f\n\
+    \\f\n\
+    \\ENQ\EOT\v\STX\NUL\ACK\DC2\ETXa\r\DC4\n\
+    \\f\n\
+    \\ENQ\EOT\v\STX\NUL\SOH\DC2\ETXa\NAK\GS\n\
+    \\f\n\
+    \\ENQ\EOT\v\STX\NUL\ETX\DC2\ETXa !\n\
+    \\v\n\
+    \\EOT\EOT\v\STX\SOH\DC2\ETXb\EOT4\n\
+    \\f\n\
+    \\ENQ\EOT\v\STX\SOH\ACK\DC2\ETXb\EOT\GS\n\
+    \\f\n\
+    \\ENQ\EOT\v\STX\SOH\SOH\DC2\ETXb\RS/\n\
+    \\f\n\
+    \\ENQ\EOT\v\STX\SOH\ETX\DC2\ETXb23\n\
+    \\v\n\
+    \\EOT\EOT\v\STX\STX\DC2\ETXc\EOT5\n\
+    \\f\n\
+    \\ENQ\EOT\v\STX\STX\ACK\DC2\ETXc\EOT\GS\n\
+    \\f\n\
+    \\ENQ\EOT\v\STX\STX\SOH\DC2\ETXc\RS0\n\
+    \\f\n\
+    \\ENQ\EOT\v\STX\STX\ETX\DC2\ETXc34\n\
+    \\v\n\
+    \\EOT\EOT\v\STX\ETX\DC2\ETXd\EOT\US\n\
+    \\f\n\
+    \\ENQ\EOT\v\STX\ETX\EOT\DC2\ETXd\EOT\f\n\
+    \\f\n\
+    \\ENQ\EOT\v\STX\ETX\ENQ\DC2\ETXd\r\DC3\n\
+    \\f\n\
+    \\ENQ\EOT\v\STX\ETX\SOH\DC2\ETXd\DC4\SUB\n\
+    \\f\n\
+    \\ENQ\EOT\v\STX\ETX\ETX\DC2\ETXd\GS\RS\n\
+    \\v\n\
+    \\EOT\EOT\v\STX\EOT\DC2\ETXe\EOT!\n\
+    \\f\n\
+    \\ENQ\EOT\v\STX\EOT\EOT\DC2\ETXe\EOT\f\n\
+    \\f\n\
+    \\ENQ\EOT\v\STX\EOT\ENQ\DC2\ETXe\r\DC3\n\
+    \\f\n\
+    \\ENQ\EOT\v\STX\EOT\SOH\DC2\ETXe\DC4\FS\n\
+    \\f\n\
+    \\ENQ\EOT\v\STX\EOT\ETX\DC2\ETXe\US \n\
+    \\v\n\
+    \\EOT\EOT\v\STX\ENQ\DC2\ETXf\EOT\RS\n\
+    \\f\n\
+    \\ENQ\EOT\v\STX\ENQ\EOT\DC2\ETXf\EOT\f\n\
+    \\f\n\
+    \\ENQ\EOT\v\STX\ENQ\ENQ\DC2\ETXf\r\DC3\n\
+    \\f\n\
+    \\ENQ\EOT\v\STX\ENQ\SOH\DC2\ETXf\DC4\EM\n\
+    \\f\n\
+    \\ENQ\EOT\v\STX\ENQ\ETX\DC2\ETXf\FS\GS\n\
+    \\n\
+    \\n\
+    \\STX\ACK\NUL\DC2\EOTi\NULs\SOH\n\
+    \\n\
+    \\n\
+    \\ETX\ACK\NUL\SOH\DC2\ETXi\b\CAN\n\
+    \\f\n\
+    \\EOT\ACK\NUL\STX\NUL\DC2\EOTj\EOTr\ENQ\n\
+    \\f\n\
+    \\ENQ\ACK\NUL\STX\NUL\SOH\DC2\ETXj\b\SO\n\
+    \\f\n\
+    \\ENQ\ACK\NUL\STX\NUL\STX\DC2\ETXj\SI\FS\n\
+    \\f\n\
+    \\ENQ\ACK\NUL\STX\NUL\ETX\DC2\ETXj'5\n\
+    \\r\n\
+    \\ENQ\ACK\NUL\STX\NUL\EOT\DC2\EOTk\aq\t\n\
+    \\DC1\n\
+    \\t\ACK\NUL\STX\NUL\EOT\176\202\188\"\DC2\EOTk\aq\tb\ACKproto3"
diff --git a/gen/Proto/Collector_Fields.hs b/gen/Proto/Collector_Fields.hs
--- a/gen/Proto/Collector_Fields.hs
+++ b/gen/Proto/Collector_Fields.hs
@@ -1,421 +1,397 @@
 {- This file was auto-generated from collector.proto by the proto-lens-protoc program. -}
-{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,
-  UndecidableInstances, GeneralizedNewtypeDeriving,
-  MultiParamTypeClasses, FlexibleContexts, FlexibleInstances,
-  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds,
-  BangPatterns, TypeApplications #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports#-}
-{-# OPTIONS_GHC -fno-warn-duplicate-exports#-}
+{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies, UndecidableInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances, PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds, BangPatterns, TypeApplications, OverloadedStrings, DerivingStrategies#-}
+{-# OPTIONS_GHC -Wno-unused-imports#-}
+{-# OPTIONS_GHC -Wno-duplicate-exports#-}
+{-# OPTIONS_GHC -Wno-dodgy-exports#-}
 module Proto.Collector_Fields where
 import qualified Data.ProtoLens.Runtime.Prelude as Prelude
 import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int
 import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid
 import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens
-       as Data.ProtoLens
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes
-       as Data.ProtoLens.Encoding.Bytes
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing
-       as Data.ProtoLens.Encoding.Growing
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe
-       as Data.ProtoLens.Encoding.Parser.Unsafe
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire
-       as Data.ProtoLens.Encoding.Wire
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field
-       as Data.ProtoLens.Field
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum
-       as Data.ProtoLens.Message.Enum
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types
-       as Data.ProtoLens.Service.Types
-import qualified Data.ProtoLens.Runtime.Lens.Family2
-       as Lens.Family2
-import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked
-       as Lens.Family2.Unchecked
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens as Data.ProtoLens
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes as Data.ProtoLens.Encoding.Bytes
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing as Data.ProtoLens.Encoding.Growing
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe as Data.ProtoLens.Encoding.Parser.Unsafe
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire as Data.ProtoLens.Encoding.Wire
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field as Data.ProtoLens.Field
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum as Data.ProtoLens.Message.Enum
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types as Data.ProtoLens.Service.Types
+import qualified Data.ProtoLens.Runtime.Lens.Family2 as Lens.Family2
+import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked as Lens.Family2.Unchecked
 import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text
 import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map
-import qualified Data.ProtoLens.Runtime.Data.ByteString
-       as Data.ByteString
-import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8
-       as Data.ByteString.Char8
-import qualified Data.ProtoLens.Runtime.Data.Text.Encoding
-       as Data.Text.Encoding
+import qualified Data.ProtoLens.Runtime.Data.ByteString as Data.ByteString
+import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8 as Data.ByteString.Char8
+import qualified Data.ProtoLens.Runtime.Data.Text.Encoding as Data.Text.Encoding
 import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector
-import qualified Data.ProtoLens.Runtime.Data.Vector.Generic
-       as Data.Vector.Generic
-import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed
-       as Data.Vector.Unboxed
+import qualified Data.ProtoLens.Runtime.Data.Vector.Generic as Data.Vector.Generic
+import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed as Data.Vector.Unboxed
 import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read
 import qualified Proto.Google.Api.Annotations
 import qualified Proto.Google.Protobuf.Timestamp
-
 accessToken ::
-            forall f s a .
-              (Prelude.Functor f,
-               Data.ProtoLens.Field.HasField s "accessToken" a) =>
-              Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "accessToken" a) =>
+  Lens.Family2.LensLike' f s a
 accessToken = Data.ProtoLens.Field.field @"accessToken"
 auth ::
-     forall f s a .
-       (Prelude.Functor f, Data.ProtoLens.Field.HasField s "auth" a) =>
-       Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "auth" a) =>
+  Lens.Family2.LensLike' f s a
 auth = Data.ProtoLens.Field.field @"auth"
 baggage ::
-        forall f s a .
-          (Prelude.Functor f, Data.ProtoLens.Field.HasField s "baggage" a) =>
-          Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "baggage" a) =>
+  Lens.Family2.LensLike' f s a
 baggage = Data.ProtoLens.Field.field @"baggage"
 boolValue ::
-          forall f s a .
-            (Prelude.Functor f,
-             Data.ProtoLens.Field.HasField s "boolValue" a) =>
-            Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "boolValue" a) =>
+  Lens.Family2.LensLike' f s a
 boolValue = Data.ProtoLens.Field.field @"boolValue"
 commands ::
-         forall f s a .
-           (Prelude.Functor f,
-            Data.ProtoLens.Field.HasField s "commands" a) =>
-           Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "commands" a) =>
+  Lens.Family2.LensLike' f s a
 commands = Data.ProtoLens.Field.field @"commands"
 counts ::
-       forall f s a .
-         (Prelude.Functor f, Data.ProtoLens.Field.HasField s "counts" a) =>
-         Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "counts" a) =>
+  Lens.Family2.LensLike' f s a
 counts = Data.ProtoLens.Field.field @"counts"
 devMode ::
-        forall f s a .
-          (Prelude.Functor f, Data.ProtoLens.Field.HasField s "devMode" a) =>
-          Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "devMode" a) =>
+  Lens.Family2.LensLike' f s a
 devMode = Data.ProtoLens.Field.field @"devMode"
 disable ::
-        forall f s a .
-          (Prelude.Functor f, Data.ProtoLens.Field.HasField s "disable" a) =>
-          Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "disable" a) =>
+  Lens.Family2.LensLike' f s a
 disable = Data.ProtoLens.Field.field @"disable"
 doubleValue ::
-            forall f s a .
-              (Prelude.Functor f,
-               Data.ProtoLens.Field.HasField s "doubleValue" a) =>
-              Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "doubleValue" a) =>
+  Lens.Family2.LensLike' f s a
 doubleValue = Data.ProtoLens.Field.field @"doubleValue"
 durationMicros ::
-               forall f s a .
-                 (Prelude.Functor f,
-                  Data.ProtoLens.Field.HasField s "durationMicros" a) =>
-                 Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "durationMicros" a) =>
+  Lens.Family2.LensLike' f s a
 durationMicros = Data.ProtoLens.Field.field @"durationMicros"
 errors ::
-       forall f s a .
-         (Prelude.Functor f, Data.ProtoLens.Field.HasField s "errors" a) =>
-         Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "errors" a) =>
+  Lens.Family2.LensLike' f s a
 errors = Data.ProtoLens.Field.field @"errors"
 fields ::
-       forall f s a .
-         (Prelude.Functor f, Data.ProtoLens.Field.HasField s "fields" a) =>
-         Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "fields" a) =>
+  Lens.Family2.LensLike' f s a
 fields = Data.ProtoLens.Field.field @"fields"
 gauges ::
-       forall f s a .
-         (Prelude.Functor f, Data.ProtoLens.Field.HasField s "gauges" a) =>
-         Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "gauges" a) =>
+  Lens.Family2.LensLike' f s a
 gauges = Data.ProtoLens.Field.field @"gauges"
 infos ::
-      forall f s a .
-        (Prelude.Functor f, Data.ProtoLens.Field.HasField s "infos" a) =>
-        Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "infos" a) =>
+  Lens.Family2.LensLike' f s a
 infos = Data.ProtoLens.Field.field @"infos"
 intValue ::
-         forall f s a .
-           (Prelude.Functor f,
-            Data.ProtoLens.Field.HasField s "intValue" a) =>
-           Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "intValue" a) =>
+  Lens.Family2.LensLike' f s a
 intValue = Data.ProtoLens.Field.field @"intValue"
 internalMetrics ::
-                forall f s a .
-                  (Prelude.Functor f,
-                   Data.ProtoLens.Field.HasField s "internalMetrics" a) =>
-                  Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "internalMetrics" a) =>
+  Lens.Family2.LensLike' f s a
 internalMetrics = Data.ProtoLens.Field.field @"internalMetrics"
 jsonValue ::
-          forall f s a .
-            (Prelude.Functor f,
-             Data.ProtoLens.Field.HasField s "jsonValue" a) =>
-            Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "jsonValue" a) =>
+  Lens.Family2.LensLike' f s a
 jsonValue = Data.ProtoLens.Field.field @"jsonValue"
 key ::
-    forall f s a .
-      (Prelude.Functor f, Data.ProtoLens.Field.HasField s "key" a) =>
-      Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "key" a) =>
+  Lens.Family2.LensLike' f s a
 key = Data.ProtoLens.Field.field @"key"
 logs ::
-     forall f s a .
-       (Prelude.Functor f, Data.ProtoLens.Field.HasField s "logs" a) =>
-       Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "logs" a) =>
+  Lens.Family2.LensLike' f s a
 logs = Data.ProtoLens.Field.field @"logs"
 maybe'auth ::
-           forall f s a .
-             (Prelude.Functor f,
-              Data.ProtoLens.Field.HasField s "maybe'auth" a) =>
-             Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "maybe'auth" a) =>
+  Lens.Family2.LensLike' f s a
 maybe'auth = Data.ProtoLens.Field.field @"maybe'auth"
 maybe'boolValue ::
-                forall f s a .
-                  (Prelude.Functor f,
-                   Data.ProtoLens.Field.HasField s "maybe'boolValue" a) =>
-                  Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "maybe'boolValue" a) =>
+  Lens.Family2.LensLike' f s a
 maybe'boolValue = Data.ProtoLens.Field.field @"maybe'boolValue"
 maybe'doubleValue ::
-                  forall f s a .
-                    (Prelude.Functor f,
-                     Data.ProtoLens.Field.HasField s "maybe'doubleValue" a) =>
-                    Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "maybe'doubleValue" a) =>
+  Lens.Family2.LensLike' f s a
 maybe'doubleValue = Data.ProtoLens.Field.field @"maybe'doubleValue"
 maybe'intValue ::
-               forall f s a .
-                 (Prelude.Functor f,
-                  Data.ProtoLens.Field.HasField s "maybe'intValue" a) =>
-                 Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "maybe'intValue" a) =>
+  Lens.Family2.LensLike' f s a
 maybe'intValue = Data.ProtoLens.Field.field @"maybe'intValue"
 maybe'internalMetrics ::
-                      forall f s a .
-                        (Prelude.Functor f,
-                         Data.ProtoLens.Field.HasField s "maybe'internalMetrics" a) =>
-                        Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "maybe'internalMetrics" a) =>
+  Lens.Family2.LensLike' f s a
 maybe'internalMetrics
   = Data.ProtoLens.Field.field @"maybe'internalMetrics"
 maybe'jsonValue ::
-                forall f s a .
-                  (Prelude.Functor f,
-                   Data.ProtoLens.Field.HasField s "maybe'jsonValue" a) =>
-                  Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "maybe'jsonValue" a) =>
+  Lens.Family2.LensLike' f s a
 maybe'jsonValue = Data.ProtoLens.Field.field @"maybe'jsonValue"
 maybe'receiveTimestamp ::
-                       forall f s a .
-                         (Prelude.Functor f,
-                          Data.ProtoLens.Field.HasField s "maybe'receiveTimestamp" a) =>
-                         Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "maybe'receiveTimestamp" a) =>
+  Lens.Family2.LensLike' f s a
 maybe'receiveTimestamp
   = Data.ProtoLens.Field.field @"maybe'receiveTimestamp"
 maybe'reporter ::
-               forall f s a .
-                 (Prelude.Functor f,
-                  Data.ProtoLens.Field.HasField s "maybe'reporter" a) =>
-                 Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "maybe'reporter" a) =>
+  Lens.Family2.LensLike' f s a
 maybe'reporter = Data.ProtoLens.Field.field @"maybe'reporter"
 maybe'spanContext ::
-                  forall f s a .
-                    (Prelude.Functor f,
-                     Data.ProtoLens.Field.HasField s "maybe'spanContext" a) =>
-                    Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "maybe'spanContext" a) =>
+  Lens.Family2.LensLike' f s a
 maybe'spanContext = Data.ProtoLens.Field.field @"maybe'spanContext"
 maybe'startTimestamp ::
-                     forall f s a .
-                       (Prelude.Functor f,
-                        Data.ProtoLens.Field.HasField s "maybe'startTimestamp" a) =>
-                       Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "maybe'startTimestamp" a) =>
+  Lens.Family2.LensLike' f s a
 maybe'startTimestamp
   = Data.ProtoLens.Field.field @"maybe'startTimestamp"
 maybe'stringValue ::
-                  forall f s a .
-                    (Prelude.Functor f,
-                     Data.ProtoLens.Field.HasField s "maybe'stringValue" a) =>
-                    Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "maybe'stringValue" a) =>
+  Lens.Family2.LensLike' f s a
 maybe'stringValue = Data.ProtoLens.Field.field @"maybe'stringValue"
 maybe'timestamp ::
-                forall f s a .
-                  (Prelude.Functor f,
-                   Data.ProtoLens.Field.HasField s "maybe'timestamp" a) =>
-                  Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "maybe'timestamp" a) =>
+  Lens.Family2.LensLike' f s a
 maybe'timestamp = Data.ProtoLens.Field.field @"maybe'timestamp"
 maybe'transmitTimestamp ::
-                        forall f s a .
-                          (Prelude.Functor f,
-                           Data.ProtoLens.Field.HasField s "maybe'transmitTimestamp" a) =>
-                          Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "maybe'transmitTimestamp" a) =>
+  Lens.Family2.LensLike' f s a
 maybe'transmitTimestamp
   = Data.ProtoLens.Field.field @"maybe'transmitTimestamp"
 maybe'value ::
-            forall f s a .
-              (Prelude.Functor f,
-               Data.ProtoLens.Field.HasField s "maybe'value" a) =>
-              Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "maybe'value" a) =>
+  Lens.Family2.LensLike' f s a
 maybe'value = Data.ProtoLens.Field.field @"maybe'value"
 name ::
-     forall f s a .
-       (Prelude.Functor f, Data.ProtoLens.Field.HasField s "name" a) =>
-       Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "name" a) =>
+  Lens.Family2.LensLike' f s a
 name = Data.ProtoLens.Field.field @"name"
 operationName ::
-              forall f s a .
-                (Prelude.Functor f,
-                 Data.ProtoLens.Field.HasField s "operationName" a) =>
-                Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "operationName" a) =>
+  Lens.Family2.LensLike' f s a
 operationName = Data.ProtoLens.Field.field @"operationName"
 receiveTimestamp ::
-                 forall f s a .
-                   (Prelude.Functor f,
-                    Data.ProtoLens.Field.HasField s "receiveTimestamp" a) =>
-                   Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "receiveTimestamp" a) =>
+  Lens.Family2.LensLike' f s a
 receiveTimestamp = Data.ProtoLens.Field.field @"receiveTimestamp"
 references ::
-           forall f s a .
-             (Prelude.Functor f,
-              Data.ProtoLens.Field.HasField s "references" a) =>
-             Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "references" a) =>
+  Lens.Family2.LensLike' f s a
 references = Data.ProtoLens.Field.field @"references"
 relationship ::
-             forall f s a .
-               (Prelude.Functor f,
-                Data.ProtoLens.Field.HasField s "relationship" a) =>
-               Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "relationship" a) =>
+  Lens.Family2.LensLike' f s a
 relationship = Data.ProtoLens.Field.field @"relationship"
 reporter ::
-         forall f s a .
-           (Prelude.Functor f,
-            Data.ProtoLens.Field.HasField s "reporter" a) =>
-           Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "reporter" a) =>
+  Lens.Family2.LensLike' f s a
 reporter = Data.ProtoLens.Field.field @"reporter"
 reporterId ::
-           forall f s a .
-             (Prelude.Functor f,
-              Data.ProtoLens.Field.HasField s "reporterId" a) =>
-             Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "reporterId" a) =>
+  Lens.Family2.LensLike' f s a
 reporterId = Data.ProtoLens.Field.field @"reporterId"
 spanContext ::
-            forall f s a .
-              (Prelude.Functor f,
-               Data.ProtoLens.Field.HasField s "spanContext" a) =>
-              Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "spanContext" a) =>
+  Lens.Family2.LensLike' f s a
 spanContext = Data.ProtoLens.Field.field @"spanContext"
 spanId ::
-       forall f s a .
-         (Prelude.Functor f, Data.ProtoLens.Field.HasField s "spanId" a) =>
-         Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "spanId" a) =>
+  Lens.Family2.LensLike' f s a
 spanId = Data.ProtoLens.Field.field @"spanId"
 spans ::
-      forall f s a .
-        (Prelude.Functor f, Data.ProtoLens.Field.HasField s "spans" a) =>
-        Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "spans" a) =>
+  Lens.Family2.LensLike' f s a
 spans = Data.ProtoLens.Field.field @"spans"
 startTimestamp ::
-               forall f s a .
-                 (Prelude.Functor f,
-                  Data.ProtoLens.Field.HasField s "startTimestamp" a) =>
-                 Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "startTimestamp" a) =>
+  Lens.Family2.LensLike' f s a
 startTimestamp = Data.ProtoLens.Field.field @"startTimestamp"
 stringValue ::
-            forall f s a .
-              (Prelude.Functor f,
-               Data.ProtoLens.Field.HasField s "stringValue" a) =>
-              Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "stringValue" a) =>
+  Lens.Family2.LensLike' f s a
 stringValue = Data.ProtoLens.Field.field @"stringValue"
 tags ::
-     forall f s a .
-       (Prelude.Functor f, Data.ProtoLens.Field.HasField s "tags" a) =>
-       Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "tags" a) =>
+  Lens.Family2.LensLike' f s a
 tags = Data.ProtoLens.Field.field @"tags"
 timestamp ::
-          forall f s a .
-            (Prelude.Functor f,
-             Data.ProtoLens.Field.HasField s "timestamp" a) =>
-            Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "timestamp" a) =>
+  Lens.Family2.LensLike' f s a
 timestamp = Data.ProtoLens.Field.field @"timestamp"
 timestampOffsetMicros ::
-                      forall f s a .
-                        (Prelude.Functor f,
-                         Data.ProtoLens.Field.HasField s "timestampOffsetMicros" a) =>
-                        Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "timestampOffsetMicros" a) =>
+  Lens.Family2.LensLike' f s a
 timestampOffsetMicros
   = Data.ProtoLens.Field.field @"timestampOffsetMicros"
 traceId ::
-        forall f s a .
-          (Prelude.Functor f, Data.ProtoLens.Field.HasField s "traceId" a) =>
-          Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "traceId" a) =>
+  Lens.Family2.LensLike' f s a
 traceId = Data.ProtoLens.Field.field @"traceId"
 transmitTimestamp ::
-                  forall f s a .
-                    (Prelude.Functor f,
-                     Data.ProtoLens.Field.HasField s "transmitTimestamp" a) =>
-                    Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "transmitTimestamp" a) =>
+  Lens.Family2.LensLike' f s a
 transmitTimestamp = Data.ProtoLens.Field.field @"transmitTimestamp"
 value ::
-      forall f s a .
-        (Prelude.Functor f, Data.ProtoLens.Field.HasField s "value" a) =>
-        Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "value" a) =>
+  Lens.Family2.LensLike' f s a
 value = Data.ProtoLens.Field.field @"value"
 vec'commands ::
-             forall f s a .
-               (Prelude.Functor f,
-                Data.ProtoLens.Field.HasField s "vec'commands" a) =>
-               Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'commands" a) =>
+  Lens.Family2.LensLike' f s a
 vec'commands = Data.ProtoLens.Field.field @"vec'commands"
 vec'counts ::
-           forall f s a .
-             (Prelude.Functor f,
-              Data.ProtoLens.Field.HasField s "vec'counts" a) =>
-             Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'counts" a) =>
+  Lens.Family2.LensLike' f s a
 vec'counts = Data.ProtoLens.Field.field @"vec'counts"
 vec'errors ::
-           forall f s a .
-             (Prelude.Functor f,
-              Data.ProtoLens.Field.HasField s "vec'errors" a) =>
-             Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'errors" a) =>
+  Lens.Family2.LensLike' f s a
 vec'errors = Data.ProtoLens.Field.field @"vec'errors"
 vec'fields ::
-           forall f s a .
-             (Prelude.Functor f,
-              Data.ProtoLens.Field.HasField s "vec'fields" a) =>
-             Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'fields" a) =>
+  Lens.Family2.LensLike' f s a
 vec'fields = Data.ProtoLens.Field.field @"vec'fields"
 vec'gauges ::
-           forall f s a .
-             (Prelude.Functor f,
-              Data.ProtoLens.Field.HasField s "vec'gauges" a) =>
-             Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'gauges" a) =>
+  Lens.Family2.LensLike' f s a
 vec'gauges = Data.ProtoLens.Field.field @"vec'gauges"
 vec'infos ::
-          forall f s a .
-            (Prelude.Functor f,
-             Data.ProtoLens.Field.HasField s "vec'infos" a) =>
-            Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'infos" a) =>
+  Lens.Family2.LensLike' f s a
 vec'infos = Data.ProtoLens.Field.field @"vec'infos"
 vec'logs ::
-         forall f s a .
-           (Prelude.Functor f,
-            Data.ProtoLens.Field.HasField s "vec'logs" a) =>
-           Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'logs" a) =>
+  Lens.Family2.LensLike' f s a
 vec'logs = Data.ProtoLens.Field.field @"vec'logs"
 vec'references ::
-               forall f s a .
-                 (Prelude.Functor f,
-                  Data.ProtoLens.Field.HasField s "vec'references" a) =>
-                 Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'references" a) =>
+  Lens.Family2.LensLike' f s a
 vec'references = Data.ProtoLens.Field.field @"vec'references"
 vec'spans ::
-          forall f s a .
-            (Prelude.Functor f,
-             Data.ProtoLens.Field.HasField s "vec'spans" a) =>
-            Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'spans" a) =>
+  Lens.Family2.LensLike' f s a
 vec'spans = Data.ProtoLens.Field.field @"vec'spans"
 vec'tags ::
-         forall f s a .
-           (Prelude.Functor f,
-            Data.ProtoLens.Field.HasField s "vec'tags" a) =>
-           Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'tags" a) =>
+  Lens.Family2.LensLike' f s a
 vec'tags = Data.ProtoLens.Field.field @"vec'tags"
 vec'warnings ::
-             forall f s a .
-               (Prelude.Functor f,
-                Data.ProtoLens.Field.HasField s "vec'warnings" a) =>
-               Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'warnings" a) =>
+  Lens.Family2.LensLike' f s a
 vec'warnings = Data.ProtoLens.Field.field @"vec'warnings"
 warnings ::
-         forall f s a .
-           (Prelude.Functor f,
-            Data.ProtoLens.Field.HasField s "warnings" a) =>
-           Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "warnings" a) =>
+  Lens.Family2.LensLike' f s a
 warnings = Data.ProtoLens.Field.field @"warnings"
diff --git a/gen/Proto/Google/Api/Annotations.hs b/gen/Proto/Google/Api/Annotations.hs
--- a/gen/Proto/Google/Api/Annotations.hs
+++ b/gen/Proto/Google/Api/Annotations.hs
@@ -1,58 +1,34 @@
 {- This file was auto-generated from google/api/annotations.proto by the proto-lens-protoc program. -}
-{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,
-  UndecidableInstances, GeneralizedNewtypeDeriving,
-  MultiParamTypeClasses, FlexibleContexts, FlexibleInstances,
-  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds,
-  BangPatterns, TypeApplications #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports#-}
-{-# OPTIONS_GHC -fno-warn-duplicate-exports#-}
-module Proto.Google.Api.Annotations () where
-import qualified Data.ProtoLens.Runtime.Control.DeepSeq
-       as Control.DeepSeq
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Prism
-       as Data.ProtoLens.Prism
+{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies, UndecidableInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances, PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds, BangPatterns, TypeApplications, OverloadedStrings, DerivingStrategies#-}
+{-# OPTIONS_GHC -Wno-unused-imports#-}
+{-# OPTIONS_GHC -Wno-duplicate-exports#-}
+{-# OPTIONS_GHC -Wno-dodgy-exports#-}
+module Proto.Google.Api.Annotations (
+    ) where
+import qualified Data.ProtoLens.Runtime.Control.DeepSeq as Control.DeepSeq
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Prism as Data.ProtoLens.Prism
 import qualified Data.ProtoLens.Runtime.Prelude as Prelude
 import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int
 import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid
 import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens
-       as Data.ProtoLens
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes
-       as Data.ProtoLens.Encoding.Bytes
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing
-       as Data.ProtoLens.Encoding.Growing
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe
-       as Data.ProtoLens.Encoding.Parser.Unsafe
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire
-       as Data.ProtoLens.Encoding.Wire
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field
-       as Data.ProtoLens.Field
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum
-       as Data.ProtoLens.Message.Enum
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types
-       as Data.ProtoLens.Service.Types
-import qualified Data.ProtoLens.Runtime.Lens.Family2
-       as Lens.Family2
-import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked
-       as Lens.Family2.Unchecked
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens as Data.ProtoLens
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes as Data.ProtoLens.Encoding.Bytes
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing as Data.ProtoLens.Encoding.Growing
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe as Data.ProtoLens.Encoding.Parser.Unsafe
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire as Data.ProtoLens.Encoding.Wire
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field as Data.ProtoLens.Field
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum as Data.ProtoLens.Message.Enum
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types as Data.ProtoLens.Service.Types
+import qualified Data.ProtoLens.Runtime.Lens.Family2 as Lens.Family2
+import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked as Lens.Family2.Unchecked
 import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text
 import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map
-import qualified Data.ProtoLens.Runtime.Data.ByteString
-       as Data.ByteString
-import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8
-       as Data.ByteString.Char8
-import qualified Data.ProtoLens.Runtime.Data.Text.Encoding
-       as Data.Text.Encoding
+import qualified Data.ProtoLens.Runtime.Data.ByteString as Data.ByteString
+import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8 as Data.ByteString.Char8
+import qualified Data.ProtoLens.Runtime.Data.Text.Encoding as Data.Text.Encoding
 import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector
-import qualified Data.ProtoLens.Runtime.Data.Vector.Generic
-       as Data.Vector.Generic
-import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed
-       as Data.Vector.Unboxed
+import qualified Data.ProtoLens.Runtime.Data.Vector.Generic as Data.Vector.Generic
+import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed as Data.Vector.Unboxed
 import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read
 import qualified Proto.Google.Api.Http
 import qualified Proto.Google.Protobuf.Descriptor
diff --git a/gen/Proto/Google/Api/Http.hs b/gen/Proto/Google/Api/Http.hs
--- a/gen/Proto/Google/Api/Http.hs
+++ b/gen/Proto/Google/Api/Http.hs
@@ -1,981 +1,1433 @@
 {- This file was auto-generated from google/api/http.proto by the proto-lens-protoc program. -}
-{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,
-  UndecidableInstances, GeneralizedNewtypeDeriving,
-  MultiParamTypeClasses, FlexibleContexts, FlexibleInstances,
-  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds,
-  BangPatterns, TypeApplications #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports#-}
-{-# OPTIONS_GHC -fno-warn-duplicate-exports#-}
-module Proto.Google.Api.Http
-       (CustomHttpPattern(), Http(), HttpRule(), HttpRule'Pattern(..),
-        _HttpRule'Get, _HttpRule'Put, _HttpRule'Post, _HttpRule'Delete,
-        _HttpRule'Patch, _HttpRule'Custom)
-       where
-import qualified Data.ProtoLens.Runtime.Control.DeepSeq
-       as Control.DeepSeq
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Prism
-       as Data.ProtoLens.Prism
-import qualified Data.ProtoLens.Runtime.Prelude as Prelude
-import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int
-import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid
-import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens
-       as Data.ProtoLens
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes
-       as Data.ProtoLens.Encoding.Bytes
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing
-       as Data.ProtoLens.Encoding.Growing
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe
-       as Data.ProtoLens.Encoding.Parser.Unsafe
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire
-       as Data.ProtoLens.Encoding.Wire
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field
-       as Data.ProtoLens.Field
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum
-       as Data.ProtoLens.Message.Enum
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types
-       as Data.ProtoLens.Service.Types
-import qualified Data.ProtoLens.Runtime.Lens.Family2
-       as Lens.Family2
-import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked
-       as Lens.Family2.Unchecked
-import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text
-import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map
-import qualified Data.ProtoLens.Runtime.Data.ByteString
-       as Data.ByteString
-import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8
-       as Data.ByteString.Char8
-import qualified Data.ProtoLens.Runtime.Data.Text.Encoding
-       as Data.Text.Encoding
-import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector
-import qualified Data.ProtoLens.Runtime.Data.Vector.Generic
-       as Data.Vector.Generic
-import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed
-       as Data.Vector.Unboxed
-import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read
-
-{- | Fields :
-
-    * 'Proto.Google.Api.Http_Fields.kind' @:: Lens' CustomHttpPattern Data.Text.Text@
-    * 'Proto.Google.Api.Http_Fields.path' @:: Lens' CustomHttpPattern Data.Text.Text@
- -}
-data CustomHttpPattern = CustomHttpPattern{_CustomHttpPattern'kind
-                                           :: !Data.Text.Text,
-                                           _CustomHttpPattern'path :: !Data.Text.Text,
-                                           _CustomHttpPattern'_unknownFields ::
-                                           !Data.ProtoLens.FieldSet}
-                           deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show CustomHttpPattern where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField CustomHttpPattern "kind"
-           (Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _CustomHttpPattern'kind
-               (\ x__ y__ -> x__{_CustomHttpPattern'kind = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField CustomHttpPattern "path"
-           (Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _CustomHttpPattern'path
-               (\ x__ y__ -> x__{_CustomHttpPattern'path = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Message CustomHttpPattern where
-        messageName _ = Data.Text.pack "google.api.CustomHttpPattern"
-        fieldsByTag
-          = let kind__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "kind"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Data.ProtoLens.Field.field @"kind"))
-                      :: Data.ProtoLens.FieldDescriptor CustomHttpPattern
-                path__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "path"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Data.ProtoLens.Field.field @"path"))
-                      :: Data.ProtoLens.FieldDescriptor CustomHttpPattern
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, kind__field_descriptor),
-                 (Data.ProtoLens.Tag 2, path__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _CustomHttpPattern'_unknownFields
-              (\ x__ y__ -> x__{_CustomHttpPattern'_unknownFields = y__})
-        defMessage
-          = CustomHttpPattern{_CustomHttpPattern'kind =
-                                Data.ProtoLens.fieldDefault,
-                              _CustomHttpPattern'path = Data.ProtoLens.fieldDefault,
-                              _CustomHttpPattern'_unknownFields = ([])}
-        parseMessage
-          = let loop ::
-                     CustomHttpPattern ->
-                       Data.ProtoLens.Encoding.Bytes.Parser CustomHttpPattern
-                loop x
-                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-                       if end then
-                         do let missing = [] in
-                              if Prelude.null missing then Prelude.return () else
-                                Prelude.fail
-                                  (("Missing required fields: ") Prelude.++
-                                     Prelude.show (missing :: ([Prelude.String])))
-                            Prelude.return
-                              (Lens.Family2.over Data.ProtoLens.unknownFields
-                                 (\ !t -> Prelude.reverse t)
-                                 x)
-                         else
-                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                            case tag of
-                                10 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                              Data.ProtoLens.Encoding.Bytes.getBytes
-                                                                (Prelude.fromIntegral len)
-                                                  Data.ProtoLens.Encoding.Bytes.runEither
-                                                    (case Data.Text.Encoding.decodeUtf8' value of
-                                                         Prelude.Left err -> Prelude.Left
-                                                                               (Prelude.show err)
-                                                         Prelude.Right r -> Prelude.Right r))
-                                                Data.ProtoLens.Encoding.Bytes.<?> "kind"
-                                         loop
-                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"kind") y
-                                              x)
-                                18 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                              Data.ProtoLens.Encoding.Bytes.getBytes
-                                                                (Prelude.fromIntegral len)
-                                                  Data.ProtoLens.Encoding.Bytes.runEither
-                                                    (case Data.Text.Encoding.decodeUtf8' value of
-                                                         Prelude.Left err -> Prelude.Left
-                                                                               (Prelude.show err)
-                                                         Prelude.Right r -> Prelude.Right r))
-                                                Data.ProtoLens.Encoding.Bytes.<?> "path"
-                                         loop
-                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"path") y
-                                              x)
-                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                                   wire
-                                           loop
-                                             (Lens.Family2.over Data.ProtoLens.unknownFields
-                                                (\ !t -> (:) y t)
-                                                x)
-              in
-              (do loop Data.ProtoLens.defMessage)
-                Data.ProtoLens.Encoding.Bytes.<?> "CustomHttpPattern"
-        buildMessage
-          = (\ _x ->
-               (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"kind") _x
-                  in
-                  if (_v) Prelude.== Data.ProtoLens.fieldDefault then
-                    Data.Monoid.mempty else
-                    (Data.ProtoLens.Encoding.Bytes.putVarInt 10) Data.Monoid.<>
-                      (((\ bs ->
-                           (Data.ProtoLens.Encoding.Bytes.putVarInt
-                              (Prelude.fromIntegral (Data.ByteString.length bs)))
-                             Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                         Prelude.. Data.Text.Encoding.encodeUtf8)
-                        _v)
-                 Data.Monoid.<>
-                 (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"path") _x
-                    in
-                    if (_v) Prelude.== Data.ProtoLens.fieldDefault then
-                      Data.Monoid.mempty else
-                      (Data.ProtoLens.Encoding.Bytes.putVarInt 18) Data.Monoid.<>
-                        (((\ bs ->
-                             (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                (Prelude.fromIntegral (Data.ByteString.length bs)))
-                               Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                           Prelude.. Data.Text.Encoding.encodeUtf8)
-                          _v)
-                   Data.Monoid.<>
-                   Data.ProtoLens.Encoding.Wire.buildFieldSet
-                     (Lens.Family2.view Data.ProtoLens.unknownFields _x))
-instance Control.DeepSeq.NFData CustomHttpPattern where
-        rnf
-          = (\ x__ ->
-               Control.DeepSeq.deepseq (_CustomHttpPattern'_unknownFields x__)
-                 (Control.DeepSeq.deepseq (_CustomHttpPattern'kind x__)
-                    (Control.DeepSeq.deepseq (_CustomHttpPattern'path x__) (()))))
-{- | Fields :
-
-    * 'Proto.Google.Api.Http_Fields.rules' @:: Lens' Http [HttpRule]@
-    * 'Proto.Google.Api.Http_Fields.vec'rules' @:: Lens' Http (Data.Vector.Vector HttpRule)@
- -}
-data Http = Http{_Http'rules :: !(Data.Vector.Vector HttpRule),
-                 _Http'_unknownFields :: !Data.ProtoLens.FieldSet}
-              deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show Http where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField Http "rules" ([HttpRule])
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Http'rules
-               (\ x__ y__ -> x__{_Http'rules = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
-                (\ _ y__ -> Data.Vector.Generic.fromList y__)
-instance Data.ProtoLens.Field.HasField Http "vec'rules"
-           (Data.Vector.Vector HttpRule)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Http'rules
-               (\ x__ y__ -> x__{_Http'rules = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Message Http where
-        messageName _ = Data.Text.pack "google.api.Http"
-        fieldsByTag
-          = let rules__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "rules"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor HttpRule)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Data.ProtoLens.Field.field @"rules"))
-                      :: Data.ProtoLens.FieldDescriptor Http
-              in
-              Data.Map.fromList [(Data.ProtoLens.Tag 1, rules__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _Http'_unknownFields
-              (\ x__ y__ -> x__{_Http'_unknownFields = y__})
-        defMessage
-          = Http{_Http'rules = Data.Vector.Generic.empty,
-                 _Http'_unknownFields = ([])}
-        parseMessage
-          = let loop ::
-                     Http ->
-                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
-                         Data.ProtoLens.Encoding.Growing.RealWorld
-                         HttpRule
-                         -> Data.ProtoLens.Encoding.Bytes.Parser Http
-                loop x mutable'rules
-                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-                       if end then
-                         do frozen'rules <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                              (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                 mutable'rules)
-                            let missing = [] in
-                              if Prelude.null missing then Prelude.return () else
-                                Prelude.fail
-                                  (("Missing required fields: ") Prelude.++
-                                     Prelude.show (missing :: ([Prelude.String])))
-                            Prelude.return
-                              (Lens.Family2.over Data.ProtoLens.unknownFields
-                                 (\ !t -> Prelude.reverse t)
-                                 (Lens.Family2.set (Data.ProtoLens.Field.field @"vec'rules")
-                                    frozen'rules
-                                    x))
-                         else
-                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                            case tag of
-                                10 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                   Data.ProtoLens.Encoding.Bytes.isolate
-                                                     (Prelude.fromIntegral len)
-                                                     Data.ProtoLens.parseMessage)
-                                                 Data.ProtoLens.Encoding.Bytes.<?> "rules"
-                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                                (Data.ProtoLens.Encoding.Growing.append
-                                                   mutable'rules
-                                                   y)
-                                         loop x v
-                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                                   wire
-                                           loop
-                                             (Lens.Family2.over Data.ProtoLens.unknownFields
-                                                (\ !t -> (:) y t)
-                                                x)
-                                             mutable'rules
-              in
-              (do mutable'rules <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                     Data.ProtoLens.Encoding.Growing.new
-                  loop Data.ProtoLens.defMessage mutable'rules)
-                Data.ProtoLens.Encoding.Bytes.<?> "Http"
-        buildMessage
-          = (\ _x ->
-               (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                  (\ _v ->
-                     (Data.ProtoLens.Encoding.Bytes.putVarInt 10) Data.Monoid.<>
-                       (((\ bs ->
-                            (Data.ProtoLens.Encoding.Bytes.putVarInt
-                               (Prelude.fromIntegral (Data.ByteString.length bs)))
-                              Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                          Prelude.. Data.ProtoLens.encodeMessage)
-                         _v)
-                  (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'rules") _x))
-                 Data.Monoid.<>
-                 Data.ProtoLens.Encoding.Wire.buildFieldSet
-                   (Lens.Family2.view Data.ProtoLens.unknownFields _x))
-instance Control.DeepSeq.NFData Http where
-        rnf
-          = (\ x__ ->
-               Control.DeepSeq.deepseq (_Http'_unknownFields x__)
-                 (Control.DeepSeq.deepseq (_Http'rules x__) (())))
-{- | Fields :
-
-    * 'Proto.Google.Api.Http_Fields.selector' @:: Lens' HttpRule Data.Text.Text@
-    * 'Proto.Google.Api.Http_Fields.body' @:: Lens' HttpRule Data.Text.Text@
-    * 'Proto.Google.Api.Http_Fields.additionalBindings' @:: Lens' HttpRule [HttpRule]@
-    * 'Proto.Google.Api.Http_Fields.vec'additionalBindings' @:: Lens' HttpRule (Data.Vector.Vector HttpRule)@
-    * 'Proto.Google.Api.Http_Fields.maybe'pattern'' @:: Lens' HttpRule (Prelude.Maybe HttpRule'Pattern)@
-    * 'Proto.Google.Api.Http_Fields.maybe'get' @:: Lens' HttpRule (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Api.Http_Fields.get' @:: Lens' HttpRule Data.Text.Text@
-    * 'Proto.Google.Api.Http_Fields.maybe'put' @:: Lens' HttpRule (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Api.Http_Fields.put' @:: Lens' HttpRule Data.Text.Text@
-    * 'Proto.Google.Api.Http_Fields.maybe'post' @:: Lens' HttpRule (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Api.Http_Fields.post' @:: Lens' HttpRule Data.Text.Text@
-    * 'Proto.Google.Api.Http_Fields.maybe'delete' @:: Lens' HttpRule (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Api.Http_Fields.delete' @:: Lens' HttpRule Data.Text.Text@
-    * 'Proto.Google.Api.Http_Fields.maybe'patch' @:: Lens' HttpRule (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Api.Http_Fields.patch' @:: Lens' HttpRule Data.Text.Text@
-    * 'Proto.Google.Api.Http_Fields.maybe'custom' @:: Lens' HttpRule (Prelude.Maybe CustomHttpPattern)@
-    * 'Proto.Google.Api.Http_Fields.custom' @:: Lens' HttpRule CustomHttpPattern@
- -}
-data HttpRule = HttpRule{_HttpRule'selector :: !Data.Text.Text,
-                         _HttpRule'body :: !Data.Text.Text,
-                         _HttpRule'additionalBindings :: !(Data.Vector.Vector HttpRule),
-                         _HttpRule'pattern' :: !(Prelude.Maybe HttpRule'Pattern),
-                         _HttpRule'_unknownFields :: !Data.ProtoLens.FieldSet}
-                  deriving (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show HttpRule where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-data HttpRule'Pattern = HttpRule'Get !Data.Text.Text
-                      | HttpRule'Put !Data.Text.Text
-                      | HttpRule'Post !Data.Text.Text
-                      | HttpRule'Delete !Data.Text.Text
-                      | HttpRule'Patch !Data.Text.Text
-                      | HttpRule'Custom !CustomHttpPattern
-                          deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance Data.ProtoLens.Field.HasField HttpRule "selector"
-           (Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _HttpRule'selector
-               (\ x__ y__ -> x__{_HttpRule'selector = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField HttpRule "body"
-           (Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _HttpRule'body
-               (\ x__ y__ -> x__{_HttpRule'body = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField HttpRule
-           "additionalBindings"
-           ([HttpRule])
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _HttpRule'additionalBindings
-               (\ x__ y__ -> x__{_HttpRule'additionalBindings = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens Data.Vector.Generic.toList
-                (\ _ y__ -> Data.Vector.Generic.fromList y__)
-instance Data.ProtoLens.Field.HasField HttpRule
-           "vec'additionalBindings"
-           (Data.Vector.Vector HttpRule)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _HttpRule'additionalBindings
-               (\ x__ y__ -> x__{_HttpRule'additionalBindings = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField HttpRule "maybe'pattern'"
-           (Prelude.Maybe HttpRule'Pattern)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _HttpRule'pattern'
-               (\ x__ y__ -> x__{_HttpRule'pattern' = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField HttpRule "maybe'get"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _HttpRule'pattern'
-               (\ x__ y__ -> x__{_HttpRule'pattern' = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens
-                (\ x__ ->
-                   case x__ of
-                       Prelude.Just (HttpRule'Get x__val) -> Prelude.Just x__val
-                       _otherwise -> Prelude.Nothing)
-                (\ _ y__ -> Prelude.fmap HttpRule'Get y__)
-instance Data.ProtoLens.Field.HasField HttpRule "get"
-           (Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _HttpRule'pattern'
-               (\ x__ y__ -> x__{_HttpRule'pattern' = y__}))
-              Prelude..
-              (Lens.Family2.Unchecked.lens
-                 (\ x__ ->
-                    case x__ of
-                        Prelude.Just (HttpRule'Get x__val) -> Prelude.Just x__val
-                        _otherwise -> Prelude.Nothing)
-                 (\ _ y__ -> Prelude.fmap HttpRule'Get y__))
-                Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
-instance Data.ProtoLens.Field.HasField HttpRule "maybe'put"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _HttpRule'pattern'
-               (\ x__ y__ -> x__{_HttpRule'pattern' = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens
-                (\ x__ ->
-                   case x__ of
-                       Prelude.Just (HttpRule'Put x__val) -> Prelude.Just x__val
-                       _otherwise -> Prelude.Nothing)
-                (\ _ y__ -> Prelude.fmap HttpRule'Put y__)
-instance Data.ProtoLens.Field.HasField HttpRule "put"
-           (Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _HttpRule'pattern'
-               (\ x__ y__ -> x__{_HttpRule'pattern' = y__}))
-              Prelude..
-              (Lens.Family2.Unchecked.lens
-                 (\ x__ ->
-                    case x__ of
-                        Prelude.Just (HttpRule'Put x__val) -> Prelude.Just x__val
-                        _otherwise -> Prelude.Nothing)
-                 (\ _ y__ -> Prelude.fmap HttpRule'Put y__))
-                Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
-instance Data.ProtoLens.Field.HasField HttpRule "maybe'post"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _HttpRule'pattern'
-               (\ x__ y__ -> x__{_HttpRule'pattern' = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens
-                (\ x__ ->
-                   case x__ of
-                       Prelude.Just (HttpRule'Post x__val) -> Prelude.Just x__val
-                       _otherwise -> Prelude.Nothing)
-                (\ _ y__ -> Prelude.fmap HttpRule'Post y__)
-instance Data.ProtoLens.Field.HasField HttpRule "post"
-           (Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _HttpRule'pattern'
-               (\ x__ y__ -> x__{_HttpRule'pattern' = y__}))
-              Prelude..
-              (Lens.Family2.Unchecked.lens
-                 (\ x__ ->
-                    case x__ of
-                        Prelude.Just (HttpRule'Post x__val) -> Prelude.Just x__val
-                        _otherwise -> Prelude.Nothing)
-                 (\ _ y__ -> Prelude.fmap HttpRule'Post y__))
-                Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
-instance Data.ProtoLens.Field.HasField HttpRule "maybe'delete"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _HttpRule'pattern'
-               (\ x__ y__ -> x__{_HttpRule'pattern' = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens
-                (\ x__ ->
-                   case x__ of
-                       Prelude.Just (HttpRule'Delete x__val) -> Prelude.Just x__val
-                       _otherwise -> Prelude.Nothing)
-                (\ _ y__ -> Prelude.fmap HttpRule'Delete y__)
-instance Data.ProtoLens.Field.HasField HttpRule "delete"
-           (Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _HttpRule'pattern'
-               (\ x__ y__ -> x__{_HttpRule'pattern' = y__}))
-              Prelude..
-              (Lens.Family2.Unchecked.lens
-                 (\ x__ ->
-                    case x__ of
-                        Prelude.Just (HttpRule'Delete x__val) -> Prelude.Just x__val
-                        _otherwise -> Prelude.Nothing)
-                 (\ _ y__ -> Prelude.fmap HttpRule'Delete y__))
-                Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
-instance Data.ProtoLens.Field.HasField HttpRule "maybe'patch"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _HttpRule'pattern'
-               (\ x__ y__ -> x__{_HttpRule'pattern' = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens
-                (\ x__ ->
-                   case x__ of
-                       Prelude.Just (HttpRule'Patch x__val) -> Prelude.Just x__val
-                       _otherwise -> Prelude.Nothing)
-                (\ _ y__ -> Prelude.fmap HttpRule'Patch y__)
-instance Data.ProtoLens.Field.HasField HttpRule "patch"
-           (Data.Text.Text)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _HttpRule'pattern'
-               (\ x__ y__ -> x__{_HttpRule'pattern' = y__}))
-              Prelude..
-              (Lens.Family2.Unchecked.lens
-                 (\ x__ ->
-                    case x__ of
-                        Prelude.Just (HttpRule'Patch x__val) -> Prelude.Just x__val
-                        _otherwise -> Prelude.Nothing)
-                 (\ _ y__ -> Prelude.fmap HttpRule'Patch y__))
-                Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault
-instance Data.ProtoLens.Field.HasField HttpRule "maybe'custom"
-           (Prelude.Maybe CustomHttpPattern)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _HttpRule'pattern'
-               (\ x__ y__ -> x__{_HttpRule'pattern' = y__}))
-              Prelude..
-              Lens.Family2.Unchecked.lens
-                (\ x__ ->
-                   case x__ of
-                       Prelude.Just (HttpRule'Custom x__val) -> Prelude.Just x__val
-                       _otherwise -> Prelude.Nothing)
-                (\ _ y__ -> Prelude.fmap HttpRule'Custom y__)
-instance Data.ProtoLens.Field.HasField HttpRule "custom"
-           (CustomHttpPattern)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _HttpRule'pattern'
-               (\ x__ y__ -> x__{_HttpRule'pattern' = y__}))
-              Prelude..
-              (Lens.Family2.Unchecked.lens
-                 (\ x__ ->
-                    case x__ of
-                        Prelude.Just (HttpRule'Custom x__val) -> Prelude.Just x__val
-                        _otherwise -> Prelude.Nothing)
-                 (\ _ y__ -> Prelude.fmap HttpRule'Custom y__))
-                Prelude.. Data.ProtoLens.maybeLens Data.ProtoLens.defMessage
-instance Data.ProtoLens.Message HttpRule where
-        messageName _ = Data.Text.pack "google.api.HttpRule"
-        fieldsByTag
-          = let selector__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "selector"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Data.ProtoLens.Field.field @"selector"))
-                      :: Data.ProtoLens.FieldDescriptor HttpRule
-                body__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "body"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Data.ProtoLens.Field.field @"body"))
-                      :: Data.ProtoLens.FieldDescriptor HttpRule
-                additionalBindings__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "additional_bindings"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor HttpRule)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Data.ProtoLens.Field.field @"additionalBindings"))
-                      :: Data.ProtoLens.FieldDescriptor HttpRule
-                get__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "get"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Data.ProtoLens.Field.field @"maybe'get"))
-                      :: Data.ProtoLens.FieldDescriptor HttpRule
-                put__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "put"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Data.ProtoLens.Field.field @"maybe'put"))
-                      :: Data.ProtoLens.FieldDescriptor HttpRule
-                post__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "post"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Data.ProtoLens.Field.field @"maybe'post"))
-                      :: Data.ProtoLens.FieldDescriptor HttpRule
-                delete__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "delete"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Data.ProtoLens.Field.field @"maybe'delete"))
-                      :: Data.ProtoLens.FieldDescriptor HttpRule
-                patch__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "patch"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Data.ProtoLens.Field.field @"maybe'patch"))
-                      :: Data.ProtoLens.FieldDescriptor HttpRule
-                custom__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "custom"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor CustomHttpPattern)
-                      (Data.ProtoLens.OptionalField
-                         (Data.ProtoLens.Field.field @"maybe'custom"))
-                      :: Data.ProtoLens.FieldDescriptor HttpRule
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, selector__field_descriptor),
-                 (Data.ProtoLens.Tag 7, body__field_descriptor),
-                 (Data.ProtoLens.Tag 11, additionalBindings__field_descriptor),
-                 (Data.ProtoLens.Tag 2, get__field_descriptor),
-                 (Data.ProtoLens.Tag 3, put__field_descriptor),
-                 (Data.ProtoLens.Tag 4, post__field_descriptor),
-                 (Data.ProtoLens.Tag 5, delete__field_descriptor),
-                 (Data.ProtoLens.Tag 6, patch__field_descriptor),
-                 (Data.ProtoLens.Tag 8, custom__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _HttpRule'_unknownFields
-              (\ x__ y__ -> x__{_HttpRule'_unknownFields = y__})
-        defMessage
-          = HttpRule{_HttpRule'selector = Data.ProtoLens.fieldDefault,
-                     _HttpRule'body = Data.ProtoLens.fieldDefault,
-                     _HttpRule'additionalBindings = Data.Vector.Generic.empty,
-                     _HttpRule'pattern' = Prelude.Nothing,
-                     _HttpRule'_unknownFields = ([])}
-        parseMessage
-          = let loop ::
-                     HttpRule ->
-                       Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector
-                         Data.ProtoLens.Encoding.Growing.RealWorld
-                         HttpRule
-                         -> Data.ProtoLens.Encoding.Bytes.Parser HttpRule
-                loop x mutable'additionalBindings
-                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-                       if end then
-                         do frozen'additionalBindings <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                                           (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                              mutable'additionalBindings)
-                            let missing = [] in
-                              if Prelude.null missing then Prelude.return () else
-                                Prelude.fail
-                                  (("Missing required fields: ") Prelude.++
-                                     Prelude.show (missing :: ([Prelude.String])))
-                            Prelude.return
-                              (Lens.Family2.over Data.ProtoLens.unknownFields
-                                 (\ !t -> Prelude.reverse t)
-                                 (Lens.Family2.set
-                                    (Data.ProtoLens.Field.field @"vec'additionalBindings")
-                                    frozen'additionalBindings
-                                    x))
-                         else
-                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                            case tag of
-                                10 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                              Data.ProtoLens.Encoding.Bytes.getBytes
-                                                                (Prelude.fromIntegral len)
-                                                  Data.ProtoLens.Encoding.Bytes.runEither
-                                                    (case Data.Text.Encoding.decodeUtf8' value of
-                                                         Prelude.Left err -> Prelude.Left
-                                                                               (Prelude.show err)
-                                                         Prelude.Right r -> Prelude.Right r))
-                                                Data.ProtoLens.Encoding.Bytes.<?> "selector"
-                                         loop
-                                           (Lens.Family2.set
-                                              (Data.ProtoLens.Field.field @"selector")
-                                              y
-                                              x)
-                                           mutable'additionalBindings
-                                58 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                              Data.ProtoLens.Encoding.Bytes.getBytes
-                                                                (Prelude.fromIntegral len)
-                                                  Data.ProtoLens.Encoding.Bytes.runEither
-                                                    (case Data.Text.Encoding.decodeUtf8' value of
-                                                         Prelude.Left err -> Prelude.Left
-                                                                               (Prelude.show err)
-                                                         Prelude.Right r -> Prelude.Right r))
-                                                Data.ProtoLens.Encoding.Bytes.<?> "body"
-                                         loop
-                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"body") y
-                                              x)
-                                           mutable'additionalBindings
-                                90 -> do !y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                   Data.ProtoLens.Encoding.Bytes.isolate
-                                                     (Prelude.fromIntegral len)
-                                                     Data.ProtoLens.parseMessage)
-                                                 Data.ProtoLens.Encoding.Bytes.<?>
-                                                 "additional_bindings"
-                                         v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                                (Data.ProtoLens.Encoding.Growing.append
-                                                   mutable'additionalBindings
-                                                   y)
-                                         loop x v
-                                18 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                              Data.ProtoLens.Encoding.Bytes.getBytes
-                                                                (Prelude.fromIntegral len)
-                                                  Data.ProtoLens.Encoding.Bytes.runEither
-                                                    (case Data.Text.Encoding.decodeUtf8' value of
-                                                         Prelude.Left err -> Prelude.Left
-                                                                               (Prelude.show err)
-                                                         Prelude.Right r -> Prelude.Right r))
-                                                Data.ProtoLens.Encoding.Bytes.<?> "get"
-                                         loop
-                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"get") y
-                                              x)
-                                           mutable'additionalBindings
-                                26 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                              Data.ProtoLens.Encoding.Bytes.getBytes
-                                                                (Prelude.fromIntegral len)
-                                                  Data.ProtoLens.Encoding.Bytes.runEither
-                                                    (case Data.Text.Encoding.decodeUtf8' value of
-                                                         Prelude.Left err -> Prelude.Left
-                                                                               (Prelude.show err)
-                                                         Prelude.Right r -> Prelude.Right r))
-                                                Data.ProtoLens.Encoding.Bytes.<?> "put"
-                                         loop
-                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"put") y
-                                              x)
-                                           mutable'additionalBindings
-                                34 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                              Data.ProtoLens.Encoding.Bytes.getBytes
-                                                                (Prelude.fromIntegral len)
-                                                  Data.ProtoLens.Encoding.Bytes.runEither
-                                                    (case Data.Text.Encoding.decodeUtf8' value of
-                                                         Prelude.Left err -> Prelude.Left
-                                                                               (Prelude.show err)
-                                                         Prelude.Right r -> Prelude.Right r))
-                                                Data.ProtoLens.Encoding.Bytes.<?> "post"
-                                         loop
-                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"post") y
-                                              x)
-                                           mutable'additionalBindings
-                                42 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                              Data.ProtoLens.Encoding.Bytes.getBytes
-                                                                (Prelude.fromIntegral len)
-                                                  Data.ProtoLens.Encoding.Bytes.runEither
-                                                    (case Data.Text.Encoding.decodeUtf8' value of
-                                                         Prelude.Left err -> Prelude.Left
-                                                                               (Prelude.show err)
-                                                         Prelude.Right r -> Prelude.Right r))
-                                                Data.ProtoLens.Encoding.Bytes.<?> "delete"
-                                         loop
-                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"delete")
-                                              y
-                                              x)
-                                           mutable'additionalBindings
-                                50 -> do y <- (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                              Data.ProtoLens.Encoding.Bytes.getBytes
-                                                                (Prelude.fromIntegral len)
-                                                  Data.ProtoLens.Encoding.Bytes.runEither
-                                                    (case Data.Text.Encoding.decodeUtf8' value of
-                                                         Prelude.Left err -> Prelude.Left
-                                                                               (Prelude.show err)
-                                                         Prelude.Right r -> Prelude.Right r))
-                                                Data.ProtoLens.Encoding.Bytes.<?> "patch"
-                                         loop
-                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"patch") y
-                                              x)
-                                           mutable'additionalBindings
-                                66 -> do y <- (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                                  Data.ProtoLens.Encoding.Bytes.isolate
-                                                    (Prelude.fromIntegral len)
-                                                    Data.ProtoLens.parseMessage)
-                                                Data.ProtoLens.Encoding.Bytes.<?> "custom"
-                                         loop
-                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"custom")
-                                              y
-                                              x)
-                                           mutable'additionalBindings
-                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                                   wire
-                                           loop
-                                             (Lens.Family2.over Data.ProtoLens.unknownFields
-                                                (\ !t -> (:) y t)
-                                                x)
-                                             mutable'additionalBindings
-              in
-              (do mutable'additionalBindings <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                                  Data.ProtoLens.Encoding.Growing.new
-                  loop Data.ProtoLens.defMessage mutable'additionalBindings)
-                Data.ProtoLens.Encoding.Bytes.<?> "HttpRule"
-        buildMessage
-          = (\ _x ->
-               (let _v
-                      = Lens.Family2.view (Data.ProtoLens.Field.field @"selector") _x
-                  in
-                  if (_v) Prelude.== Data.ProtoLens.fieldDefault then
-                    Data.Monoid.mempty else
-                    (Data.ProtoLens.Encoding.Bytes.putVarInt 10) Data.Monoid.<>
-                      (((\ bs ->
-                           (Data.ProtoLens.Encoding.Bytes.putVarInt
-                              (Prelude.fromIntegral (Data.ByteString.length bs)))
-                             Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                         Prelude.. Data.Text.Encoding.encodeUtf8)
-                        _v)
-                 Data.Monoid.<>
-                 (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"body") _x
-                    in
-                    if (_v) Prelude.== Data.ProtoLens.fieldDefault then
-                      Data.Monoid.mempty else
-                      (Data.ProtoLens.Encoding.Bytes.putVarInt 58) Data.Monoid.<>
-                        (((\ bs ->
-                             (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                (Prelude.fromIntegral (Data.ByteString.length bs)))
-                               Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                           Prelude.. Data.Text.Encoding.encodeUtf8)
-                          _v)
-                   Data.Monoid.<>
-                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                      (\ _v ->
-                         (Data.ProtoLens.Encoding.Bytes.putVarInt 90) Data.Monoid.<>
-                           (((\ bs ->
-                                (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                  Data.Monoid.<> Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                              Prelude.. Data.ProtoLens.encodeMessage)
-                             _v)
-                      (Lens.Family2.view
-                         (Data.ProtoLens.Field.field @"vec'additionalBindings")
-                         _x))
-                     Data.Monoid.<>
-                     (case
-                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'pattern'") _x
-                        of
-                          (Prelude.Nothing) -> Data.Monoid.mempty
-                          Prelude.Just
-                            (HttpRule'Get v) -> (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
-                                                  Data.Monoid.<>
-                                                  (((\ bs ->
-                                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                          (Prelude.fromIntegral
-                                                             (Data.ByteString.length bs)))
-                                                         Data.Monoid.<>
-                                                         Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                                     Prelude.. Data.Text.Encoding.encodeUtf8)
-                                                    v
-                          Prelude.Just
-                            (HttpRule'Put v) -> (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
-                                                  Data.Monoid.<>
-                                                  (((\ bs ->
-                                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                          (Prelude.fromIntegral
-                                                             (Data.ByteString.length bs)))
-                                                         Data.Monoid.<>
-                                                         Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                                     Prelude.. Data.Text.Encoding.encodeUtf8)
-                                                    v
-                          Prelude.Just
-                            (HttpRule'Post v) -> (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
-                                                   Data.Monoid.<>
-                                                   (((\ bs ->
-                                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                           (Prelude.fromIntegral
-                                                              (Data.ByteString.length bs)))
-                                                          Data.Monoid.<>
-                                                          Data.ProtoLens.Encoding.Bytes.putBytes
-                                                            bs))
-                                                      Prelude.. Data.Text.Encoding.encodeUtf8)
-                                                     v
-                          Prelude.Just
-                            (HttpRule'Delete v) -> (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
-                                                     Data.Monoid.<>
-                                                     (((\ bs ->
-                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                             (Prelude.fromIntegral
-                                                                (Data.ByteString.length bs)))
-                                                            Data.Monoid.<>
-                                                            Data.ProtoLens.Encoding.Bytes.putBytes
-                                                              bs))
-                                                        Prelude.. Data.Text.Encoding.encodeUtf8)
-                                                       v
-                          Prelude.Just
-                            (HttpRule'Patch v) -> (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
-                                                    Data.Monoid.<>
-                                                    (((\ bs ->
-                                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                            (Prelude.fromIntegral
-                                                               (Data.ByteString.length bs)))
-                                                           Data.Monoid.<>
-                                                           Data.ProtoLens.Encoding.Bytes.putBytes
-                                                             bs))
-                                                       Prelude.. Data.Text.Encoding.encodeUtf8)
-                                                      v
-                          Prelude.Just
-                            (HttpRule'Custom v) -> (Data.ProtoLens.Encoding.Bytes.putVarInt 66)
-                                                     Data.Monoid.<>
-                                                     (((\ bs ->
-                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                             (Prelude.fromIntegral
-                                                                (Data.ByteString.length bs)))
-                                                            Data.Monoid.<>
-                                                            Data.ProtoLens.Encoding.Bytes.putBytes
-                                                              bs))
-                                                        Prelude.. Data.ProtoLens.encodeMessage)
-                                                       v)
-                       Data.Monoid.<>
-                       Data.ProtoLens.Encoding.Wire.buildFieldSet
-                         (Lens.Family2.view Data.ProtoLens.unknownFields _x))
-instance Control.DeepSeq.NFData HttpRule where
-        rnf
-          = (\ x__ ->
-               Control.DeepSeq.deepseq (_HttpRule'_unknownFields x__)
-                 (Control.DeepSeq.deepseq (_HttpRule'selector x__)
-                    (Control.DeepSeq.deepseq (_HttpRule'body x__)
-                       (Control.DeepSeq.deepseq (_HttpRule'additionalBindings x__)
-                          (Control.DeepSeq.deepseq (_HttpRule'pattern' x__) (()))))))
-instance Control.DeepSeq.NFData HttpRule'Pattern where
-        rnf (HttpRule'Get x__) = Control.DeepSeq.rnf x__
-        rnf (HttpRule'Put x__) = Control.DeepSeq.rnf x__
-        rnf (HttpRule'Post x__) = Control.DeepSeq.rnf x__
-        rnf (HttpRule'Delete x__) = Control.DeepSeq.rnf x__
-        rnf (HttpRule'Patch x__) = Control.DeepSeq.rnf x__
-        rnf (HttpRule'Custom x__) = Control.DeepSeq.rnf x__
-_HttpRule'Get ::
-              Data.ProtoLens.Prism.Prism' HttpRule'Pattern Data.Text.Text
-_HttpRule'Get
-  = Data.ProtoLens.Prism.prism' HttpRule'Get
-      (\ p__ ->
-         case p__ of
-             HttpRule'Get p__val -> Prelude.Just p__val
-             _otherwise -> Prelude.Nothing)
-_HttpRule'Put ::
-              Data.ProtoLens.Prism.Prism' HttpRule'Pattern Data.Text.Text
-_HttpRule'Put
-  = Data.ProtoLens.Prism.prism' HttpRule'Put
-      (\ p__ ->
-         case p__ of
-             HttpRule'Put p__val -> Prelude.Just p__val
-             _otherwise -> Prelude.Nothing)
-_HttpRule'Post ::
-               Data.ProtoLens.Prism.Prism' HttpRule'Pattern Data.Text.Text
-_HttpRule'Post
-  = Data.ProtoLens.Prism.prism' HttpRule'Post
-      (\ p__ ->
-         case p__ of
-             HttpRule'Post p__val -> Prelude.Just p__val
-             _otherwise -> Prelude.Nothing)
-_HttpRule'Delete ::
-                 Data.ProtoLens.Prism.Prism' HttpRule'Pattern Data.Text.Text
-_HttpRule'Delete
-  = Data.ProtoLens.Prism.prism' HttpRule'Delete
-      (\ p__ ->
-         case p__ of
-             HttpRule'Delete p__val -> Prelude.Just p__val
-             _otherwise -> Prelude.Nothing)
-_HttpRule'Patch ::
-                Data.ProtoLens.Prism.Prism' HttpRule'Pattern Data.Text.Text
-_HttpRule'Patch
-  = Data.ProtoLens.Prism.prism' HttpRule'Patch
-      (\ p__ ->
-         case p__ of
-             HttpRule'Patch p__val -> Prelude.Just p__val
-             _otherwise -> Prelude.Nothing)
-_HttpRule'Custom ::
-                 Data.ProtoLens.Prism.Prism' HttpRule'Pattern CustomHttpPattern
-_HttpRule'Custom
-  = Data.ProtoLens.Prism.prism' HttpRule'Custom
-      (\ p__ ->
-         case p__ of
-             HttpRule'Custom p__val -> Prelude.Just p__val
-             _otherwise -> Prelude.Nothing)
+{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies, UndecidableInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances, PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds, BangPatterns, TypeApplications, OverloadedStrings, DerivingStrategies#-}
+{-# OPTIONS_GHC -Wno-unused-imports#-}
+{-# OPTIONS_GHC -Wno-duplicate-exports#-}
+{-# OPTIONS_GHC -Wno-dodgy-exports#-}
+module Proto.Google.Api.Http (
+        CustomHttpPattern(), Http(), HttpRule(), HttpRule'Pattern(..),
+        _HttpRule'Get, _HttpRule'Put, _HttpRule'Post, _HttpRule'Delete,
+        _HttpRule'Patch, _HttpRule'Custom
+    ) where
+import qualified Data.ProtoLens.Runtime.Control.DeepSeq as Control.DeepSeq
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Prism as Data.ProtoLens.Prism
+import qualified Data.ProtoLens.Runtime.Prelude as Prelude
+import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int
+import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid
+import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens as Data.ProtoLens
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes as Data.ProtoLens.Encoding.Bytes
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing as Data.ProtoLens.Encoding.Growing
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe as Data.ProtoLens.Encoding.Parser.Unsafe
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire as Data.ProtoLens.Encoding.Wire
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field as Data.ProtoLens.Field
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum as Data.ProtoLens.Message.Enum
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types as Data.ProtoLens.Service.Types
+import qualified Data.ProtoLens.Runtime.Lens.Family2 as Lens.Family2
+import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked as Lens.Family2.Unchecked
+import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text
+import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map
+import qualified Data.ProtoLens.Runtime.Data.ByteString as Data.ByteString
+import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8 as Data.ByteString.Char8
+import qualified Data.ProtoLens.Runtime.Data.Text.Encoding as Data.Text.Encoding
+import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector
+import qualified Data.ProtoLens.Runtime.Data.Vector.Generic as Data.Vector.Generic
+import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed as Data.Vector.Unboxed
+import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read
+{- | Fields :
+     
+         * 'Proto.Google.Api.Http_Fields.kind' @:: Lens' CustomHttpPattern Data.Text.Text@
+         * 'Proto.Google.Api.Http_Fields.path' @:: Lens' CustomHttpPattern Data.Text.Text@ -}
+data CustomHttpPattern
+  = CustomHttpPattern'_constructor {_CustomHttpPattern'kind :: !Data.Text.Text,
+                                    _CustomHttpPattern'path :: !Data.Text.Text,
+                                    _CustomHttpPattern'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show CustomHttpPattern where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField CustomHttpPattern "kind" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _CustomHttpPattern'kind
+           (\ x__ y__ -> x__ {_CustomHttpPattern'kind = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField CustomHttpPattern "path" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _CustomHttpPattern'path
+           (\ x__ y__ -> x__ {_CustomHttpPattern'path = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message CustomHttpPattern where
+  messageName _ = Data.Text.pack "google.api.CustomHttpPattern"
+  packedMessageDescriptor _
+    = "\n\
+      \\DC1CustomHttpPattern\DC2\DC2\n\
+      \\EOTkind\CAN\SOH \SOH(\tR\EOTkind\DC2\DC2\n\
+      \\EOTpath\CAN\STX \SOH(\tR\EOTpath"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        kind__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "kind"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"kind")) ::
+              Data.ProtoLens.FieldDescriptor CustomHttpPattern
+        path__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "path"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"path")) ::
+              Data.ProtoLens.FieldDescriptor CustomHttpPattern
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, kind__field_descriptor),
+           (Data.ProtoLens.Tag 2, path__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _CustomHttpPattern'_unknownFields
+        (\ x__ y__ -> x__ {_CustomHttpPattern'_unknownFields = y__})
+  defMessage
+    = CustomHttpPattern'_constructor
+        {_CustomHttpPattern'kind = Data.ProtoLens.fieldDefault,
+         _CustomHttpPattern'path = Data.ProtoLens.fieldDefault,
+         _CustomHttpPattern'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          CustomHttpPattern
+          -> Data.ProtoLens.Encoding.Bytes.Parser CustomHttpPattern
+        loop x
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                       Data.ProtoLens.Encoding.Bytes.getBytes
+                                                         (Prelude.fromIntegral len)
+                                           Data.ProtoLens.Encoding.Bytes.runEither
+                                             (case Data.Text.Encoding.decodeUtf8' value of
+                                                (Prelude.Left err)
+                                                  -> Prelude.Left (Prelude.show err)
+                                                (Prelude.Right r) -> Prelude.Right r))
+                                       "kind"
+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"kind") y x)
+                        18
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                       Data.ProtoLens.Encoding.Bytes.getBytes
+                                                         (Prelude.fromIntegral len)
+                                           Data.ProtoLens.Encoding.Bytes.runEither
+                                             (case Data.Text.Encoding.decodeUtf8' value of
+                                                (Prelude.Left err)
+                                                  -> Prelude.Left (Prelude.show err)
+                                                (Prelude.Right r) -> Prelude.Right r))
+                                       "path"
+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"path") y x)
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do loop Data.ProtoLens.defMessage) "CustomHttpPattern"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"kind") _x
+              in
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                      ((Prelude..)
+                         (\ bs
+                            -> (Data.Monoid.<>)
+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                         Data.Text.Encoding.encodeUtf8 _v))
+             ((Data.Monoid.<>)
+                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"path") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                         ((Prelude..)
+                            (\ bs
+                               -> (Data.Monoid.<>)
+                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                       (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                            Data.Text.Encoding.encodeUtf8 _v))
+                (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
+instance Control.DeepSeq.NFData CustomHttpPattern where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_CustomHttpPattern'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_CustomHttpPattern'kind x__)
+                (Control.DeepSeq.deepseq (_CustomHttpPattern'path x__) ()))
+{- | Fields :
+     
+         * 'Proto.Google.Api.Http_Fields.rules' @:: Lens' Http [HttpRule]@
+         * 'Proto.Google.Api.Http_Fields.vec'rules' @:: Lens' Http (Data.Vector.Vector HttpRule)@ -}
+data Http
+  = Http'_constructor {_Http'rules :: !(Data.Vector.Vector HttpRule),
+                       _Http'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show Http where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField Http "rules" [HttpRule] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Http'rules (\ x__ y__ -> x__ {_Http'rules = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Http "vec'rules" (Data.Vector.Vector HttpRule) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Http'rules (\ x__ y__ -> x__ {_Http'rules = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message Http where
+  messageName _ = Data.Text.pack "google.api.Http"
+  packedMessageDescriptor _
+    = "\n\
+      \\EOTHttp\DC2*\n\
+      \\ENQrules\CAN\SOH \ETX(\v2\DC4.google.api.HttpRuleR\ENQrules"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        rules__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "rules"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor HttpRule)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"rules")) ::
+              Data.ProtoLens.FieldDescriptor Http
+      in
+        Data.Map.fromList [(Data.ProtoLens.Tag 1, rules__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _Http'_unknownFields
+        (\ x__ y__ -> x__ {_Http'_unknownFields = y__})
+  defMessage
+    = Http'_constructor
+        {_Http'rules = Data.Vector.Generic.empty,
+         _Http'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          Http
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld HttpRule
+             -> Data.ProtoLens.Encoding.Bytes.Parser Http
+        loop x mutable'rules
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'rules <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                        (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'rules)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'rules") frozen'rules x))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "rules"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'rules y)
+                                loop x v
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'rules
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'rules <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                 Data.ProtoLens.Encoding.Growing.new
+              loop Data.ProtoLens.defMessage mutable'rules)
+          "Http"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                (\ _v
+                   -> (Data.Monoid.<>)
+                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                        ((Prelude..)
+                           (\ bs
+                              -> (Data.Monoid.<>)
+                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                           Data.ProtoLens.encodeMessage _v))
+                (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'rules") _x))
+             (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData Http where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_Http'_unknownFields x__)
+             (Control.DeepSeq.deepseq (_Http'rules x__) ())
+{- | Fields :
+     
+         * 'Proto.Google.Api.Http_Fields.selector' @:: Lens' HttpRule Data.Text.Text@
+         * 'Proto.Google.Api.Http_Fields.body' @:: Lens' HttpRule Data.Text.Text@
+         * 'Proto.Google.Api.Http_Fields.additionalBindings' @:: Lens' HttpRule [HttpRule]@
+         * 'Proto.Google.Api.Http_Fields.vec'additionalBindings' @:: Lens' HttpRule (Data.Vector.Vector HttpRule)@
+         * 'Proto.Google.Api.Http_Fields.maybe'pattern'' @:: Lens' HttpRule (Prelude.Maybe HttpRule'Pattern)@
+         * 'Proto.Google.Api.Http_Fields.maybe'get' @:: Lens' HttpRule (Prelude.Maybe Data.Text.Text)@
+         * 'Proto.Google.Api.Http_Fields.get' @:: Lens' HttpRule Data.Text.Text@
+         * 'Proto.Google.Api.Http_Fields.maybe'put' @:: Lens' HttpRule (Prelude.Maybe Data.Text.Text)@
+         * 'Proto.Google.Api.Http_Fields.put' @:: Lens' HttpRule Data.Text.Text@
+         * 'Proto.Google.Api.Http_Fields.maybe'post' @:: Lens' HttpRule (Prelude.Maybe Data.Text.Text)@
+         * 'Proto.Google.Api.Http_Fields.post' @:: Lens' HttpRule Data.Text.Text@
+         * 'Proto.Google.Api.Http_Fields.maybe'delete' @:: Lens' HttpRule (Prelude.Maybe Data.Text.Text)@
+         * 'Proto.Google.Api.Http_Fields.delete' @:: Lens' HttpRule Data.Text.Text@
+         * 'Proto.Google.Api.Http_Fields.maybe'patch' @:: Lens' HttpRule (Prelude.Maybe Data.Text.Text)@
+         * 'Proto.Google.Api.Http_Fields.patch' @:: Lens' HttpRule Data.Text.Text@
+         * 'Proto.Google.Api.Http_Fields.maybe'custom' @:: Lens' HttpRule (Prelude.Maybe CustomHttpPattern)@
+         * 'Proto.Google.Api.Http_Fields.custom' @:: Lens' HttpRule CustomHttpPattern@ -}
+data HttpRule
+  = HttpRule'_constructor {_HttpRule'selector :: !Data.Text.Text,
+                           _HttpRule'body :: !Data.Text.Text,
+                           _HttpRule'additionalBindings :: !(Data.Vector.Vector HttpRule),
+                           _HttpRule'pattern' :: !(Prelude.Maybe HttpRule'Pattern),
+                           _HttpRule'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show HttpRule where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+data HttpRule'Pattern
+  = HttpRule'Get !Data.Text.Text |
+    HttpRule'Put !Data.Text.Text |
+    HttpRule'Post !Data.Text.Text |
+    HttpRule'Delete !Data.Text.Text |
+    HttpRule'Patch !Data.Text.Text |
+    HttpRule'Custom !CustomHttpPattern
+  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.Field.HasField HttpRule "selector" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _HttpRule'selector (\ x__ y__ -> x__ {_HttpRule'selector = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField HttpRule "body" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _HttpRule'body (\ x__ y__ -> x__ {_HttpRule'body = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField HttpRule "additionalBindings" [HttpRule] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _HttpRule'additionalBindings
+           (\ x__ y__ -> x__ {_HttpRule'additionalBindings = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField HttpRule "vec'additionalBindings" (Data.Vector.Vector HttpRule) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _HttpRule'additionalBindings
+           (\ x__ y__ -> x__ {_HttpRule'additionalBindings = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField HttpRule "maybe'pattern'" (Prelude.Maybe HttpRule'Pattern) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _HttpRule'pattern' (\ x__ y__ -> x__ {_HttpRule'pattern' = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField HttpRule "maybe'get" (Prelude.Maybe Data.Text.Text) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _HttpRule'pattern' (\ x__ y__ -> x__ {_HttpRule'pattern' = y__}))
+        (Lens.Family2.Unchecked.lens
+           (\ x__
+              -> case x__ of
+                   (Prelude.Just (HttpRule'Get x__val)) -> Prelude.Just x__val
+                   _otherwise -> Prelude.Nothing)
+           (\ _ y__ -> Prelude.fmap HttpRule'Get y__))
+instance Data.ProtoLens.Field.HasField HttpRule "get" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _HttpRule'pattern' (\ x__ y__ -> x__ {_HttpRule'pattern' = y__}))
+        ((Prelude..)
+           (Lens.Family2.Unchecked.lens
+              (\ x__
+                 -> case x__ of
+                      (Prelude.Just (HttpRule'Get x__val)) -> Prelude.Just x__val
+                      _otherwise -> Prelude.Nothing)
+              (\ _ y__ -> Prelude.fmap HttpRule'Get y__))
+           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
+instance Data.ProtoLens.Field.HasField HttpRule "maybe'put" (Prelude.Maybe Data.Text.Text) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _HttpRule'pattern' (\ x__ y__ -> x__ {_HttpRule'pattern' = y__}))
+        (Lens.Family2.Unchecked.lens
+           (\ x__
+              -> case x__ of
+                   (Prelude.Just (HttpRule'Put x__val)) -> Prelude.Just x__val
+                   _otherwise -> Prelude.Nothing)
+           (\ _ y__ -> Prelude.fmap HttpRule'Put y__))
+instance Data.ProtoLens.Field.HasField HttpRule "put" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _HttpRule'pattern' (\ x__ y__ -> x__ {_HttpRule'pattern' = y__}))
+        ((Prelude..)
+           (Lens.Family2.Unchecked.lens
+              (\ x__
+                 -> case x__ of
+                      (Prelude.Just (HttpRule'Put x__val)) -> Prelude.Just x__val
+                      _otherwise -> Prelude.Nothing)
+              (\ _ y__ -> Prelude.fmap HttpRule'Put y__))
+           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
+instance Data.ProtoLens.Field.HasField HttpRule "maybe'post" (Prelude.Maybe Data.Text.Text) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _HttpRule'pattern' (\ x__ y__ -> x__ {_HttpRule'pattern' = y__}))
+        (Lens.Family2.Unchecked.lens
+           (\ x__
+              -> case x__ of
+                   (Prelude.Just (HttpRule'Post x__val)) -> Prelude.Just x__val
+                   _otherwise -> Prelude.Nothing)
+           (\ _ y__ -> Prelude.fmap HttpRule'Post y__))
+instance Data.ProtoLens.Field.HasField HttpRule "post" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _HttpRule'pattern' (\ x__ y__ -> x__ {_HttpRule'pattern' = y__}))
+        ((Prelude..)
+           (Lens.Family2.Unchecked.lens
+              (\ x__
+                 -> case x__ of
+                      (Prelude.Just (HttpRule'Post x__val)) -> Prelude.Just x__val
+                      _otherwise -> Prelude.Nothing)
+              (\ _ y__ -> Prelude.fmap HttpRule'Post y__))
+           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
+instance Data.ProtoLens.Field.HasField HttpRule "maybe'delete" (Prelude.Maybe Data.Text.Text) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _HttpRule'pattern' (\ x__ y__ -> x__ {_HttpRule'pattern' = y__}))
+        (Lens.Family2.Unchecked.lens
+           (\ x__
+              -> case x__ of
+                   (Prelude.Just (HttpRule'Delete x__val)) -> Prelude.Just x__val
+                   _otherwise -> Prelude.Nothing)
+           (\ _ y__ -> Prelude.fmap HttpRule'Delete y__))
+instance Data.ProtoLens.Field.HasField HttpRule "delete" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _HttpRule'pattern' (\ x__ y__ -> x__ {_HttpRule'pattern' = y__}))
+        ((Prelude..)
+           (Lens.Family2.Unchecked.lens
+              (\ x__
+                 -> case x__ of
+                      (Prelude.Just (HttpRule'Delete x__val)) -> Prelude.Just x__val
+                      _otherwise -> Prelude.Nothing)
+              (\ _ y__ -> Prelude.fmap HttpRule'Delete y__))
+           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
+instance Data.ProtoLens.Field.HasField HttpRule "maybe'patch" (Prelude.Maybe Data.Text.Text) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _HttpRule'pattern' (\ x__ y__ -> x__ {_HttpRule'pattern' = y__}))
+        (Lens.Family2.Unchecked.lens
+           (\ x__
+              -> case x__ of
+                   (Prelude.Just (HttpRule'Patch x__val)) -> Prelude.Just x__val
+                   _otherwise -> Prelude.Nothing)
+           (\ _ y__ -> Prelude.fmap HttpRule'Patch y__))
+instance Data.ProtoLens.Field.HasField HttpRule "patch" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _HttpRule'pattern' (\ x__ y__ -> x__ {_HttpRule'pattern' = y__}))
+        ((Prelude..)
+           (Lens.Family2.Unchecked.lens
+              (\ x__
+                 -> case x__ of
+                      (Prelude.Just (HttpRule'Patch x__val)) -> Prelude.Just x__val
+                      _otherwise -> Prelude.Nothing)
+              (\ _ y__ -> Prelude.fmap HttpRule'Patch y__))
+           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
+instance Data.ProtoLens.Field.HasField HttpRule "maybe'custom" (Prelude.Maybe CustomHttpPattern) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _HttpRule'pattern' (\ x__ y__ -> x__ {_HttpRule'pattern' = y__}))
+        (Lens.Family2.Unchecked.lens
+           (\ x__
+              -> case x__ of
+                   (Prelude.Just (HttpRule'Custom x__val)) -> Prelude.Just x__val
+                   _otherwise -> Prelude.Nothing)
+           (\ _ y__ -> Prelude.fmap HttpRule'Custom y__))
+instance Data.ProtoLens.Field.HasField HttpRule "custom" CustomHttpPattern where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _HttpRule'pattern' (\ x__ y__ -> x__ {_HttpRule'pattern' = y__}))
+        ((Prelude..)
+           (Lens.Family2.Unchecked.lens
+              (\ x__
+                 -> case x__ of
+                      (Prelude.Just (HttpRule'Custom x__val)) -> Prelude.Just x__val
+                      _otherwise -> Prelude.Nothing)
+              (\ _ y__ -> Prelude.fmap HttpRule'Custom y__))
+           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
+instance Data.ProtoLens.Message HttpRule where
+  messageName _ = Data.Text.pack "google.api.HttpRule"
+  packedMessageDescriptor _
+    = "\n\
+      \\bHttpRule\DC2\SUB\n\
+      \\bselector\CAN\SOH \SOH(\tR\bselector\DC2\DC2\n\
+      \\ETXget\CAN\STX \SOH(\tH\NULR\ETXget\DC2\DC2\n\
+      \\ETXput\CAN\ETX \SOH(\tH\NULR\ETXput\DC2\DC4\n\
+      \\EOTpost\CAN\EOT \SOH(\tH\NULR\EOTpost\DC2\CAN\n\
+      \\ACKdelete\CAN\ENQ \SOH(\tH\NULR\ACKdelete\DC2\SYN\n\
+      \\ENQpatch\CAN\ACK \SOH(\tH\NULR\ENQpatch\DC27\n\
+      \\ACKcustom\CAN\b \SOH(\v2\GS.google.api.CustomHttpPatternH\NULR\ACKcustom\DC2\DC2\n\
+      \\EOTbody\CAN\a \SOH(\tR\EOTbody\DC2E\n\
+      \\DC3additional_bindings\CAN\v \ETX(\v2\DC4.google.api.HttpRuleR\DC2additionalBindingsB\t\n\
+      \\apattern"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        selector__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "selector"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"selector")) ::
+              Data.ProtoLens.FieldDescriptor HttpRule
+        body__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "body"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"body")) ::
+              Data.ProtoLens.FieldDescriptor HttpRule
+        additionalBindings__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "additional_bindings"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor HttpRule)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"additionalBindings")) ::
+              Data.ProtoLens.FieldDescriptor HttpRule
+        get__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "get"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'get")) ::
+              Data.ProtoLens.FieldDescriptor HttpRule
+        put__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "put"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'put")) ::
+              Data.ProtoLens.FieldDescriptor HttpRule
+        post__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "post"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'post")) ::
+              Data.ProtoLens.FieldDescriptor HttpRule
+        delete__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "delete"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'delete")) ::
+              Data.ProtoLens.FieldDescriptor HttpRule
+        patch__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "patch"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'patch")) ::
+              Data.ProtoLens.FieldDescriptor HttpRule
+        custom__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "custom"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor CustomHttpPattern)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'custom")) ::
+              Data.ProtoLens.FieldDescriptor HttpRule
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, selector__field_descriptor),
+           (Data.ProtoLens.Tag 7, body__field_descriptor),
+           (Data.ProtoLens.Tag 11, additionalBindings__field_descriptor),
+           (Data.ProtoLens.Tag 2, get__field_descriptor),
+           (Data.ProtoLens.Tag 3, put__field_descriptor),
+           (Data.ProtoLens.Tag 4, post__field_descriptor),
+           (Data.ProtoLens.Tag 5, delete__field_descriptor),
+           (Data.ProtoLens.Tag 6, patch__field_descriptor),
+           (Data.ProtoLens.Tag 8, custom__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _HttpRule'_unknownFields
+        (\ x__ y__ -> x__ {_HttpRule'_unknownFields = y__})
+  defMessage
+    = HttpRule'_constructor
+        {_HttpRule'selector = Data.ProtoLens.fieldDefault,
+         _HttpRule'body = Data.ProtoLens.fieldDefault,
+         _HttpRule'additionalBindings = Data.Vector.Generic.empty,
+         _HttpRule'pattern' = Prelude.Nothing,
+         _HttpRule'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          HttpRule
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld HttpRule
+             -> Data.ProtoLens.Encoding.Bytes.Parser HttpRule
+        loop x mutable'additionalBindings
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'additionalBindings <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                     (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                        mutable'additionalBindings)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'additionalBindings")
+                              frozen'additionalBindings x))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                       Data.ProtoLens.Encoding.Bytes.getBytes
+                                                         (Prelude.fromIntegral len)
+                                           Data.ProtoLens.Encoding.Bytes.runEither
+                                             (case Data.Text.Encoding.decodeUtf8' value of
+                                                (Prelude.Left err)
+                                                  -> Prelude.Left (Prelude.show err)
+                                                (Prelude.Right r) -> Prelude.Right r))
+                                       "selector"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"selector") y x)
+                                  mutable'additionalBindings
+                        58
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                       Data.ProtoLens.Encoding.Bytes.getBytes
+                                                         (Prelude.fromIntegral len)
+                                           Data.ProtoLens.Encoding.Bytes.runEither
+                                             (case Data.Text.Encoding.decodeUtf8' value of
+                                                (Prelude.Left err)
+                                                  -> Prelude.Left (Prelude.show err)
+                                                (Prelude.Right r) -> Prelude.Right r))
+                                       "body"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"body") y x)
+                                  mutable'additionalBindings
+                        90
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "additional_bindings"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append
+                                          mutable'additionalBindings y)
+                                loop x v
+                        18
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                       Data.ProtoLens.Encoding.Bytes.getBytes
+                                                         (Prelude.fromIntegral len)
+                                           Data.ProtoLens.Encoding.Bytes.runEither
+                                             (case Data.Text.Encoding.decodeUtf8' value of
+                                                (Prelude.Left err)
+                                                  -> Prelude.Left (Prelude.show err)
+                                                (Prelude.Right r) -> Prelude.Right r))
+                                       "get"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"get") y x)
+                                  mutable'additionalBindings
+                        26
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                       Data.ProtoLens.Encoding.Bytes.getBytes
+                                                         (Prelude.fromIntegral len)
+                                           Data.ProtoLens.Encoding.Bytes.runEither
+                                             (case Data.Text.Encoding.decodeUtf8' value of
+                                                (Prelude.Left err)
+                                                  -> Prelude.Left (Prelude.show err)
+                                                (Prelude.Right r) -> Prelude.Right r))
+                                       "put"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"put") y x)
+                                  mutable'additionalBindings
+                        34
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                       Data.ProtoLens.Encoding.Bytes.getBytes
+                                                         (Prelude.fromIntegral len)
+                                           Data.ProtoLens.Encoding.Bytes.runEither
+                                             (case Data.Text.Encoding.decodeUtf8' value of
+                                                (Prelude.Left err)
+                                                  -> Prelude.Left (Prelude.show err)
+                                                (Prelude.Right r) -> Prelude.Right r))
+                                       "post"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"post") y x)
+                                  mutable'additionalBindings
+                        42
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                       Data.ProtoLens.Encoding.Bytes.getBytes
+                                                         (Prelude.fromIntegral len)
+                                           Data.ProtoLens.Encoding.Bytes.runEither
+                                             (case Data.Text.Encoding.decodeUtf8' value of
+                                                (Prelude.Left err)
+                                                  -> Prelude.Left (Prelude.show err)
+                                                (Prelude.Right r) -> Prelude.Right r))
+                                       "delete"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"delete") y x)
+                                  mutable'additionalBindings
+                        50
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do value <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                       Data.ProtoLens.Encoding.Bytes.getBytes
+                                                         (Prelude.fromIntegral len)
+                                           Data.ProtoLens.Encoding.Bytes.runEither
+                                             (case Data.Text.Encoding.decodeUtf8' value of
+                                                (Prelude.Left err)
+                                                  -> Prelude.Left (Prelude.show err)
+                                                (Prelude.Right r) -> Prelude.Right r))
+                                       "patch"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"patch") y x)
+                                  mutable'additionalBindings
+                        66
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "custom"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"custom") y x)
+                                  mutable'additionalBindings
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'additionalBindings
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'additionalBindings <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                              Data.ProtoLens.Encoding.Growing.new
+              loop Data.ProtoLens.defMessage mutable'additionalBindings)
+          "HttpRule"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let
+                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"selector") _x
+              in
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                      ((Prelude..)
+                         (\ bs
+                            -> (Data.Monoid.<>)
+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                         Data.Text.Encoding.encodeUtf8 _v))
+             ((Data.Monoid.<>)
+                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"body") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 58)
+                         ((Prelude..)
+                            (\ bs
+                               -> (Data.Monoid.<>)
+                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                       (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                            Data.Text.Encoding.encodeUtf8 _v))
+                ((Data.Monoid.<>)
+                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                      (\ _v
+                         -> (Data.Monoid.<>)
+                              (Data.ProtoLens.Encoding.Bytes.putVarInt 90)
+                              ((Prelude..)
+                                 (\ bs
+                                    -> (Data.Monoid.<>)
+                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                            (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                 Data.ProtoLens.encodeMessage _v))
+                      (Lens.Family2.view
+                         (Data.ProtoLens.Field.field @"vec'additionalBindings") _x))
+                   ((Data.Monoid.<>)
+                      (case
+                           Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'pattern'") _x
+                       of
+                         Prelude.Nothing -> Data.Monoid.mempty
+                         (Prelude.Just (HttpRule'Get v))
+                           -> (Data.Monoid.<>)
+                                (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                                ((Prelude..)
+                                   (\ bs
+                                      -> (Data.Monoid.<>)
+                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                   Data.Text.Encoding.encodeUtf8 v)
+                         (Prelude.Just (HttpRule'Put v))
+                           -> (Data.Monoid.<>)
+                                (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                                ((Prelude..)
+                                   (\ bs
+                                      -> (Data.Monoid.<>)
+                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                   Data.Text.Encoding.encodeUtf8 v)
+                         (Prelude.Just (HttpRule'Post v))
+                           -> (Data.Monoid.<>)
+                                (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
+                                ((Prelude..)
+                                   (\ bs
+                                      -> (Data.Monoid.<>)
+                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                   Data.Text.Encoding.encodeUtf8 v)
+                         (Prelude.Just (HttpRule'Delete v))
+                           -> (Data.Monoid.<>)
+                                (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
+                                ((Prelude..)
+                                   (\ bs
+                                      -> (Data.Monoid.<>)
+                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                   Data.Text.Encoding.encodeUtf8 v)
+                         (Prelude.Just (HttpRule'Patch v))
+                           -> (Data.Monoid.<>)
+                                (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
+                                ((Prelude..)
+                                   (\ bs
+                                      -> (Data.Monoid.<>)
+                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                   Data.Text.Encoding.encodeUtf8 v)
+                         (Prelude.Just (HttpRule'Custom v))
+                           -> (Data.Monoid.<>)
+                                (Data.ProtoLens.Encoding.Bytes.putVarInt 66)
+                                ((Prelude..)
+                                   (\ bs
+                                      -> (Data.Monoid.<>)
+                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                   Data.ProtoLens.encodeMessage v))
+                      (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                         (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))
+instance Control.DeepSeq.NFData HttpRule where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_HttpRule'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_HttpRule'selector x__)
+                (Control.DeepSeq.deepseq
+                   (_HttpRule'body x__)
+                   (Control.DeepSeq.deepseq
+                      (_HttpRule'additionalBindings x__)
+                      (Control.DeepSeq.deepseq (_HttpRule'pattern' x__) ()))))
+instance Control.DeepSeq.NFData HttpRule'Pattern where
+  rnf (HttpRule'Get x__) = Control.DeepSeq.rnf x__
+  rnf (HttpRule'Put x__) = Control.DeepSeq.rnf x__
+  rnf (HttpRule'Post x__) = Control.DeepSeq.rnf x__
+  rnf (HttpRule'Delete x__) = Control.DeepSeq.rnf x__
+  rnf (HttpRule'Patch x__) = Control.DeepSeq.rnf x__
+  rnf (HttpRule'Custom x__) = Control.DeepSeq.rnf x__
+_HttpRule'Get ::
+  Data.ProtoLens.Prism.Prism' HttpRule'Pattern Data.Text.Text
+_HttpRule'Get
+  = Data.ProtoLens.Prism.prism'
+      HttpRule'Get
+      (\ p__
+         -> case p__ of
+              (HttpRule'Get p__val) -> Prelude.Just p__val
+              _otherwise -> Prelude.Nothing)
+_HttpRule'Put ::
+  Data.ProtoLens.Prism.Prism' HttpRule'Pattern Data.Text.Text
+_HttpRule'Put
+  = Data.ProtoLens.Prism.prism'
+      HttpRule'Put
+      (\ p__
+         -> case p__ of
+              (HttpRule'Put p__val) -> Prelude.Just p__val
+              _otherwise -> Prelude.Nothing)
+_HttpRule'Post ::
+  Data.ProtoLens.Prism.Prism' HttpRule'Pattern Data.Text.Text
+_HttpRule'Post
+  = Data.ProtoLens.Prism.prism'
+      HttpRule'Post
+      (\ p__
+         -> case p__ of
+              (HttpRule'Post p__val) -> Prelude.Just p__val
+              _otherwise -> Prelude.Nothing)
+_HttpRule'Delete ::
+  Data.ProtoLens.Prism.Prism' HttpRule'Pattern Data.Text.Text
+_HttpRule'Delete
+  = Data.ProtoLens.Prism.prism'
+      HttpRule'Delete
+      (\ p__
+         -> case p__ of
+              (HttpRule'Delete p__val) -> Prelude.Just p__val
+              _otherwise -> Prelude.Nothing)
+_HttpRule'Patch ::
+  Data.ProtoLens.Prism.Prism' HttpRule'Pattern Data.Text.Text
+_HttpRule'Patch
+  = Data.ProtoLens.Prism.prism'
+      HttpRule'Patch
+      (\ p__
+         -> case p__ of
+              (HttpRule'Patch p__val) -> Prelude.Just p__val
+              _otherwise -> Prelude.Nothing)
+_HttpRule'Custom ::
+  Data.ProtoLens.Prism.Prism' HttpRule'Pattern CustomHttpPattern
+_HttpRule'Custom
+  = Data.ProtoLens.Prism.prism'
+      HttpRule'Custom
+      (\ p__
+         -> case p__ of
+              (HttpRule'Custom p__val) -> Prelude.Just p__val
+              _otherwise -> Prelude.Nothing)
+packedFileDescriptor :: Data.ByteString.ByteString
+packedFileDescriptor
+  = "\n\
+    \\NAKgoogle/api/http.proto\DC2\n\
+    \google.api\"2\n\
+    \\EOTHttp\DC2*\n\
+    \\ENQrules\CAN\SOH \ETX(\v2\DC4.google.api.HttpRuleR\ENQrules\"\181\STX\n\
+    \\bHttpRule\DC2\SUB\n\
+    \\bselector\CAN\SOH \SOH(\tR\bselector\DC2\DC2\n\
+    \\ETXget\CAN\STX \SOH(\tH\NULR\ETXget\DC2\DC2\n\
+    \\ETXput\CAN\ETX \SOH(\tH\NULR\ETXput\DC2\DC4\n\
+    \\EOTpost\CAN\EOT \SOH(\tH\NULR\EOTpost\DC2\CAN\n\
+    \\ACKdelete\CAN\ENQ \SOH(\tH\NULR\ACKdelete\DC2\SYN\n\
+    \\ENQpatch\CAN\ACK \SOH(\tH\NULR\ENQpatch\DC27\n\
+    \\ACKcustom\CAN\b \SOH(\v2\GS.google.api.CustomHttpPatternH\NULR\ACKcustom\DC2\DC2\n\
+    \\EOTbody\CAN\a \SOH(\tR\EOTbody\DC2E\n\
+    \\DC3additional_bindings\CAN\v \ETX(\v2\DC4.google.api.HttpRuleR\DC2additionalBindingsB\t\n\
+    \\apattern\";\n\
+    \\DC1CustomHttpPattern\DC2\DC2\n\
+    \\EOTkind\CAN\SOH \SOH(\tR\EOTkind\DC2\DC2\n\
+    \\EOTpath\CAN\STX \SOH(\tR\EOTpathBj\n\
+    \\SOcom.google.apiB\tHttpProtoP\SOHZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\248\SOH\SOH\162\STX\EOTGAPIJ\205Q\n\
+    \\a\DC2\ENQ\SO\NUL\162\STX\SOH\n\
+    \\189\EOT\n\
+    \\SOH\f\DC2\ETX\SO\NUL\DC22\178\EOT Copyright 2016 Google Inc.\n\
+    \\n\
+    \ Licensed under the Apache License, Version 2.0 (the \"License\");\n\
+    \ you may not use this file except in compliance with the License.\n\
+    \ You may obtain a copy of the License at\n\
+    \\n\
+    \     http://www.apache.org/licenses/LICENSE-2.0\n\
+    \\n\
+    \ Unless required by applicable law or agreed to in writing, software\n\
+    \ distributed under the License is distributed on an \"AS IS\" BASIS,\n\
+    \ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\
+    \ See the License for the specific language governing permissions and\n\
+    \ limitations under the License.\n\
+    \\n\
+    \\b\n\
+    \\SOH\STX\DC2\ETX\DLE\NUL\DC3\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\DC2\NUL\US\n\
+    \\t\n\
+    \\STX\b\US\DC2\ETX\DC2\NUL\US\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\DC3\NULX\n\
+    \\t\n\
+    \\STX\b\v\DC2\ETX\DC3\NULX\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\DC4\NUL\"\n\
+    \\t\n\
+    \\STX\b\n\
+    \\DC2\ETX\DC4\NUL\"\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\NAK\NUL*\n\
+    \\t\n\
+    \\STX\b\b\DC2\ETX\NAK\NUL*\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\SYN\NUL'\n\
+    \\t\n\
+    \\STX\b\SOH\DC2\ETX\SYN\NUL'\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\ETB\NUL\"\n\
+    \\t\n\
+    \\STX\b$\DC2\ETX\ETB\NUL\"\n\
+    \\200\SOH\n\
+    \\STX\EOT\NUL\DC2\EOT\GS\NUL\"\SOH\SUB\187\SOH Defines the HTTP configuration for a service. It contains a list of\n\
+    \ [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method\n\
+    \ to one or more HTTP REST API methods.\n\
+    \\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\NUL\SOH\DC2\ETX\GS\b\f\n\
+    \\162\SOH\n\
+    \\EOT\EOT\NUL\STX\NUL\DC2\ETX!\STX\RS\SUB\148\SOH A list of HTTP configuration rules that apply to individual API methods.\n\
+    \\n\
+    \ **NOTE:** All service configuration rules follow \"last one wins\" order.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\NUL\EOT\DC2\ETX!\STX\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\NUL\ACK\DC2\ETX!\v\DC3\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\NUL\SOH\DC2\ETX!\DC4\EM\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\NUL\ETX\DC2\ETX!\FS\GS\n\
+    \\223\&9\n\
+    \\STX\EOT\SOH\DC2\ACK\242\SOH\NUL\153\STX\SOH\SUB\208\&9 `HttpRule` defines the mapping of an RPC method to one or more HTTP\n\
+    \ REST APIs.  The mapping determines what portions of the request\n\
+    \ message are populated from the path, query parameters, or body of\n\
+    \ the HTTP request.  The mapping is typically specified as an\n\
+    \ `google.api.http` annotation, see \"google/api/annotations.proto\"\n\
+    \ for details.\n\
+    \\n\
+    \ The mapping consists of a field specifying the path template and\n\
+    \ method kind.  The path template can refer to fields in the request\n\
+    \ message, as in the example below which describes a REST GET\n\
+    \ operation on a resource collection of messages:\n\
+    \\n\
+    \\n\
+    \     service Messaging {\n\
+    \       rpc GetMessage(GetMessageRequest) returns (Message) {\n\
+    \         option (google.api.http).get = \"/v1/messages/{message_id}/{sub.subfield}\";\n\
+    \       }\n\
+    \     }\n\
+    \     message GetMessageRequest {\n\
+    \       message SubMessage {\n\
+    \         string subfield = 1;\n\
+    \       }\n\
+    \       string message_id = 1; // mapped to the URL\n\
+    \       SubMessage sub = 2;    // `sub.subfield` is url-mapped\n\
+    \     }\n\
+    \     message Message {\n\
+    \       string text = 1; // content of the resource\n\
+    \     }\n\
+    \\n\
+    \ The same http annotation can alternatively be expressed inside the\n\
+    \ `GRPC API Configuration` YAML file.\n\
+    \\n\
+    \     http:\n\
+    \       rules:\n\
+    \         - selector: <proto_package_name>.Messaging.GetMessage\n\
+    \           get: /v1/messages/{message_id}/{sub.subfield}\n\
+    \\n\
+    \ This definition enables an automatic, bidrectional mapping of HTTP\n\
+    \ JSON to RPC. Example:\n\
+    \\n\
+    \ HTTP | RPC\n\
+    \ -----|-----\n\
+    \ `GET /v1/messages/123456/foo`  | `GetMessage(message_id: \"123456\" sub: SubMessage(subfield: \"foo\"))`\n\
+    \\n\
+    \ In general, not only fields but also field paths can be referenced\n\
+    \ from a path pattern. Fields mapped to the path pattern cannot be\n\
+    \ repeated and must have a primitive (non-message) type.\n\
+    \\n\
+    \ Any fields in the request message which are not bound by the path\n\
+    \ pattern automatically become (optional) HTTP query\n\
+    \ parameters. Assume the following definition of the request message:\n\
+    \\n\
+    \\n\
+    \     message GetMessageRequest {\n\
+    \       message SubMessage {\n\
+    \         string subfield = 1;\n\
+    \       }\n\
+    \       string message_id = 1; // mapped to the URL\n\
+    \       int64 revision = 2;    // becomes a parameter\n\
+    \       SubMessage sub = 3;    // `sub.subfield` becomes a parameter\n\
+    \     }\n\
+    \\n\
+    \\n\
+    \ This enables a HTTP JSON to RPC mapping as below:\n\
+    \\n\
+    \ HTTP | RPC\n\
+    \ -----|-----\n\
+    \ `GET /v1/messages/123456?revision=2&sub.subfield=foo` | `GetMessage(message_id: \"123456\" revision: 2 sub: SubMessage(subfield: \"foo\"))`\n\
+    \\n\
+    \ Note that fields which are mapped to HTTP parameters must have a\n\
+    \ primitive type or a repeated primitive type. Message types are not\n\
+    \ allowed. In the case of a repeated type, the parameter can be\n\
+    \ repeated in the URL, as in `...?param=A&param=B`.\n\
+    \\n\
+    \ For HTTP method kinds which allow a request body, the `body` field\n\
+    \ specifies the mapping. Consider a REST update method on the\n\
+    \ message resource collection:\n\
+    \\n\
+    \\n\
+    \     service Messaging {\n\
+    \       rpc UpdateMessage(UpdateMessageRequest) returns (Message) {\n\
+    \         option (google.api.http) = {\n\
+    \           put: \"/v1/messages/{message_id}\"\n\
+    \           body: \"message\"\n\
+    \         };\n\
+    \       }\n\
+    \     }\n\
+    \     message UpdateMessageRequest {\n\
+    \       string message_id = 1; // mapped to the URL\n\
+    \       Message message = 2;   // mapped to the body\n\
+    \     }\n\
+    \\n\
+    \\n\
+    \ The following HTTP JSON to RPC mapping is enabled, where the\n\
+    \ representation of the JSON in the request body is determined by\n\
+    \ protos JSON encoding:\n\
+    \\n\
+    \ HTTP | RPC\n\
+    \ -----|-----\n\
+    \ `PUT /v1/messages/123456 { \"text\": \"Hi!\" }` | `UpdateMessage(message_id: \"123456\" message { text: \"Hi!\" })`\n\
+    \\n\
+    \ The special name `*` can be used in the body mapping to define that\n\
+    \ every field not bound by the path template should be mapped to the\n\
+    \ request body.  This enables the following alternative definition of\n\
+    \ the update method:\n\
+    \\n\
+    \     service Messaging {\n\
+    \       rpc UpdateMessage(Message) returns (Message) {\n\
+    \         option (google.api.http) = {\n\
+    \           put: \"/v1/messages/{message_id}\"\n\
+    \           body: \"*\"\n\
+    \         };\n\
+    \       }\n\
+    \     }\n\
+    \     message Message {\n\
+    \       string message_id = 1;\n\
+    \       string text = 2;\n\
+    \     }\n\
+    \\n\
+    \\n\
+    \ The following HTTP JSON to RPC mapping is enabled:\n\
+    \\n\
+    \ HTTP | RPC\n\
+    \ -----|-----\n\
+    \ `PUT /v1/messages/123456 { \"text\": \"Hi!\" }` | `UpdateMessage(message_id: \"123456\" text: \"Hi!\")`\n\
+    \\n\
+    \ Note that when using `*` in the body mapping, it is not possible to\n\
+    \ have HTTP parameters, as all fields not bound by the path end in\n\
+    \ the body. This makes this option more rarely used in practice of\n\
+    \ defining REST APIs. The common usage of `*` is in custom methods\n\
+    \ which don't use the URL at all for transferring data.\n\
+    \\n\
+    \ It is possible to define multiple HTTP methods for one RPC by using\n\
+    \ the `additional_bindings` option. Example:\n\
+    \\n\
+    \     service Messaging {\n\
+    \       rpc GetMessage(GetMessageRequest) returns (Message) {\n\
+    \         option (google.api.http) = {\n\
+    \           get: \"/v1/messages/{message_id}\"\n\
+    \           additional_bindings {\n\
+    \             get: \"/v1/users/{user_id}/messages/{message_id}\"\n\
+    \           }\n\
+    \         };\n\
+    \       }\n\
+    \     }\n\
+    \     message GetMessageRequest {\n\
+    \       string message_id = 1;\n\
+    \       string user_id = 2;\n\
+    \     }\n\
+    \\n\
+    \\n\
+    \ This enables the following two alternative HTTP JSON to RPC\n\
+    \ mappings:\n\
+    \\n\
+    \ HTTP | RPC\n\
+    \ -----|-----\n\
+    \ `GET /v1/messages/123456` | `GetMessage(message_id: \"123456\")`\n\
+    \ `GET /v1/users/me/messages/123456` | `GetMessage(user_id: \"me\" message_id: \"123456\")`\n\
+    \\n\
+    \ # Rules for HTTP mapping\n\
+    \\n\
+    \ The rules for mapping HTTP path, query parameters, and body fields\n\
+    \ to the request message are as follows:\n\
+    \\n\
+    \ 1. The `body` field specifies either `*` or a field path, or is\n\
+    \    omitted. If omitted, it assumes there is no HTTP body.\n\
+    \ 2. Leaf fields (recursive expansion of nested messages in the\n\
+    \    request) can be classified into three types:\n\
+    \     (a) Matched in the URL template.\n\
+    \     (b) Covered by body (if body is `*`, everything except (a) fields;\n\
+    \         else everything under the body field)\n\
+    \     (c) All other fields.\n\
+    \ 3. URL query parameters found in the HTTP request are mapped to (c) fields.\n\
+    \ 4. Any body sent with an HTTP request can contain only (b) fields.\n\
+    \\n\
+    \ The syntax of the path template is as follows:\n\
+    \\n\
+    \     Template = \"/\" Segments [ Verb ] ;\n\
+    \     Segments = Segment { \"/\" Segment } ;\n\
+    \     Segment  = \"*\" | \"**\" | LITERAL | Variable ;\n\
+    \     Variable = \"{\" FieldPath [ \"=\" Segments ] \"}\" ;\n\
+    \     FieldPath = IDENT { \".\" IDENT } ;\n\
+    \     Verb     = \":\" LITERAL ;\n\
+    \\n\
+    \ The syntax `*` matches a single path segment. It follows the semantics of\n\
+    \ [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String\n\
+    \ Expansion.\n\
+    \\n\
+    \ The syntax `**` matches zero or more path segments. It follows the semantics\n\
+    \ of [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.3 Reserved\n\
+    \ Expansion. NOTE: it must be the last segment in the path except the Verb.\n\
+    \\n\
+    \ The syntax `LITERAL` matches literal text in the URL path.\n\
+    \\n\
+    \ The syntax `Variable` matches the entire path as specified by its template;\n\
+    \ this nested template must not contain further variables. If a variable\n\
+    \ matches a single path segment, its template may be omitted, e.g. `{var}`\n\
+    \ is equivalent to `{var=*}`.\n\
+    \\n\
+    \ NOTE: the field paths in variables and in the `body` must not refer to\n\
+    \ repeated fields or map fields.\n\
+    \\n\
+    \ Use CustomHttpPattern to specify any HTTP method that is not included in the\n\
+    \ `pattern` field, such as HEAD, or \"*\" to leave the HTTP method unspecified for\n\
+    \ a given URL path rule. The wild-card rule is useful for services that provide\n\
+    \ content to Web (HTML) clients.\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\SOH\SOH\DC2\EOT\242\SOH\b\DLE\n\
+    \\140\SOH\n\
+    \\EOT\EOT\SOH\STX\NUL\DC2\EOT\246\SOH\STX\SYN\SUB~ Selects methods to which this rule applies.\n\
+    \\n\
+    \ Refer to [selector][google.api.DocumentationRule.selector] for syntax details.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\NUL\ENQ\DC2\EOT\246\SOH\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\NUL\SOH\DC2\EOT\246\SOH\t\DC1\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\NUL\ETX\DC2\EOT\246\SOH\DC4\NAK\n\
+    \\208\SOH\n\
+    \\EOT\EOT\SOH\b\NUL\DC2\ACK\251\SOH\STX\141\STX\ETX\SUB\191\SOH Determines the URL pattern is matched by this rules. This pattern can be\n\
+    \ used with any of the {get|put|post|delete|patch} methods. A custom method\n\
+    \ can be defined using the 'custom' field.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\b\NUL\SOH\DC2\EOT\251\SOH\b\SI\n\
+    \I\n\
+    \\EOT\EOT\SOH\STX\SOH\DC2\EOT\253\SOH\EOT\DC3\SUB; Used for listing and getting information about resources.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\SOH\ENQ\DC2\EOT\253\SOH\EOT\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\SOH\SOH\DC2\EOT\253\SOH\v\SO\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\SOH\ETX\DC2\EOT\253\SOH\DC1\DC2\n\
+    \-\n\
+    \\EOT\EOT\SOH\STX\STX\DC2\EOT\128\STX\EOT\DC3\SUB\US Used for updating a resource.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\STX\ENQ\DC2\EOT\128\STX\EOT\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\STX\SOH\DC2\EOT\128\STX\v\SO\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\STX\ETX\DC2\EOT\128\STX\DC1\DC2\n\
+    \-\n\
+    \\EOT\EOT\SOH\STX\ETX\DC2\EOT\131\STX\EOT\DC4\SUB\US Used for creating a resource.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\ETX\ENQ\DC2\EOT\131\STX\EOT\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\ETX\SOH\DC2\EOT\131\STX\v\SI\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\ETX\ETX\DC2\EOT\131\STX\DC2\DC3\n\
+    \-\n\
+    \\EOT\EOT\SOH\STX\EOT\DC2\EOT\134\STX\EOT\SYN\SUB\US Used for deleting a resource.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\EOT\ENQ\DC2\EOT\134\STX\EOT\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\EOT\SOH\DC2\EOT\134\STX\v\DC1\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\EOT\ETX\DC2\EOT\134\STX\DC4\NAK\n\
+    \-\n\
+    \\EOT\EOT\SOH\STX\ENQ\DC2\EOT\137\STX\EOT\NAK\SUB\US Used for updating a resource.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\ENQ\ENQ\DC2\EOT\137\STX\EOT\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\ENQ\SOH\DC2\EOT\137\STX\v\DLE\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\ENQ\ETX\DC2\EOT\137\STX\DC3\DC4\n\
+    \A\n\
+    \\EOT\EOT\SOH\STX\ACK\DC2\EOT\140\STX\EOT!\SUB3 Custom pattern is used for defining custom verbs.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\ACK\ACK\DC2\EOT\140\STX\EOT\NAK\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\ACK\SOH\DC2\EOT\140\STX\SYN\FS\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\ACK\ETX\DC2\EOT\140\STX\US \n\
+    \\158\STX\n\
+    \\EOT\EOT\SOH\STX\a\DC2\EOT\147\STX\STX\DC2\SUB\143\STX The name of the request field whose value is mapped to the HTTP body, or\n\
+    \ `*` for mapping all fields not captured by the path pattern to the HTTP\n\
+    \ body. NOTE: the referred field must not be a repeated field and must be\n\
+    \ present at the top-level of request message type.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\a\ENQ\DC2\EOT\147\STX\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\a\SOH\DC2\EOT\147\STX\t\r\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\a\ETX\DC2\EOT\147\STX\DLE\DC1\n\
+    \\187\SOH\n\
+    \\EOT\EOT\SOH\STX\b\DC2\EOT\152\STX\STX-\SUB\172\SOH Additional HTTP bindings for the selector. Nested bindings must\n\
+    \ not contain an `additional_bindings` field themselves (that is,\n\
+    \ the nesting may only be one level deep).\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\b\EOT\DC2\EOT\152\STX\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\b\ACK\DC2\EOT\152\STX\v\DC3\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\b\SOH\DC2\EOT\152\STX\DC4'\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\b\ETX\DC2\EOT\152\STX*,\n\
+    \G\n\
+    \\STX\EOT\STX\DC2\ACK\156\STX\NUL\162\STX\SOH\SUB9 A custom pattern is used for defining custom HTTP verb.\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\STX\SOH\DC2\EOT\156\STX\b\EM\n\
+    \2\n\
+    \\EOT\EOT\STX\STX\NUL\DC2\EOT\158\STX\STX\DC2\SUB$ The name of this custom HTTP verb.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\STX\STX\NUL\ENQ\DC2\EOT\158\STX\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\STX\STX\NUL\SOH\DC2\EOT\158\STX\t\r\n\
+    \\r\n\
+    \\ENQ\EOT\STX\STX\NUL\ETX\DC2\EOT\158\STX\DLE\DC1\n\
+    \5\n\
+    \\EOT\EOT\STX\STX\SOH\DC2\EOT\161\STX\STX\DC2\SUB' The path matched by this custom verb.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\STX\STX\SOH\ENQ\DC2\EOT\161\STX\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\STX\STX\SOH\SOH\DC2\EOT\161\STX\t\r\n\
+    \\r\n\
+    \\ENQ\EOT\STX\STX\SOH\ETX\DC2\EOT\161\STX\DLE\DC1b\ACKproto3"
diff --git a/gen/Proto/Google/Protobuf/Timestamp.hs b/gen/Proto/Google/Protobuf/Timestamp.hs
--- a/gen/Proto/Google/Protobuf/Timestamp.hs
+++ b/gen/Proto/Google/Protobuf/Timestamp.hs
@@ -1,183 +1,359 @@
 {- This file was auto-generated from google/protobuf/timestamp.proto by the proto-lens-protoc program. -}
-{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,
-  UndecidableInstances, GeneralizedNewtypeDeriving,
-  MultiParamTypeClasses, FlexibleContexts, FlexibleInstances,
-  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds,
-  BangPatterns, TypeApplications #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports#-}
-{-# OPTIONS_GHC -fno-warn-duplicate-exports#-}
-module Proto.Google.Protobuf.Timestamp (Timestamp()) where
-import qualified Data.ProtoLens.Runtime.Control.DeepSeq
-       as Control.DeepSeq
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Prism
-       as Data.ProtoLens.Prism
+{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies, UndecidableInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances, PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds, BangPatterns, TypeApplications, OverloadedStrings, DerivingStrategies#-}
+{-# OPTIONS_GHC -Wno-unused-imports#-}
+{-# OPTIONS_GHC -Wno-duplicate-exports#-}
+{-# OPTIONS_GHC -Wno-dodgy-exports#-}
+module Proto.Google.Protobuf.Timestamp (
+        Timestamp()
+    ) where
+import qualified Data.ProtoLens.Runtime.Control.DeepSeq as Control.DeepSeq
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Prism as Data.ProtoLens.Prism
 import qualified Data.ProtoLens.Runtime.Prelude as Prelude
 import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int
 import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid
 import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens
-       as Data.ProtoLens
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes
-       as Data.ProtoLens.Encoding.Bytes
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing
-       as Data.ProtoLens.Encoding.Growing
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe
-       as Data.ProtoLens.Encoding.Parser.Unsafe
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire
-       as Data.ProtoLens.Encoding.Wire
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field
-       as Data.ProtoLens.Field
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum
-       as Data.ProtoLens.Message.Enum
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types
-       as Data.ProtoLens.Service.Types
-import qualified Data.ProtoLens.Runtime.Lens.Family2
-       as Lens.Family2
-import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked
-       as Lens.Family2.Unchecked
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens as Data.ProtoLens
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes as Data.ProtoLens.Encoding.Bytes
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing as Data.ProtoLens.Encoding.Growing
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe as Data.ProtoLens.Encoding.Parser.Unsafe
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire as Data.ProtoLens.Encoding.Wire
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field as Data.ProtoLens.Field
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum as Data.ProtoLens.Message.Enum
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types as Data.ProtoLens.Service.Types
+import qualified Data.ProtoLens.Runtime.Lens.Family2 as Lens.Family2
+import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked as Lens.Family2.Unchecked
 import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text
 import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map
-import qualified Data.ProtoLens.Runtime.Data.ByteString
-       as Data.ByteString
-import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8
-       as Data.ByteString.Char8
-import qualified Data.ProtoLens.Runtime.Data.Text.Encoding
-       as Data.Text.Encoding
+import qualified Data.ProtoLens.Runtime.Data.ByteString as Data.ByteString
+import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8 as Data.ByteString.Char8
+import qualified Data.ProtoLens.Runtime.Data.Text.Encoding as Data.Text.Encoding
 import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector
-import qualified Data.ProtoLens.Runtime.Data.Vector.Generic
-       as Data.Vector.Generic
-import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed
-       as Data.Vector.Unboxed
+import qualified Data.ProtoLens.Runtime.Data.Vector.Generic as Data.Vector.Generic
+import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed as Data.Vector.Unboxed
 import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read
-
 {- | Fields :
-
-    * 'Proto.Google.Protobuf.Timestamp_Fields.seconds' @:: Lens' Timestamp Data.Int.Int64@
-    * 'Proto.Google.Protobuf.Timestamp_Fields.nanos' @:: Lens' Timestamp Data.Int.Int32@
- -}
-data Timestamp = Timestamp{_Timestamp'seconds :: !Data.Int.Int64,
-                           _Timestamp'nanos :: !Data.Int.Int32,
-                           _Timestamp'_unknownFields :: !Data.ProtoLens.FieldSet}
-                   deriving (Prelude.Eq, Prelude.Ord)
+     
+         * 'Proto.Google.Protobuf.Timestamp_Fields.seconds' @:: Lens' Timestamp Data.Int.Int64@
+         * 'Proto.Google.Protobuf.Timestamp_Fields.nanos' @:: Lens' Timestamp Data.Int.Int32@ -}
+data Timestamp
+  = Timestamp'_constructor {_Timestamp'seconds :: !Data.Int.Int64,
+                            _Timestamp'nanos :: !Data.Int.Int32,
+                            _Timestamp'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
 instance Prelude.Show Timestamp where
-        showsPrec _ __x __s
-          = Prelude.showChar '{'
-              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
-                 (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField Timestamp "seconds"
-           (Data.Int.Int64)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Timestamp'seconds
-               (\ x__ y__ -> x__{_Timestamp'seconds = y__}))
-              Prelude.. Prelude.id
-instance Data.ProtoLens.Field.HasField Timestamp "nanos"
-           (Data.Int.Int32)
-         where
-        fieldOf _
-          = (Lens.Family2.Unchecked.lens _Timestamp'nanos
-               (\ x__ y__ -> x__{_Timestamp'nanos = y__}))
-              Prelude.. Prelude.id
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField Timestamp "seconds" Data.Int.Int64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Timestamp'seconds (\ x__ y__ -> x__ {_Timestamp'seconds = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Timestamp "nanos" Data.Int.Int32 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Timestamp'nanos (\ x__ y__ -> x__ {_Timestamp'nanos = y__}))
+        Prelude.id
 instance Data.ProtoLens.Message Timestamp where
-        messageName _ = Data.Text.pack "google.protobuf.Timestamp"
-        fieldsByTag
-          = let seconds__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "seconds"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Data.ProtoLens.Field.field @"seconds"))
-                      :: Data.ProtoLens.FieldDescriptor Timestamp
-                nanos__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "nanos"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Data.ProtoLens.Field.field @"nanos"))
-                      :: Data.ProtoLens.FieldDescriptor Timestamp
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, seconds__field_descriptor),
-                 (Data.ProtoLens.Tag 2, nanos__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _Timestamp'_unknownFields
-              (\ x__ y__ -> x__{_Timestamp'_unknownFields = y__})
-        defMessage
-          = Timestamp{_Timestamp'seconds = Data.ProtoLens.fieldDefault,
-                      _Timestamp'nanos = Data.ProtoLens.fieldDefault,
-                      _Timestamp'_unknownFields = ([])}
-        parseMessage
-          = let loop ::
-                     Timestamp -> Data.ProtoLens.Encoding.Bytes.Parser Timestamp
-                loop x
-                  = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-                       if end then
-                         do let missing = [] in
-                              if Prelude.null missing then Prelude.return () else
-                                Prelude.fail
-                                  (("Missing required fields: ") Prelude.++
-                                     Prelude.show (missing :: ([Prelude.String])))
-                            Prelude.return
-                              (Lens.Family2.over Data.ProtoLens.unknownFields
-                                 (\ !t -> Prelude.reverse t)
-                                 x)
+  messageName _ = Data.Text.pack "google.protobuf.Timestamp"
+  packedMessageDescriptor _
+    = "\n\
+      \\tTimestamp\DC2\CAN\n\
+      \\aseconds\CAN\SOH \SOH(\ETXR\aseconds\DC2\DC4\n\
+      \\ENQnanos\CAN\STX \SOH(\ENQR\ENQnanos"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        seconds__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "seconds"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"seconds")) ::
+              Data.ProtoLens.FieldDescriptor Timestamp
+        nanos__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "nanos"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"nanos")) ::
+              Data.ProtoLens.FieldDescriptor Timestamp
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, seconds__field_descriptor),
+           (Data.ProtoLens.Tag 2, nanos__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _Timestamp'_unknownFields
+        (\ x__ y__ -> x__ {_Timestamp'_unknownFields = y__})
+  defMessage
+    = Timestamp'_constructor
+        {_Timestamp'seconds = Data.ProtoLens.fieldDefault,
+         _Timestamp'nanos = Data.ProtoLens.fieldDefault,
+         _Timestamp'_unknownFields = []}
+  parseMessage
+    = let
+        loop :: Timestamp -> Data.ProtoLens.Encoding.Bytes.Parser Timestamp
+        loop x
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
                          else
-                         do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                            case tag of
-                                8 -> do y <- (Prelude.fmap Prelude.fromIntegral
-                                                Data.ProtoLens.Encoding.Bytes.getVarInt)
-                                               Data.ProtoLens.Encoding.Bytes.<?> "seconds"
-                                        loop
-                                          (Lens.Family2.set (Data.ProtoLens.Field.field @"seconds")
-                                             y
-                                             x)
-                                16 -> do y <- (Prelude.fmap Prelude.fromIntegral
-                                                 Data.ProtoLens.Encoding.Bytes.getVarInt)
-                                                Data.ProtoLens.Encoding.Bytes.<?> "nanos"
-                                         loop
-                                           (Lens.Family2.set (Data.ProtoLens.Field.field @"nanos") y
-                                              x)
-                                wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                                   wire
-                                           loop
-                                             (Lens.Family2.over Data.ProtoLens.unknownFields
-                                                (\ !t -> (:) y t)
-                                                x)
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "seconds"
+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"seconds") y x)
+                        16
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "nanos"
+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"nanos") y x)
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do loop Data.ProtoLens.defMessage) "Timestamp"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let
+                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"seconds") _x
               in
-              (do loop Data.ProtoLens.defMessage)
-                Data.ProtoLens.Encoding.Bytes.<?> "Timestamp"
-        buildMessage
-          = (\ _x ->
-               (let _v
-                      = Lens.Family2.view (Data.ProtoLens.Field.field @"seconds") _x
-                  in
-                  if (_v) Prelude.== Data.ProtoLens.fieldDefault then
-                    Data.Monoid.mempty else
-                    (Data.ProtoLens.Encoding.Bytes.putVarInt 8) Data.Monoid.<>
-                      ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
-                         Prelude.fromIntegral)
-                        _v)
-                 Data.Monoid.<>
-                 (let _v
-                        = Lens.Family2.view (Data.ProtoLens.Field.field @"nanos") _x
-                    in
-                    if (_v) Prelude.== Data.ProtoLens.fieldDefault then
-                      Data.Monoid.mempty else
-                      (Data.ProtoLens.Encoding.Bytes.putVarInt 16) Data.Monoid.<>
-                        ((Data.ProtoLens.Encoding.Bytes.putVarInt) Prelude..
-                           Prelude.fromIntegral)
-                          _v)
-                   Data.Monoid.<>
-                   Data.ProtoLens.Encoding.Wire.buildFieldSet
-                     (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
+                      ((Prelude..)
+                         Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+             ((Data.Monoid.<>)
+                (let
+                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"nanos") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
+                         ((Prelude..)
+                            Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+                (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
 instance Control.DeepSeq.NFData Timestamp where
-        rnf
-          = (\ x__ ->
-               Control.DeepSeq.deepseq (_Timestamp'_unknownFields x__)
-                 (Control.DeepSeq.deepseq (_Timestamp'seconds x__)
-                    (Control.DeepSeq.deepseq (_Timestamp'nanos x__) (()))))
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_Timestamp'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_Timestamp'seconds x__)
+                (Control.DeepSeq.deepseq (_Timestamp'nanos x__) ()))
+packedFileDescriptor :: Data.ByteString.ByteString
+packedFileDescriptor
+  = "\n\
+    \\USgoogle/protobuf/timestamp.proto\DC2\SIgoogle.protobuf\";\n\
+    \\tTimestamp\DC2\CAN\n\
+    \\aseconds\CAN\SOH \SOH(\ETXR\aseconds\DC2\DC4\n\
+    \\ENQnanos\CAN\STX \SOH(\ENQR\ENQnanosB~\n\
+    \\DC3com.google.protobufB\SOTimestampProtoP\SOHZ+github.com/golang/protobuf/ptypes/timestamp\248\SOH\SOH\162\STX\ETXGPB\170\STX\RSGoogle.Protobuf.WellKnownTypesJ\217-\n\
+    \\a\DC2\ENQ\RS\NUL\137\SOH\SOH\n\
+    \\204\f\n\
+    \\SOH\f\DC2\ETX\RS\NUL\DC22\193\f Protocol Buffers - Google's data interchange format\n\
+    \ Copyright 2008 Google Inc.  All rights reserved.\n\
+    \ https://developers.google.com/protocol-buffers/\n\
+    \\n\
+    \ Redistribution and use in source and binary forms, with or without\n\
+    \ modification, are permitted provided that the following conditions are\n\
+    \ met:\n\
+    \\n\
+    \     * Redistributions of source code must retain the above copyright\n\
+    \ notice, this list of conditions and the following disclaimer.\n\
+    \     * Redistributions in binary form must reproduce the above\n\
+    \ copyright notice, this list of conditions and the following disclaimer\n\
+    \ in the documentation and/or other materials provided with the\n\
+    \ distribution.\n\
+    \     * Neither the name of Google Inc. nor the names of its\n\
+    \ contributors may be used to endorse or promote products derived from\n\
+    \ this software without specific prior written permission.\n\
+    \\n\
+    \ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\
+    \ \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n\
+    \ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n\
+    \ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n\
+    \ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n\
+    \ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n\
+    \ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n\
+    \ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n\
+    \ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n\
+    \ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n\
+    \ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\
+    \\n\
+    \\b\n\
+    \\SOH\STX\DC2\ETX \NUL\CAN\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\"\NUL;\n\
+    \\t\n\
+    \\STX\b%\DC2\ETX\"\NUL;\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX#\NUL\US\n\
+    \\t\n\
+    \\STX\b\US\DC2\ETX#\NUL\US\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX$\NULB\n\
+    \\t\n\
+    \\STX\b\v\DC2\ETX$\NULB\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX%\NUL,\n\
+    \\t\n\
+    \\STX\b\SOH\DC2\ETX%\NUL,\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX&\NUL/\n\
+    \\t\n\
+    \\STX\b\b\DC2\ETX&\NUL/\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX'\NUL\"\n\
+    \\t\n\
+    \\STX\b\n\
+    \\DC2\ETX'\NUL\"\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX(\NUL!\n\
+    \\t\n\
+    \\STX\b$\DC2\ETX(\NUL!\n\
+    \\243\ESC\n\
+    \\STX\EOT\NUL\DC2\ENQ~\NUL\137\SOH\SOH\SUB\229\ESC A Timestamp represents a point in time independent of any time zone or local\n\
+    \ calendar, encoded as a count of seconds and fractions of seconds at\n\
+    \ nanosecond resolution. The count is relative to an epoch at UTC midnight on\n\
+    \ January 1, 1970, in the proleptic Gregorian calendar which extends the\n\
+    \ Gregorian calendar backwards to year one.\n\
+    \\n\
+    \ All minutes are 60 seconds long. Leap seconds are \"smeared\" so that no leap\n\
+    \ second table is needed for interpretation, using a [24-hour linear\n\
+    \ smear](https://developers.google.com/time/smear).\n\
+    \\n\
+    \ The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By\n\
+    \ restricting to that range, we ensure that we can convert to and from [RFC\n\
+    \ 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.\n\
+    \\n\
+    \ # Examples\n\
+    \\n\
+    \ Example 1: Compute Timestamp from POSIX `time()`.\n\
+    \\n\
+    \     Timestamp timestamp;\n\
+    \     timestamp.set_seconds(time(NULL));\n\
+    \     timestamp.set_nanos(0);\n\
+    \\n\
+    \ Example 2: Compute Timestamp from POSIX `gettimeofday()`.\n\
+    \\n\
+    \     struct timeval tv;\n\
+    \     gettimeofday(&tv, NULL);\n\
+    \\n\
+    \     Timestamp timestamp;\n\
+    \     timestamp.set_seconds(tv.tv_sec);\n\
+    \     timestamp.set_nanos(tv.tv_usec * 1000);\n\
+    \\n\
+    \ Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n\
+    \\n\
+    \     FILETIME ft;\n\
+    \     GetSystemTimeAsFileTime(&ft);\n\
+    \     UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;\n\
+    \\n\
+    \     // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z\n\
+    \     // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.\n\
+    \     Timestamp timestamp;\n\
+    \     timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));\n\
+    \     timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\n\
+    \\n\
+    \ Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n\
+    \\n\
+    \     long millis = System.currentTimeMillis();\n\
+    \\n\
+    \     Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)\n\
+    \         .setNanos((int) ((millis % 1000) * 1000000)).build();\n\
+    \\n\
+    \\n\
+    \ Example 5: Compute Timestamp from current time in Python.\n\
+    \\n\
+    \     timestamp = Timestamp()\n\
+    \     timestamp.GetCurrentTime()\n\
+    \\n\
+    \ # JSON Mapping\n\
+    \\n\
+    \ In JSON format, the Timestamp type is encoded as a string in the\n\
+    \ [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the\n\
+    \ format is \"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z\"\n\
+    \ where {year} is always expressed using four digits while {month}, {day},\n\
+    \ {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional\n\
+    \ seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),\n\
+    \ are optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone\n\
+    \ is required. A proto3 JSON serializer should always use UTC (as indicated by\n\
+    \ \"Z\") when printing the Timestamp type and a proto3 JSON parser should be\n\
+    \ able to accept both UTC and other timezones (as indicated by an offset).\n\
+    \\n\
+    \ For example, \"2017-01-15T01:30:15.01Z\" encodes 15.01 seconds past\n\
+    \ 01:30 UTC on January 15, 2017.\n\
+    \\n\
+    \ In JavaScript, one can convert a Date object to this format using the\n\
+    \ standard\n\
+    \ [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)\n\
+    \ method. In Python, a standard `datetime.datetime` object can be converted\n\
+    \ to this format using\n\
+    \ [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with\n\
+    \ the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use\n\
+    \ the Joda Time's [`ISODateTimeFormat.dateTime()`](\n\
+    \ http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D\n\
+    \ ) to obtain a formatter capable of generating timestamps in this format.\n\
+    \\n\
+    \\n\
+    \\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\NUL\SOH\DC2\ETX~\b\DC1\n\
+    \\157\SOH\n\
+    \\EOT\EOT\NUL\STX\NUL\DC2\EOT\130\SOH\STX\DC4\SUB\142\SOH Represents seconds of UTC time since Unix epoch\n\
+    \ 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\n\
+    \ 9999-12-31T23:59:59Z inclusive.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\NUL\STX\NUL\ENQ\DC2\EOT\130\SOH\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\NUL\STX\NUL\SOH\DC2\EOT\130\SOH\b\SI\n\
+    \\r\n\
+    \\ENQ\EOT\NUL\STX\NUL\ETX\DC2\EOT\130\SOH\DC2\DC3\n\
+    \\229\SOH\n\
+    \\EOT\EOT\NUL\STX\SOH\DC2\EOT\136\SOH\STX\DC2\SUB\214\SOH Non-negative fractions of a second at nanosecond resolution. Negative\n\
+    \ second values with fractions must still have non-negative nanos values\n\
+    \ that count forward in time. Must be from 0 to 999,999,999\n\
+    \ inclusive.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\NUL\STX\SOH\ENQ\DC2\EOT\136\SOH\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\NUL\STX\SOH\SOH\DC2\EOT\136\SOH\b\r\n\
+    \\r\n\
+    \\ENQ\EOT\NUL\STX\SOH\ETX\DC2\EOT\136\SOH\DLE\DC1b\ACKproto3"
diff --git a/gen/Proto/Google/Protobuf/Timestamp_Fields.hs b/gen/Proto/Google/Protobuf/Timestamp_Fields.hs
--- a/gen/Proto/Google/Protobuf/Timestamp_Fields.hs
+++ b/gen/Proto/Google/Protobuf/Timestamp_Fields.hs
@@ -1,63 +1,39 @@
 {- This file was auto-generated from google/protobuf/timestamp.proto by the proto-lens-protoc program. -}
-{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,
-  UndecidableInstances, GeneralizedNewtypeDeriving,
-  MultiParamTypeClasses, FlexibleContexts, FlexibleInstances,
-  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds,
-  BangPatterns, TypeApplications #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports#-}
-{-# OPTIONS_GHC -fno-warn-duplicate-exports#-}
+{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies, UndecidableInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances, PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds, BangPatterns, TypeApplications, OverloadedStrings, DerivingStrategies#-}
+{-# OPTIONS_GHC -Wno-unused-imports#-}
+{-# OPTIONS_GHC -Wno-duplicate-exports#-}
+{-# OPTIONS_GHC -Wno-dodgy-exports#-}
 module Proto.Google.Protobuf.Timestamp_Fields where
 import qualified Data.ProtoLens.Runtime.Prelude as Prelude
 import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int
 import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid
 import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens
-       as Data.ProtoLens
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes
-       as Data.ProtoLens.Encoding.Bytes
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing
-       as Data.ProtoLens.Encoding.Growing
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe
-       as Data.ProtoLens.Encoding.Parser.Unsafe
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire
-       as Data.ProtoLens.Encoding.Wire
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field
-       as Data.ProtoLens.Field
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum
-       as Data.ProtoLens.Message.Enum
-import qualified
-       Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types
-       as Data.ProtoLens.Service.Types
-import qualified Data.ProtoLens.Runtime.Lens.Family2
-       as Lens.Family2
-import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked
-       as Lens.Family2.Unchecked
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens as Data.ProtoLens
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes as Data.ProtoLens.Encoding.Bytes
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing as Data.ProtoLens.Encoding.Growing
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe as Data.ProtoLens.Encoding.Parser.Unsafe
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire as Data.ProtoLens.Encoding.Wire
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field as Data.ProtoLens.Field
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum as Data.ProtoLens.Message.Enum
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types as Data.ProtoLens.Service.Types
+import qualified Data.ProtoLens.Runtime.Lens.Family2 as Lens.Family2
+import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked as Lens.Family2.Unchecked
 import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text
 import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map
-import qualified Data.ProtoLens.Runtime.Data.ByteString
-       as Data.ByteString
-import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8
-       as Data.ByteString.Char8
-import qualified Data.ProtoLens.Runtime.Data.Text.Encoding
-       as Data.Text.Encoding
+import qualified Data.ProtoLens.Runtime.Data.ByteString as Data.ByteString
+import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8 as Data.ByteString.Char8
+import qualified Data.ProtoLens.Runtime.Data.Text.Encoding as Data.Text.Encoding
 import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector
-import qualified Data.ProtoLens.Runtime.Data.Vector.Generic
-       as Data.Vector.Generic
-import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed
-       as Data.Vector.Unboxed
+import qualified Data.ProtoLens.Runtime.Data.Vector.Generic as Data.Vector.Generic
+import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed as Data.Vector.Unboxed
 import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read
-
 nanos ::
-      forall f s a .
-        (Prelude.Functor f, Data.ProtoLens.Field.HasField s "nanos" a) =>
-        Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "nanos" a) =>
+  Lens.Family2.LensLike' f s a
 nanos = Data.ProtoLens.Field.field @"nanos"
 seconds ::
-        forall f s a .
-          (Prelude.Functor f, Data.ProtoLens.Field.HasField s "seconds" a) =>
-          Lens.Family2.LensLike' f s a
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "seconds" a) =>
+  Lens.Family2.LensLike' f s a
 seconds = Data.ProtoLens.Field.field @"seconds"
diff --git a/lightstep-haskell.cabal b/lightstep-haskell.cabal
--- a/lightstep-haskell.cabal
+++ b/lightstep-haskell.cabal
@@ -1,7 +1,7 @@
 cabal-version: 2.4
 
 name:           lightstep-haskell
-version:        0.10.3
+version:        0.10.4
 synopsis:       LightStep OpenTracing client library
 description:    LightStep OpenTracing client library. Uses GRPC transport via proto-lens.
 category:       Tools
@@ -84,7 +84,7 @@
     , proto-lens >= 0.5.1.0
     , proto-lens-protobuf-types >= 0.5.0.0
     , proto-lens-runtime >= 0.5.0.0
-    , random
+    , random >= 1.2
     , exceptions
     , stm
     , text
diff --git a/src/LightStep/HighLevel/IO.hs b/src/LightStep/HighLevel/IO.hs
--- a/src/LightStep/HighLevel/IO.hs
+++ b/src/LightStep/HighLevel/IO.hs
@@ -150,43 +150,50 @@
 
 withSingletonLightStep :: LightStepConfig -> IO () -> IO ()
 withSingletonLightStep cfg action = do
-  client <- mkClient cfg
-  d_ $ "Connected to LightStep " <> lsHostName cfg <> ":" <> show (lsPort cfg)
-  doneVar <- newEmptyMVar
-  let work = do
-        d_ "Getting more spans"
-        sps <- atomically $ do
-          some_spans <- replicateM (lsMinimumBatchSize cfg) $ readTBQueue globalSharedMutableSingletonState
-          some_more_spans <- flushTBQueue globalSharedMutableSingletonState
-          pure (some_spans <> some_more_spans)
-        d_ $ "Got " <> show (length sps) <> " spans"
-        inc 1 sentBatchesCountVar
-        reportSpansRes <- try (reportSpans client sps)
-        case reportSpansRes of
-          Right () ->
-            d_ $ "Reported " <> show (length sps) <> " spans"
-          Left (err :: SomeException) ->
-            d_ $ "Error while reporting spans: " <> show err
-      shutdown = do
-        d_ "Getting the last spans before shutdown"
-        sps <- atomically $ flushTBQueue globalSharedMutableSingletonState
-        when (not $ null sps) $ do
-          d_ $ "Got " <> show (length sps) <> " spans"
-          reportSpans client sps
-          d_ $ "Reported " <> show (length sps) <> " spans"
-        d_ "No more spans"
-        closeClient client
-        d_ "Client closed"
-        putMVar doneVar ()
-  race_ action $ do
-    tid <- myThreadId
-    labelThread tid "LightStep reporter"
-    fix $ \loop -> do
-      work
-      loop
-  race_
-    shutdown
-    (waitUntilDone (lsGracefulShutdownTimeoutSeconds cfg) doneVar)
+  clientOrError <- try (mkClient cfg)
+  case clientOrError of
+    Left (err :: IOError) -> do
+      d_ $ "Not connected to LightStep " <> lsHostName cfg <> ":" <> show (lsPort cfg)
+      d_ $ "Reason: " <> show err
+      d_ $ "Continuing without tracing"
+      action
+    Right client -> do
+      d_ $ "Connected to LightStep " <> lsHostName cfg <> ":" <> show (lsPort cfg)
+      doneVar <- newEmptyMVar
+      let work = do
+            d_ "Getting more spans"
+            sps <- atomically $ do
+              some_spans <- replicateM (lsMinimumBatchSize cfg) $ readTBQueue globalSharedMutableSingletonState
+              some_more_spans <- flushTBQueue globalSharedMutableSingletonState
+              pure (some_spans <> some_more_spans)
+            d_ $ "Got " <> show (length sps) <> " spans"
+            inc 1 sentBatchesCountVar
+            reportSpansRes <- try (reportSpans client sps)
+            case reportSpansRes of
+              Right () ->
+                d_ $ "Reported " <> show (length sps) <> " spans"
+              Left (err :: SomeException) ->
+                d_ $ "Error while reporting spans: " <> show err
+          shutdown = do
+            d_ "Getting the last spans before shutdown"
+            sps <- atomically $ flushTBQueue globalSharedMutableSingletonState
+            when (not $ null sps) $ do
+              d_ $ "Got " <> show (length sps) <> " spans"
+              reportSpans client sps
+              d_ $ "Reported " <> show (length sps) <> " spans"
+            d_ "No more spans"
+            closeClient client
+            d_ "Client closed"
+            putMVar doneVar ()
+      race_ action $ do
+        tid <- myThreadId
+        labelThread tid "LightStep reporter"
+        fix $ \loop -> do
+          work
+          loop
+      race_
+        shutdown
+        (waitUntilDone (lsGracefulShutdownTimeoutSeconds cfg) doneVar)
 
 submitSpan :: Span -> IO ()
 submitSpan sp = do
diff --git a/stress-test/Main.hs b/stress-test/Main.hs
--- a/stress-test/Main.hs
+++ b/stress-test/Main.hs
@@ -49,8 +49,8 @@
   let GCDetails {..} = gc
   printf "max_live_bytes %d\n" max_live_bytes
   printf "gcdetails_live_bytes %d\n" gcdetails_live_bytes
-  when (max_live_bytes > 10_000_000) $ do
-    putStrLn "Ate too much memory"
+  when (max_live_bytes > 20_000_000) $ do
+    printf "Ate too much memory: %d\n" max_live_bytes
     exitFailure
 
 main :: IO ()
