packages feed

proto-lens 0.2.2.0 → 0.3.0.0

raw patch · 14 files changed

+7137/−235 lines, 14 filesdep +deepseqdep +lens-labelsPVP ok

version bump matches the API change (PVP)

Dependencies added: deepseq, lens-labels

API changes (from Hackage documentation)

- Data.ProtoLens.Message: MessageDescriptor :: Text -> Map Tag (FieldDescriptor msg) -> Map String (FieldDescriptor msg) -> MessageDescriptor msg
- Data.ProtoLens.Message: [GroupField] :: Message value => FieldTypeDescriptor value
- Data.ProtoLens.Message: [fieldsByTag] :: MessageDescriptor msg -> Map Tag (FieldDescriptor msg)
- Data.ProtoLens.Message: [fieldsByTextFormatName] :: MessageDescriptor msg -> Map String (FieldDescriptor msg)
- Data.ProtoLens.Message: [messageName] :: MessageDescriptor msg -> Text
- Data.ProtoLens.Message: data MessageDescriptor msg
- Data.ProtoLens.Message: descriptor :: Message msg => MessageDescriptor msg
- Data.ProtoLens.Message: instance GHC.Classes.Eq Data.ProtoLens.Message.Tag
- Data.ProtoLens.Message: instance GHC.Classes.Ord Data.ProtoLens.Message.Tag
- Data.ProtoLens.Message: instance GHC.Num.Num Data.ProtoLens.Message.Tag
- Data.ProtoLens.Message: instance GHC.Show.Show Data.ProtoLens.Message.Tag
+ Data.ProtoLens.Encoding: buildMessageDelimited :: Message msg => msg -> Builder
+ Data.ProtoLens.Encoding.Wire: Tag :: Int -> Tag
+ Data.ProtoLens.Encoding.Wire: TaggedValue :: !Tag -> !WireValue -> TaggedValue
+ Data.ProtoLens.Encoding.Wire: WireValue :: !(WireType a) -> !a -> WireValue
+ Data.ProtoLens.Encoding.Wire: [EndGroup] :: WireType ()
+ Data.ProtoLens.Encoding.Wire: [Equal] :: (Eq a, Ord a) => Equal a a
+ Data.ProtoLens.Encoding.Wire: [Fixed32] :: WireType Word32
+ Data.ProtoLens.Encoding.Wire: [Fixed64] :: WireType Word64
+ Data.ProtoLens.Encoding.Wire: [Lengthy] :: WireType ByteString
+ Data.ProtoLens.Encoding.Wire: [SomeWireType] :: WireType a -> SomeWireType
+ Data.ProtoLens.Encoding.Wire: [StartGroup] :: WireType ()
+ Data.ProtoLens.Encoding.Wire: [VarInt] :: WireType Word64
+ Data.ProtoLens.Encoding.Wire: [unTag] :: Tag -> Int
+ Data.ProtoLens.Encoding.Wire: data Equal a b
+ Data.ProtoLens.Encoding.Wire: data SomeWireType
+ Data.ProtoLens.Encoding.Wire: data TaggedValue
+ Data.ProtoLens.Encoding.Wire: data WireType a
+ Data.ProtoLens.Encoding.Wire: data WireValue
+ Data.ProtoLens.Encoding.Wire: decodeFieldSet :: ByteString -> Either String [TaggedValue]
+ Data.ProtoLens.Encoding.Wire: equalWireTypes :: Monad m => String -> WireType a -> WireType b -> m (Equal a b)
+ Data.ProtoLens.Encoding.Wire: getTaggedValue :: Parser TaggedValue
+ Data.ProtoLens.Encoding.Wire: getWireValue :: WireType a -> Parser a
+ Data.ProtoLens.Encoding.Wire: instance Control.DeepSeq.NFData Data.ProtoLens.Encoding.Wire.Tag
+ Data.ProtoLens.Encoding.Wire: instance Control.DeepSeq.NFData Data.ProtoLens.Encoding.Wire.TaggedValue
+ Data.ProtoLens.Encoding.Wire: instance Control.DeepSeq.NFData Data.ProtoLens.Encoding.Wire.WireValue
+ Data.ProtoLens.Encoding.Wire: instance GHC.Classes.Eq Data.ProtoLens.Encoding.Wire.Tag
+ Data.ProtoLens.Encoding.Wire: instance GHC.Classes.Eq Data.ProtoLens.Encoding.Wire.TaggedValue
+ Data.ProtoLens.Encoding.Wire: instance GHC.Classes.Eq Data.ProtoLens.Encoding.Wire.WireValue
+ Data.ProtoLens.Encoding.Wire: instance GHC.Classes.Ord Data.ProtoLens.Encoding.Wire.Tag
+ Data.ProtoLens.Encoding.Wire: instance GHC.Classes.Ord Data.ProtoLens.Encoding.Wire.TaggedValue
+ Data.ProtoLens.Encoding.Wire: instance GHC.Classes.Ord Data.ProtoLens.Encoding.Wire.WireValue
+ Data.ProtoLens.Encoding.Wire: instance GHC.Num.Num Data.ProtoLens.Encoding.Wire.Tag
+ Data.ProtoLens.Encoding.Wire: instance GHC.Show.Show (Data.ProtoLens.Encoding.Wire.WireType a)
+ Data.ProtoLens.Encoding.Wire: instance GHC.Show.Show Data.ProtoLens.Encoding.Wire.Tag
+ Data.ProtoLens.Encoding.Wire: instance GHC.Show.Show Data.ProtoLens.Encoding.Wire.TaggedValue
+ Data.ProtoLens.Encoding.Wire: instance GHC.Show.Show Data.ProtoLens.Encoding.Wire.WireValue
+ Data.ProtoLens.Encoding.Wire: newtype Tag
+ Data.ProtoLens.Encoding.Wire: putTaggedValue :: TaggedValue -> Builder
+ Data.ProtoLens.Encoding.Wire: putWireValue :: WireType a -> a -> Builder
+ Data.ProtoLens.Message: AnyMessageDescriptor :: Lens' msg Text -> Lens' msg ByteString -> AnyMessageDescriptor msg
+ Data.ProtoLens.Message: GroupType :: MessageOrGroup
+ Data.ProtoLens.Message: MessageType :: MessageOrGroup
+ Data.ProtoLens.Message: TaggedValue :: !Tag -> !WireValue -> TaggedValue
+ Data.ProtoLens.Message: [ScalarField] :: ScalarField value -> FieldTypeDescriptor value
+ Data.ProtoLens.Message: [SomeMessageType] :: Message msg => Proxy msg -> SomeMessageType
+ Data.ProtoLens.Message: [anyTypeUrlLens] :: AnyMessageDescriptor msg -> Lens' msg Text
+ Data.ProtoLens.Message: [anyValueLens] :: AnyMessageDescriptor msg -> Lens' msg ByteString
+ Data.ProtoLens.Message: allFields :: Message msg => [FieldDescriptor msg]
+ Data.ProtoLens.Message: data AnyMessageDescriptor msg
+ Data.ProtoLens.Message: data MessageOrGroup
+ Data.ProtoLens.Message: data Registry
+ Data.ProtoLens.Message: data ScalarField t
+ Data.ProtoLens.Message: data SomeMessageType
+ Data.ProtoLens.Message: data TaggedValue
+ Data.ProtoLens.Message: discardUnknownFields :: Message msg => msg -> msg
+ Data.ProtoLens.Message: fieldsByTag :: Message msg => Map Tag (FieldDescriptor msg)
+ Data.ProtoLens.Message: fieldsByTextFormatName :: Message msg => Map String (FieldDescriptor msg)
+ Data.ProtoLens.Message: instance GHC.Base.Monoid Data.ProtoLens.Message.Registry
+ Data.ProtoLens.Message: instance GHC.Show.Show (Data.ProtoLens.Message.ScalarField value)
+ Data.ProtoLens.Message: instance GHC.Show.Show Data.ProtoLens.Message.MessageOrGroup
+ Data.ProtoLens.Message: lookupRegistered :: Text -> Registry -> Maybe SomeMessageType
+ Data.ProtoLens.Message: matchAnyMessage :: forall value. FieldTypeDescriptor value -> Maybe (AnyMessageDescriptor value)
+ Data.ProtoLens.Message: messageName :: Message msg => Proxy msg -> Text
+ Data.ProtoLens.Message: register :: forall msg. Message msg => Proxy msg -> Registry
+ Data.ProtoLens.Message: type FieldSet = [TaggedValue]
+ Data.ProtoLens.Message: unknownFields :: Message msg => Lens' msg FieldSet
+ Data.ProtoLens.Service.Types: BiDiStreaming :: StreamingType
+ Data.ProtoLens.Service.Types: ClientStreaming :: StreamingType
+ Data.ProtoLens.Service.Types: NonStreaming :: StreamingType
+ Data.ProtoLens.Service.Types: ServerStreaming :: StreamingType
+ Data.ProtoLens.Service.Types: class HasAllMethods s (ms :: [Symbol])
+ Data.ProtoLens.Service.Types: class (KnownSymbol m, KnownSymbol (MethodName s m), Service s, Message (MethodInput s m), Message (MethodOutput s m)) => HasMethodImpl s (m :: Symbol) where {
+ Data.ProtoLens.Service.Types: class (KnownSymbol (ServiceName s), KnownSymbol (ServicePackage s), HasAllMethods s (ServiceMethods s)) => Service s where {
+ Data.ProtoLens.Service.Types: data StreamingType
+ Data.ProtoLens.Service.Types: instance GHC.Classes.Eq Data.ProtoLens.Service.Types.StreamingType
+ Data.ProtoLens.Service.Types: instance GHC.Classes.Ord Data.ProtoLens.Service.Types.StreamingType
+ Data.ProtoLens.Service.Types: instance GHC.Enum.Bounded Data.ProtoLens.Service.Types.StreamingType
+ Data.ProtoLens.Service.Types: instance GHC.Enum.Enum Data.ProtoLens.Service.Types.StreamingType
+ Data.ProtoLens.Service.Types: instance GHC.Read.Read Data.ProtoLens.Service.Types.StreamingType
+ Data.ProtoLens.Service.Types: instance GHC.Show.Show Data.ProtoLens.Service.Types.StreamingType
+ Data.ProtoLens.Service.Types: instance forall k (s :: k) (ms :: [GHC.Types.Symbol]) (m :: GHC.Types.Symbol). (Data.ProtoLens.Service.Types.HasAllMethods s ms, Data.ProtoLens.Service.Types.HasMethodImpl s m) => Data.ProtoLens.Service.Types.HasAllMethods s (m : ms)
+ Data.ProtoLens.Service.Types: instance forall k (s :: k). Data.ProtoLens.Service.Types.HasAllMethods s '[]
+ Data.ProtoLens.Service.Types: type HasMethod s m = (RequireHasMethod s m (ListContains m (ServiceMethods s)), HasMethodImpl s m)
+ Data.ProtoLens.Service.Types: type family MethodStreamingType s m :: StreamingType;
+ Data.ProtoLens.Service.Types: }
+ Data.ProtoLens.TextFormat: pprintMessageWithRegistry :: Message msg => Registry -> msg -> Doc
+ Data.ProtoLens.TextFormat: readMessageWithRegistry :: Message msg => Registry -> Text -> Either String msg
+ Data.ProtoLens.TextFormat: showMessageWithRegistry :: Message msg => Registry -> msg -> String
+ Proto.Google.Protobuf.Compiler.Plugin: CodeGeneratorRequest :: ![Text] -> !(Maybe Text) -> ![FileDescriptorProto] -> !FieldSet -> CodeGeneratorRequest
+ Proto.Google.Protobuf.Compiler.Plugin: CodeGeneratorResponse :: !(Maybe Text) -> ![CodeGeneratorResponse'File] -> !FieldSet -> CodeGeneratorResponse
+ Proto.Google.Protobuf.Compiler.Plugin: CodeGeneratorResponse'File :: !(Maybe Text) -> !(Maybe Text) -> !(Maybe Text) -> !FieldSet -> CodeGeneratorResponse'File
+ Proto.Google.Protobuf.Compiler.Plugin: [_CodeGeneratorRequest'_unknownFields] :: CodeGeneratorRequest -> !FieldSet
+ Proto.Google.Protobuf.Compiler.Plugin: [_CodeGeneratorRequest'fileToGenerate] :: CodeGeneratorRequest -> ![Text]
+ Proto.Google.Protobuf.Compiler.Plugin: [_CodeGeneratorRequest'parameter] :: CodeGeneratorRequest -> !(Maybe Text)
+ Proto.Google.Protobuf.Compiler.Plugin: [_CodeGeneratorRequest'protoFile] :: CodeGeneratorRequest -> ![FileDescriptorProto]
+ Proto.Google.Protobuf.Compiler.Plugin: [_CodeGeneratorResponse'File'_unknownFields] :: CodeGeneratorResponse'File -> !FieldSet
+ Proto.Google.Protobuf.Compiler.Plugin: [_CodeGeneratorResponse'File'content] :: CodeGeneratorResponse'File -> !(Maybe Text)
+ Proto.Google.Protobuf.Compiler.Plugin: [_CodeGeneratorResponse'File'insertionPoint] :: CodeGeneratorResponse'File -> !(Maybe Text)
+ Proto.Google.Protobuf.Compiler.Plugin: [_CodeGeneratorResponse'File'name] :: CodeGeneratorResponse'File -> !(Maybe Text)
+ Proto.Google.Protobuf.Compiler.Plugin: [_CodeGeneratorResponse'_unknownFields] :: CodeGeneratorResponse -> !FieldSet
+ Proto.Google.Protobuf.Compiler.Plugin: [_CodeGeneratorResponse'error] :: CodeGeneratorResponse -> !(Maybe Text)
+ Proto.Google.Protobuf.Compiler.Plugin: [_CodeGeneratorResponse'file] :: CodeGeneratorResponse -> ![CodeGeneratorResponse'File]
+ Proto.Google.Protobuf.Compiler.Plugin: data CodeGeneratorRequest
+ Proto.Google.Protobuf.Compiler.Plugin: data CodeGeneratorResponse
+ Proto.Google.Protobuf.Compiler.Plugin: data CodeGeneratorResponse'File
+ Proto.Google.Protobuf.Compiler.Plugin: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorRequest x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorRequest Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorRequest x a b
+ Proto.Google.Protobuf.Compiler.Plugin: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse x a b
+ Proto.Google.Protobuf.Compiler.Plugin: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse'File x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse'File Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse'File x a b
+ Proto.Google.Protobuf.Compiler.Plugin: instance Data.Default.Class.Default Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorRequest
+ Proto.Google.Protobuf.Compiler.Plugin: instance Data.Default.Class.Default Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse
+ Proto.Google.Protobuf.Compiler.Plugin: instance Data.Default.Class.Default Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse'File
+ Proto.Google.Protobuf.Compiler.Plugin: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorRequest
+ Proto.Google.Protobuf.Compiler.Plugin: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse
+ Proto.Google.Protobuf.Compiler.Plugin: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse'File
+ Proto.Google.Protobuf.Compiler.Plugin: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorRequest "fileToGenerate" [Data.Text.Internal.Text]
+ Proto.Google.Protobuf.Compiler.Plugin: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorRequest "maybe'parameter" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Compiler.Plugin: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorRequest "parameter" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Compiler.Plugin: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorRequest "protoFile" [Proto.Google.Protobuf.Descriptor.FileDescriptorProto]
+ Proto.Google.Protobuf.Compiler.Plugin: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse "error" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Compiler.Plugin: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse "file" [Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse'File]
+ Proto.Google.Protobuf.Compiler.Plugin: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse "maybe'error" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Compiler.Plugin: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse'File "content" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Compiler.Plugin: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse'File "insertionPoint" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Compiler.Plugin: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse'File "maybe'content" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Compiler.Plugin: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse'File "maybe'insertionPoint" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Compiler.Plugin: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse'File "maybe'name" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Compiler.Plugin: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse'File "name" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Compiler.Plugin: instance GHC.Classes.Eq Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorRequest
+ Proto.Google.Protobuf.Compiler.Plugin: instance GHC.Classes.Eq Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse
+ Proto.Google.Protobuf.Compiler.Plugin: instance GHC.Classes.Eq Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse'File
+ Proto.Google.Protobuf.Compiler.Plugin: instance GHC.Classes.Ord Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorRequest
+ Proto.Google.Protobuf.Compiler.Plugin: instance GHC.Classes.Ord Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse
+ Proto.Google.Protobuf.Compiler.Plugin: instance GHC.Classes.Ord Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse'File
+ Proto.Google.Protobuf.Compiler.Plugin: instance GHC.Show.Show Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorRequest
+ Proto.Google.Protobuf.Compiler.Plugin: instance GHC.Show.Show Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse
+ Proto.Google.Protobuf.Compiler.Plugin: instance GHC.Show.Show Proto.Google.Protobuf.Compiler.Plugin.CodeGeneratorResponse'File
+ Proto.Google.Protobuf.Compiler.Plugin_Fields: content :: forall f s t a b. (HasLens f s t "content" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Compiler.Plugin_Fields: error :: forall f s t a b. (HasLens f s t "error" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Compiler.Plugin_Fields: file :: forall f s t a b. (HasLens f s t "file" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Compiler.Plugin_Fields: fileToGenerate :: forall f s t a b. (HasLens f s t "fileToGenerate" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Compiler.Plugin_Fields: insertionPoint :: forall f s t a b. (HasLens f s t "insertionPoint" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Compiler.Plugin_Fields: maybe'content :: forall f s t a b. (HasLens f s t "maybe'content" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Compiler.Plugin_Fields: maybe'error :: forall f s t a b. (HasLens f s t "maybe'error" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Compiler.Plugin_Fields: maybe'insertionPoint :: forall f s t a b. (HasLens f s t "maybe'insertionPoint" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Compiler.Plugin_Fields: maybe'name :: forall f s t a b. (HasLens f s t "maybe'name" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Compiler.Plugin_Fields: maybe'parameter :: forall f s t a b. (HasLens f s t "maybe'parameter" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Compiler.Plugin_Fields: name :: forall f s t a b. (HasLens f s t "name" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Compiler.Plugin_Fields: parameter :: forall f s t a b. (HasLens f s t "parameter" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Compiler.Plugin_Fields: protoFile :: forall f s t a b. (HasLens f s t "protoFile" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor: DescriptorProto :: !(Maybe Text) -> ![FieldDescriptorProto] -> ![FieldDescriptorProto] -> ![DescriptorProto] -> ![EnumDescriptorProto] -> ![DescriptorProto'ExtensionRange] -> ![OneofDescriptorProto] -> !(Maybe MessageOptions) -> ![DescriptorProto'ReservedRange] -> ![Text] -> !FieldSet -> DescriptorProto
+ Proto.Google.Protobuf.Descriptor: DescriptorProto'ExtensionRange :: !(Maybe Int32) -> !(Maybe Int32) -> !FieldSet -> DescriptorProto'ExtensionRange
+ Proto.Google.Protobuf.Descriptor: DescriptorProto'ReservedRange :: !(Maybe Int32) -> !(Maybe Int32) -> !FieldSet -> DescriptorProto'ReservedRange
+ Proto.Google.Protobuf.Descriptor: EnumDescriptorProto :: !(Maybe Text) -> ![EnumValueDescriptorProto] -> !(Maybe EnumOptions) -> !FieldSet -> EnumDescriptorProto
+ Proto.Google.Protobuf.Descriptor: EnumOptions :: !(Maybe Bool) -> !(Maybe Bool) -> ![UninterpretedOption] -> !FieldSet -> EnumOptions
+ Proto.Google.Protobuf.Descriptor: EnumValueDescriptorProto :: !(Maybe Text) -> !(Maybe Int32) -> !(Maybe EnumValueOptions) -> !FieldSet -> EnumValueDescriptorProto
+ Proto.Google.Protobuf.Descriptor: EnumValueOptions :: !(Maybe Bool) -> ![UninterpretedOption] -> !FieldSet -> EnumValueOptions
+ Proto.Google.Protobuf.Descriptor: FieldDescriptorProto :: !(Maybe Text) -> !(Maybe Int32) -> !(Maybe FieldDescriptorProto'Label) -> !(Maybe FieldDescriptorProto'Type) -> !(Maybe Text) -> !(Maybe Text) -> !(Maybe Text) -> !(Maybe Int32) -> !(Maybe Text) -> !(Maybe FieldOptions) -> !FieldSet -> FieldDescriptorProto
+ Proto.Google.Protobuf.Descriptor: FieldDescriptorProto'LABEL_OPTIONAL :: FieldDescriptorProto'Label
+ Proto.Google.Protobuf.Descriptor: FieldDescriptorProto'LABEL_REPEATED :: FieldDescriptorProto'Label
+ Proto.Google.Protobuf.Descriptor: FieldDescriptorProto'LABEL_REQUIRED :: FieldDescriptorProto'Label
+ Proto.Google.Protobuf.Descriptor: FieldDescriptorProto'TYPE_BOOL :: FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: FieldDescriptorProto'TYPE_BYTES :: FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: FieldDescriptorProto'TYPE_DOUBLE :: FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: FieldDescriptorProto'TYPE_ENUM :: FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: FieldDescriptorProto'TYPE_FIXED32 :: FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: FieldDescriptorProto'TYPE_FIXED64 :: FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: FieldDescriptorProto'TYPE_FLOAT :: FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: FieldDescriptorProto'TYPE_GROUP :: FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: FieldDescriptorProto'TYPE_INT32 :: FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: FieldDescriptorProto'TYPE_INT64 :: FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: FieldDescriptorProto'TYPE_MESSAGE :: FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: FieldDescriptorProto'TYPE_SFIXED32 :: FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: FieldDescriptorProto'TYPE_SFIXED64 :: FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: FieldDescriptorProto'TYPE_SINT32 :: FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: FieldDescriptorProto'TYPE_SINT64 :: FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: FieldDescriptorProto'TYPE_STRING :: FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: FieldDescriptorProto'TYPE_UINT32 :: FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: FieldDescriptorProto'TYPE_UINT64 :: FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: FieldOptions :: !(Maybe FieldOptions'CType) -> !(Maybe Bool) -> !(Maybe FieldOptions'JSType) -> !(Maybe Bool) -> !(Maybe Bool) -> !(Maybe Bool) -> ![UninterpretedOption] -> !FieldSet -> FieldOptions
+ Proto.Google.Protobuf.Descriptor: FieldOptions'CORD :: FieldOptions'CType
+ Proto.Google.Protobuf.Descriptor: FieldOptions'JS_NORMAL :: FieldOptions'JSType
+ Proto.Google.Protobuf.Descriptor: FieldOptions'JS_NUMBER :: FieldOptions'JSType
+ Proto.Google.Protobuf.Descriptor: FieldOptions'JS_STRING :: FieldOptions'JSType
+ Proto.Google.Protobuf.Descriptor: FieldOptions'STRING :: FieldOptions'CType
+ Proto.Google.Protobuf.Descriptor: FieldOptions'STRING_PIECE :: FieldOptions'CType
+ Proto.Google.Protobuf.Descriptor: FileDescriptorProto :: !(Maybe Text) -> !(Maybe Text) -> ![Text] -> ![Int32] -> ![Int32] -> ![DescriptorProto] -> ![EnumDescriptorProto] -> ![ServiceDescriptorProto] -> ![FieldDescriptorProto] -> !(Maybe FileOptions) -> !(Maybe SourceCodeInfo) -> !(Maybe Text) -> !FieldSet -> FileDescriptorProto
+ Proto.Google.Protobuf.Descriptor: FileDescriptorSet :: ![FileDescriptorProto] -> !FieldSet -> FileDescriptorSet
+ Proto.Google.Protobuf.Descriptor: FileOptions :: !(Maybe Text) -> !(Maybe Text) -> !(Maybe Bool) -> !(Maybe Bool) -> !(Maybe Bool) -> !(Maybe FileOptions'OptimizeMode) -> !(Maybe Text) -> !(Maybe Bool) -> !(Maybe Bool) -> !(Maybe Bool) -> !(Maybe Bool) -> !(Maybe Bool) -> !(Maybe Text) -> !(Maybe Text) -> ![UninterpretedOption] -> !FieldSet -> FileOptions
+ Proto.Google.Protobuf.Descriptor: FileOptions'CODE_SIZE :: FileOptions'OptimizeMode
+ Proto.Google.Protobuf.Descriptor: FileOptions'LITE_RUNTIME :: FileOptions'OptimizeMode
+ Proto.Google.Protobuf.Descriptor: FileOptions'SPEED :: FileOptions'OptimizeMode
+ Proto.Google.Protobuf.Descriptor: GeneratedCodeInfo :: ![GeneratedCodeInfo'Annotation] -> !FieldSet -> GeneratedCodeInfo
+ Proto.Google.Protobuf.Descriptor: GeneratedCodeInfo'Annotation :: ![Int32] -> !(Maybe Text) -> !(Maybe Int32) -> !(Maybe Int32) -> !FieldSet -> GeneratedCodeInfo'Annotation
+ Proto.Google.Protobuf.Descriptor: MessageOptions :: !(Maybe Bool) -> !(Maybe Bool) -> !(Maybe Bool) -> !(Maybe Bool) -> ![UninterpretedOption] -> !FieldSet -> MessageOptions
+ Proto.Google.Protobuf.Descriptor: MethodDescriptorProto :: !(Maybe Text) -> !(Maybe Text) -> !(Maybe Text) -> !(Maybe MethodOptions) -> !(Maybe Bool) -> !(Maybe Bool) -> !FieldSet -> MethodDescriptorProto
+ Proto.Google.Protobuf.Descriptor: MethodOptions :: !(Maybe Bool) -> ![UninterpretedOption] -> !FieldSet -> MethodOptions
+ Proto.Google.Protobuf.Descriptor: OneofDescriptorProto :: !(Maybe Text) -> !FieldSet -> OneofDescriptorProto
+ Proto.Google.Protobuf.Descriptor: ServiceDescriptorProto :: !(Maybe Text) -> ![MethodDescriptorProto] -> !(Maybe ServiceOptions) -> !FieldSet -> ServiceDescriptorProto
+ Proto.Google.Protobuf.Descriptor: ServiceOptions :: !(Maybe Bool) -> ![UninterpretedOption] -> !FieldSet -> ServiceOptions
+ Proto.Google.Protobuf.Descriptor: SourceCodeInfo :: ![SourceCodeInfo'Location] -> !FieldSet -> SourceCodeInfo
+ Proto.Google.Protobuf.Descriptor: SourceCodeInfo'Location :: ![Int32] -> ![Int32] -> !(Maybe Text) -> !(Maybe Text) -> ![Text] -> !FieldSet -> SourceCodeInfo'Location
+ Proto.Google.Protobuf.Descriptor: UninterpretedOption :: ![UninterpretedOption'NamePart] -> !(Maybe Text) -> !(Maybe Word64) -> !(Maybe Int64) -> !(Maybe Double) -> !(Maybe ByteString) -> !(Maybe Text) -> !FieldSet -> UninterpretedOption
+ Proto.Google.Protobuf.Descriptor: UninterpretedOption'NamePart :: !Text -> !Bool -> !FieldSet -> UninterpretedOption'NamePart
+ Proto.Google.Protobuf.Descriptor: [_DescriptorProto'ExtensionRange'_unknownFields] :: DescriptorProto'ExtensionRange -> !FieldSet
+ Proto.Google.Protobuf.Descriptor: [_DescriptorProto'ExtensionRange'end] :: DescriptorProto'ExtensionRange -> !(Maybe Int32)
+ Proto.Google.Protobuf.Descriptor: [_DescriptorProto'ExtensionRange'start] :: DescriptorProto'ExtensionRange -> !(Maybe Int32)
+ Proto.Google.Protobuf.Descriptor: [_DescriptorProto'ReservedRange'_unknownFields] :: DescriptorProto'ReservedRange -> !FieldSet
+ Proto.Google.Protobuf.Descriptor: [_DescriptorProto'ReservedRange'end] :: DescriptorProto'ReservedRange -> !(Maybe Int32)
+ Proto.Google.Protobuf.Descriptor: [_DescriptorProto'ReservedRange'start] :: DescriptorProto'ReservedRange -> !(Maybe Int32)
+ Proto.Google.Protobuf.Descriptor: [_DescriptorProto'_unknownFields] :: DescriptorProto -> !FieldSet
+ Proto.Google.Protobuf.Descriptor: [_DescriptorProto'enumType] :: DescriptorProto -> ![EnumDescriptorProto]
+ Proto.Google.Protobuf.Descriptor: [_DescriptorProto'extensionRange] :: DescriptorProto -> ![DescriptorProto'ExtensionRange]
+ Proto.Google.Protobuf.Descriptor: [_DescriptorProto'extension] :: DescriptorProto -> ![FieldDescriptorProto]
+ Proto.Google.Protobuf.Descriptor: [_DescriptorProto'field] :: DescriptorProto -> ![FieldDescriptorProto]
+ Proto.Google.Protobuf.Descriptor: [_DescriptorProto'name] :: DescriptorProto -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_DescriptorProto'nestedType] :: DescriptorProto -> ![DescriptorProto]
+ Proto.Google.Protobuf.Descriptor: [_DescriptorProto'oneofDecl] :: DescriptorProto -> ![OneofDescriptorProto]
+ Proto.Google.Protobuf.Descriptor: [_DescriptorProto'options] :: DescriptorProto -> !(Maybe MessageOptions)
+ Proto.Google.Protobuf.Descriptor: [_DescriptorProto'reservedName] :: DescriptorProto -> ![Text]
+ Proto.Google.Protobuf.Descriptor: [_DescriptorProto'reservedRange] :: DescriptorProto -> ![DescriptorProto'ReservedRange]
+ Proto.Google.Protobuf.Descriptor: [_EnumDescriptorProto'_unknownFields] :: EnumDescriptorProto -> !FieldSet
+ Proto.Google.Protobuf.Descriptor: [_EnumDescriptorProto'name] :: EnumDescriptorProto -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_EnumDescriptorProto'options] :: EnumDescriptorProto -> !(Maybe EnumOptions)
+ Proto.Google.Protobuf.Descriptor: [_EnumDescriptorProto'value] :: EnumDescriptorProto -> ![EnumValueDescriptorProto]
+ Proto.Google.Protobuf.Descriptor: [_EnumOptions'_unknownFields] :: EnumOptions -> !FieldSet
+ Proto.Google.Protobuf.Descriptor: [_EnumOptions'allowAlias] :: EnumOptions -> !(Maybe Bool)
+ Proto.Google.Protobuf.Descriptor: [_EnumOptions'deprecated] :: EnumOptions -> !(Maybe Bool)
+ Proto.Google.Protobuf.Descriptor: [_EnumOptions'uninterpretedOption] :: EnumOptions -> ![UninterpretedOption]
+ Proto.Google.Protobuf.Descriptor: [_EnumValueDescriptorProto'_unknownFields] :: EnumValueDescriptorProto -> !FieldSet
+ Proto.Google.Protobuf.Descriptor: [_EnumValueDescriptorProto'name] :: EnumValueDescriptorProto -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_EnumValueDescriptorProto'number] :: EnumValueDescriptorProto -> !(Maybe Int32)
+ Proto.Google.Protobuf.Descriptor: [_EnumValueDescriptorProto'options] :: EnumValueDescriptorProto -> !(Maybe EnumValueOptions)
+ Proto.Google.Protobuf.Descriptor: [_EnumValueOptions'_unknownFields] :: EnumValueOptions -> !FieldSet
+ Proto.Google.Protobuf.Descriptor: [_EnumValueOptions'deprecated] :: EnumValueOptions -> !(Maybe Bool)
+ Proto.Google.Protobuf.Descriptor: [_EnumValueOptions'uninterpretedOption] :: EnumValueOptions -> ![UninterpretedOption]
+ Proto.Google.Protobuf.Descriptor: [_FieldDescriptorProto'_unknownFields] :: FieldDescriptorProto -> !FieldSet
+ Proto.Google.Protobuf.Descriptor: [_FieldDescriptorProto'defaultValue] :: FieldDescriptorProto -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_FieldDescriptorProto'extendee] :: FieldDescriptorProto -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_FieldDescriptorProto'jsonName] :: FieldDescriptorProto -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_FieldDescriptorProto'label] :: FieldDescriptorProto -> !(Maybe FieldDescriptorProto'Label)
+ Proto.Google.Protobuf.Descriptor: [_FieldDescriptorProto'name] :: FieldDescriptorProto -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_FieldDescriptorProto'number] :: FieldDescriptorProto -> !(Maybe Int32)
+ Proto.Google.Protobuf.Descriptor: [_FieldDescriptorProto'oneofIndex] :: FieldDescriptorProto -> !(Maybe Int32)
+ Proto.Google.Protobuf.Descriptor: [_FieldDescriptorProto'options] :: FieldDescriptorProto -> !(Maybe FieldOptions)
+ Proto.Google.Protobuf.Descriptor: [_FieldDescriptorProto'type'] :: FieldDescriptorProto -> !(Maybe FieldDescriptorProto'Type)
+ Proto.Google.Protobuf.Descriptor: [_FieldDescriptorProto'typeName] :: FieldDescriptorProto -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_FieldOptions'_unknownFields] :: FieldOptions -> !FieldSet
+ Proto.Google.Protobuf.Descriptor: [_FieldOptions'ctype] :: FieldOptions -> !(Maybe FieldOptions'CType)
+ Proto.Google.Protobuf.Descriptor: [_FieldOptions'deprecated] :: FieldOptions -> !(Maybe Bool)
+ Proto.Google.Protobuf.Descriptor: [_FieldOptions'jstype] :: FieldOptions -> !(Maybe FieldOptions'JSType)
+ Proto.Google.Protobuf.Descriptor: [_FieldOptions'lazy] :: FieldOptions -> !(Maybe Bool)
+ Proto.Google.Protobuf.Descriptor: [_FieldOptions'packed] :: FieldOptions -> !(Maybe Bool)
+ Proto.Google.Protobuf.Descriptor: [_FieldOptions'uninterpretedOption] :: FieldOptions -> ![UninterpretedOption]
+ Proto.Google.Protobuf.Descriptor: [_FieldOptions'weak] :: FieldOptions -> !(Maybe Bool)
+ Proto.Google.Protobuf.Descriptor: [_FileDescriptorProto'_unknownFields] :: FileDescriptorProto -> !FieldSet
+ Proto.Google.Protobuf.Descriptor: [_FileDescriptorProto'dependency] :: FileDescriptorProto -> ![Text]
+ Proto.Google.Protobuf.Descriptor: [_FileDescriptorProto'enumType] :: FileDescriptorProto -> ![EnumDescriptorProto]
+ Proto.Google.Protobuf.Descriptor: [_FileDescriptorProto'extension] :: FileDescriptorProto -> ![FieldDescriptorProto]
+ Proto.Google.Protobuf.Descriptor: [_FileDescriptorProto'messageType] :: FileDescriptorProto -> ![DescriptorProto]
+ Proto.Google.Protobuf.Descriptor: [_FileDescriptorProto'name] :: FileDescriptorProto -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_FileDescriptorProto'options] :: FileDescriptorProto -> !(Maybe FileOptions)
+ Proto.Google.Protobuf.Descriptor: [_FileDescriptorProto'package] :: FileDescriptorProto -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_FileDescriptorProto'publicDependency] :: FileDescriptorProto -> ![Int32]
+ Proto.Google.Protobuf.Descriptor: [_FileDescriptorProto'service] :: FileDescriptorProto -> ![ServiceDescriptorProto]
+ Proto.Google.Protobuf.Descriptor: [_FileDescriptorProto'sourceCodeInfo] :: FileDescriptorProto -> !(Maybe SourceCodeInfo)
+ Proto.Google.Protobuf.Descriptor: [_FileDescriptorProto'syntax] :: FileDescriptorProto -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_FileDescriptorProto'weakDependency] :: FileDescriptorProto -> ![Int32]
+ Proto.Google.Protobuf.Descriptor: [_FileDescriptorSet'_unknownFields] :: FileDescriptorSet -> !FieldSet
+ Proto.Google.Protobuf.Descriptor: [_FileDescriptorSet'file] :: FileDescriptorSet -> ![FileDescriptorProto]
+ Proto.Google.Protobuf.Descriptor: [_FileOptions'_unknownFields] :: FileOptions -> !FieldSet
+ Proto.Google.Protobuf.Descriptor: [_FileOptions'ccEnableArenas] :: FileOptions -> !(Maybe Bool)
+ Proto.Google.Protobuf.Descriptor: [_FileOptions'ccGenericServices] :: FileOptions -> !(Maybe Bool)
+ Proto.Google.Protobuf.Descriptor: [_FileOptions'csharpNamespace] :: FileOptions -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_FileOptions'deprecated] :: FileOptions -> !(Maybe Bool)
+ Proto.Google.Protobuf.Descriptor: [_FileOptions'goPackage] :: FileOptions -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_FileOptions'javaGenerateEqualsAndHash] :: FileOptions -> !(Maybe Bool)
+ Proto.Google.Protobuf.Descriptor: [_FileOptions'javaGenericServices] :: FileOptions -> !(Maybe Bool)
+ Proto.Google.Protobuf.Descriptor: [_FileOptions'javaMultipleFiles] :: FileOptions -> !(Maybe Bool)
+ Proto.Google.Protobuf.Descriptor: [_FileOptions'javaOuterClassname] :: FileOptions -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_FileOptions'javaPackage] :: FileOptions -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_FileOptions'javaStringCheckUtf8] :: FileOptions -> !(Maybe Bool)
+ Proto.Google.Protobuf.Descriptor: [_FileOptions'objcClassPrefix] :: FileOptions -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_FileOptions'optimizeFor] :: FileOptions -> !(Maybe FileOptions'OptimizeMode)
+ Proto.Google.Protobuf.Descriptor: [_FileOptions'pyGenericServices] :: FileOptions -> !(Maybe Bool)
+ Proto.Google.Protobuf.Descriptor: [_FileOptions'uninterpretedOption] :: FileOptions -> ![UninterpretedOption]
+ Proto.Google.Protobuf.Descriptor: [_GeneratedCodeInfo'Annotation'_unknownFields] :: GeneratedCodeInfo'Annotation -> !FieldSet
+ Proto.Google.Protobuf.Descriptor: [_GeneratedCodeInfo'Annotation'begin] :: GeneratedCodeInfo'Annotation -> !(Maybe Int32)
+ Proto.Google.Protobuf.Descriptor: [_GeneratedCodeInfo'Annotation'end] :: GeneratedCodeInfo'Annotation -> !(Maybe Int32)
+ Proto.Google.Protobuf.Descriptor: [_GeneratedCodeInfo'Annotation'path] :: GeneratedCodeInfo'Annotation -> ![Int32]
+ Proto.Google.Protobuf.Descriptor: [_GeneratedCodeInfo'Annotation'sourceFile] :: GeneratedCodeInfo'Annotation -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_GeneratedCodeInfo'_unknownFields] :: GeneratedCodeInfo -> !FieldSet
+ Proto.Google.Protobuf.Descriptor: [_GeneratedCodeInfo'annotation] :: GeneratedCodeInfo -> ![GeneratedCodeInfo'Annotation]
+ Proto.Google.Protobuf.Descriptor: [_MessageOptions'_unknownFields] :: MessageOptions -> !FieldSet
+ Proto.Google.Protobuf.Descriptor: [_MessageOptions'deprecated] :: MessageOptions -> !(Maybe Bool)
+ Proto.Google.Protobuf.Descriptor: [_MessageOptions'mapEntry] :: MessageOptions -> !(Maybe Bool)
+ Proto.Google.Protobuf.Descriptor: [_MessageOptions'messageSetWireFormat] :: MessageOptions -> !(Maybe Bool)
+ Proto.Google.Protobuf.Descriptor: [_MessageOptions'noStandardDescriptorAccessor] :: MessageOptions -> !(Maybe Bool)
+ Proto.Google.Protobuf.Descriptor: [_MessageOptions'uninterpretedOption] :: MessageOptions -> ![UninterpretedOption]
+ Proto.Google.Protobuf.Descriptor: [_MethodDescriptorProto'_unknownFields] :: MethodDescriptorProto -> !FieldSet
+ Proto.Google.Protobuf.Descriptor: [_MethodDescriptorProto'clientStreaming] :: MethodDescriptorProto -> !(Maybe Bool)
+ Proto.Google.Protobuf.Descriptor: [_MethodDescriptorProto'inputType] :: MethodDescriptorProto -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_MethodDescriptorProto'name] :: MethodDescriptorProto -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_MethodDescriptorProto'options] :: MethodDescriptorProto -> !(Maybe MethodOptions)
+ Proto.Google.Protobuf.Descriptor: [_MethodDescriptorProto'outputType] :: MethodDescriptorProto -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_MethodDescriptorProto'serverStreaming] :: MethodDescriptorProto -> !(Maybe Bool)
+ Proto.Google.Protobuf.Descriptor: [_MethodOptions'_unknownFields] :: MethodOptions -> !FieldSet
+ Proto.Google.Protobuf.Descriptor: [_MethodOptions'deprecated] :: MethodOptions -> !(Maybe Bool)
+ Proto.Google.Protobuf.Descriptor: [_MethodOptions'uninterpretedOption] :: MethodOptions -> ![UninterpretedOption]
+ Proto.Google.Protobuf.Descriptor: [_OneofDescriptorProto'_unknownFields] :: OneofDescriptorProto -> !FieldSet
+ Proto.Google.Protobuf.Descriptor: [_OneofDescriptorProto'name] :: OneofDescriptorProto -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_ServiceDescriptorProto'_unknownFields] :: ServiceDescriptorProto -> !FieldSet
+ Proto.Google.Protobuf.Descriptor: [_ServiceDescriptorProto'method] :: ServiceDescriptorProto -> ![MethodDescriptorProto]
+ Proto.Google.Protobuf.Descriptor: [_ServiceDescriptorProto'name] :: ServiceDescriptorProto -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_ServiceDescriptorProto'options] :: ServiceDescriptorProto -> !(Maybe ServiceOptions)
+ Proto.Google.Protobuf.Descriptor: [_ServiceOptions'_unknownFields] :: ServiceOptions -> !FieldSet
+ Proto.Google.Protobuf.Descriptor: [_ServiceOptions'deprecated] :: ServiceOptions -> !(Maybe Bool)
+ Proto.Google.Protobuf.Descriptor: [_ServiceOptions'uninterpretedOption] :: ServiceOptions -> ![UninterpretedOption]
+ Proto.Google.Protobuf.Descriptor: [_SourceCodeInfo'Location'_unknownFields] :: SourceCodeInfo'Location -> !FieldSet
+ Proto.Google.Protobuf.Descriptor: [_SourceCodeInfo'Location'leadingComments] :: SourceCodeInfo'Location -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_SourceCodeInfo'Location'leadingDetachedComments] :: SourceCodeInfo'Location -> ![Text]
+ Proto.Google.Protobuf.Descriptor: [_SourceCodeInfo'Location'path] :: SourceCodeInfo'Location -> ![Int32]
+ Proto.Google.Protobuf.Descriptor: [_SourceCodeInfo'Location'span] :: SourceCodeInfo'Location -> ![Int32]
+ Proto.Google.Protobuf.Descriptor: [_SourceCodeInfo'Location'trailingComments] :: SourceCodeInfo'Location -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_SourceCodeInfo'_unknownFields] :: SourceCodeInfo -> !FieldSet
+ Proto.Google.Protobuf.Descriptor: [_SourceCodeInfo'location] :: SourceCodeInfo -> ![SourceCodeInfo'Location]
+ Proto.Google.Protobuf.Descriptor: [_UninterpretedOption'NamePart'_unknownFields] :: UninterpretedOption'NamePart -> !FieldSet
+ Proto.Google.Protobuf.Descriptor: [_UninterpretedOption'NamePart'isExtension] :: UninterpretedOption'NamePart -> !Bool
+ Proto.Google.Protobuf.Descriptor: [_UninterpretedOption'NamePart'namePart] :: UninterpretedOption'NamePart -> !Text
+ Proto.Google.Protobuf.Descriptor: [_UninterpretedOption'_unknownFields] :: UninterpretedOption -> !FieldSet
+ Proto.Google.Protobuf.Descriptor: [_UninterpretedOption'aggregateValue] :: UninterpretedOption -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_UninterpretedOption'doubleValue] :: UninterpretedOption -> !(Maybe Double)
+ Proto.Google.Protobuf.Descriptor: [_UninterpretedOption'identifierValue] :: UninterpretedOption -> !(Maybe Text)
+ Proto.Google.Protobuf.Descriptor: [_UninterpretedOption'name] :: UninterpretedOption -> ![UninterpretedOption'NamePart]
+ Proto.Google.Protobuf.Descriptor: [_UninterpretedOption'negativeIntValue] :: UninterpretedOption -> !(Maybe Int64)
+ Proto.Google.Protobuf.Descriptor: [_UninterpretedOption'positiveIntValue] :: UninterpretedOption -> !(Maybe Word64)
+ Proto.Google.Protobuf.Descriptor: [_UninterpretedOption'stringValue] :: UninterpretedOption -> !(Maybe ByteString)
+ Proto.Google.Protobuf.Descriptor: data DescriptorProto
+ Proto.Google.Protobuf.Descriptor: data DescriptorProto'ExtensionRange
+ Proto.Google.Protobuf.Descriptor: data DescriptorProto'ReservedRange
+ Proto.Google.Protobuf.Descriptor: data EnumDescriptorProto
+ Proto.Google.Protobuf.Descriptor: data EnumOptions
+ Proto.Google.Protobuf.Descriptor: data EnumValueDescriptorProto
+ Proto.Google.Protobuf.Descriptor: data EnumValueOptions
+ Proto.Google.Protobuf.Descriptor: data FieldDescriptorProto
+ Proto.Google.Protobuf.Descriptor: data FieldDescriptorProto'Label
+ Proto.Google.Protobuf.Descriptor: data FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: data FieldOptions
+ Proto.Google.Protobuf.Descriptor: data FieldOptions'CType
+ Proto.Google.Protobuf.Descriptor: data FieldOptions'JSType
+ Proto.Google.Protobuf.Descriptor: data FileDescriptorProto
+ Proto.Google.Protobuf.Descriptor: data FileDescriptorSet
+ Proto.Google.Protobuf.Descriptor: data FileOptions
+ Proto.Google.Protobuf.Descriptor: data FileOptions'OptimizeMode
+ Proto.Google.Protobuf.Descriptor: data GeneratedCodeInfo
+ Proto.Google.Protobuf.Descriptor: data GeneratedCodeInfo'Annotation
+ Proto.Google.Protobuf.Descriptor: data MessageOptions
+ Proto.Google.Protobuf.Descriptor: data MethodDescriptorProto
+ Proto.Google.Protobuf.Descriptor: data MethodOptions
+ Proto.Google.Protobuf.Descriptor: data OneofDescriptorProto
+ Proto.Google.Protobuf.Descriptor: data ServiceDescriptorProto
+ Proto.Google.Protobuf.Descriptor: data ServiceOptions
+ Proto.Google.Protobuf.Descriptor: data SourceCodeInfo
+ Proto.Google.Protobuf.Descriptor: data SourceCodeInfo'Location
+ Proto.Google.Protobuf.Descriptor: data UninterpretedOption
+ Proto.Google.Protobuf.Descriptor: data UninterpretedOption'NamePart
+ Proto.Google.Protobuf.Descriptor: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.DescriptorProto x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Descriptor.DescriptorProto Proto.Google.Protobuf.Descriptor.DescriptorProto x a b
+ Proto.Google.Protobuf.Descriptor: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.DescriptorProto'ExtensionRange x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Descriptor.DescriptorProto'ExtensionRange Proto.Google.Protobuf.Descriptor.DescriptorProto'ExtensionRange x a b
+ Proto.Google.Protobuf.Descriptor: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.DescriptorProto'ReservedRange x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Descriptor.DescriptorProto'ReservedRange Proto.Google.Protobuf.Descriptor.DescriptorProto'ReservedRange x a b
+ Proto.Google.Protobuf.Descriptor: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.EnumDescriptorProto x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Descriptor.EnumDescriptorProto Proto.Google.Protobuf.Descriptor.EnumDescriptorProto x a b
+ Proto.Google.Protobuf.Descriptor: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.EnumOptions x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Descriptor.EnumOptions Proto.Google.Protobuf.Descriptor.EnumOptions x a b
+ Proto.Google.Protobuf.Descriptor: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.EnumValueDescriptorProto x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Descriptor.EnumValueDescriptorProto Proto.Google.Protobuf.Descriptor.EnumValueDescriptorProto x a b
+ Proto.Google.Protobuf.Descriptor: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.EnumValueOptions x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Descriptor.EnumValueOptions Proto.Google.Protobuf.Descriptor.EnumValueOptions x a b
+ Proto.Google.Protobuf.Descriptor: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldDescriptorProto x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Descriptor.FieldDescriptorProto Proto.Google.Protobuf.Descriptor.FieldDescriptorProto x a b
+ Proto.Google.Protobuf.Descriptor: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldOptions x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Descriptor.FieldOptions Proto.Google.Protobuf.Descriptor.FieldOptions x a b
+ Proto.Google.Protobuf.Descriptor: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileDescriptorProto x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Descriptor.FileDescriptorProto Proto.Google.Protobuf.Descriptor.FileDescriptorProto x a b
+ Proto.Google.Protobuf.Descriptor: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileDescriptorSet x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Descriptor.FileDescriptorSet Proto.Google.Protobuf.Descriptor.FileDescriptorSet x a b
+ Proto.Google.Protobuf.Descriptor: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Descriptor.FileOptions Proto.Google.Protobuf.Descriptor.FileOptions x a b
+ Proto.Google.Protobuf.Descriptor: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo x a b
+ Proto.Google.Protobuf.Descriptor: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo'Annotation x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo'Annotation Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo'Annotation x a b
+ Proto.Google.Protobuf.Descriptor: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MessageOptions x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Descriptor.MessageOptions Proto.Google.Protobuf.Descriptor.MessageOptions x a b
+ Proto.Google.Protobuf.Descriptor: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MethodDescriptorProto x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Descriptor.MethodDescriptorProto Proto.Google.Protobuf.Descriptor.MethodDescriptorProto x a b
+ Proto.Google.Protobuf.Descriptor: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MethodOptions x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Descriptor.MethodOptions Proto.Google.Protobuf.Descriptor.MethodOptions x a b
+ Proto.Google.Protobuf.Descriptor: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.OneofDescriptorProto x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Descriptor.OneofDescriptorProto Proto.Google.Protobuf.Descriptor.OneofDescriptorProto x a b
+ Proto.Google.Protobuf.Descriptor: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.ServiceDescriptorProto x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Descriptor.ServiceDescriptorProto Proto.Google.Protobuf.Descriptor.ServiceDescriptorProto x a b
+ Proto.Google.Protobuf.Descriptor: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.ServiceOptions x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Descriptor.ServiceOptions Proto.Google.Protobuf.Descriptor.ServiceOptions x a b
+ Proto.Google.Protobuf.Descriptor: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.SourceCodeInfo x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Descriptor.SourceCodeInfo Proto.Google.Protobuf.Descriptor.SourceCodeInfo x a b
+ Proto.Google.Protobuf.Descriptor: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.SourceCodeInfo'Location x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Descriptor.SourceCodeInfo'Location Proto.Google.Protobuf.Descriptor.SourceCodeInfo'Location x a b
+ Proto.Google.Protobuf.Descriptor: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.UninterpretedOption x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Descriptor.UninterpretedOption Proto.Google.Protobuf.Descriptor.UninterpretedOption x a b
+ Proto.Google.Protobuf.Descriptor: instance (Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.UninterpretedOption'NamePart x a, a ~ b) => Lens.Labels.HasLens f Proto.Google.Protobuf.Descriptor.UninterpretedOption'NamePart Proto.Google.Protobuf.Descriptor.UninterpretedOption'NamePart x a b
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.DescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.DescriptorProto'ExtensionRange
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.DescriptorProto'ReservedRange
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.EnumDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.EnumOptions
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.EnumValueDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.EnumValueOptions
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.FieldDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.FieldDescriptorProto'Label
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.FieldOptions
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.FieldOptions'CType
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.FieldOptions'JSType
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.FileDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.FileDescriptorSet
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.FileOptions
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.FileOptions'OptimizeMode
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo'Annotation
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.MessageOptions
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.MethodDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.MethodOptions
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.OneofDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.ServiceDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.ServiceOptions
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.SourceCodeInfo
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.SourceCodeInfo'Location
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.UninterpretedOption
+ Proto.Google.Protobuf.Descriptor: instance Data.Default.Class.Default Proto.Google.Protobuf.Descriptor.UninterpretedOption'NamePart
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.FieldDefault Proto.Google.Protobuf.Descriptor.FieldDescriptorProto'Label
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.FieldDefault Proto.Google.Protobuf.Descriptor.FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.FieldDefault Proto.Google.Protobuf.Descriptor.FieldOptions'CType
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.FieldDefault Proto.Google.Protobuf.Descriptor.FieldOptions'JSType
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.FieldDefault Proto.Google.Protobuf.Descriptor.FileOptions'OptimizeMode
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Descriptor.DescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Descriptor.DescriptorProto'ExtensionRange
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Descriptor.DescriptorProto'ReservedRange
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Descriptor.EnumDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Descriptor.EnumOptions
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Descriptor.EnumValueDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Descriptor.EnumValueOptions
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Descriptor.FieldDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Descriptor.FieldOptions
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Descriptor.FileDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Descriptor.FileDescriptorSet
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Descriptor.FileOptions
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo'Annotation
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Descriptor.MessageOptions
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Descriptor.MethodDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Descriptor.MethodOptions
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Descriptor.OneofDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Descriptor.ServiceDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Descriptor.ServiceOptions
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Descriptor.SourceCodeInfo
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Descriptor.SourceCodeInfo'Location
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Descriptor.UninterpretedOption
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.Message Proto.Google.Protobuf.Descriptor.UninterpretedOption'NamePart
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.MessageEnum Proto.Google.Protobuf.Descriptor.FieldDescriptorProto'Label
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.MessageEnum Proto.Google.Protobuf.Descriptor.FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.MessageEnum Proto.Google.Protobuf.Descriptor.FieldOptions'CType
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.MessageEnum Proto.Google.Protobuf.Descriptor.FieldOptions'JSType
+ Proto.Google.Protobuf.Descriptor: instance Data.ProtoLens.Message.MessageEnum Proto.Google.Protobuf.Descriptor.FileOptions'OptimizeMode
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.DescriptorProto "enumType" [Proto.Google.Protobuf.Descriptor.EnumDescriptorProto]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.DescriptorProto "extension" [Proto.Google.Protobuf.Descriptor.FieldDescriptorProto]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.DescriptorProto "extensionRange" [Proto.Google.Protobuf.Descriptor.DescriptorProto'ExtensionRange]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.DescriptorProto "field" [Proto.Google.Protobuf.Descriptor.FieldDescriptorProto]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.DescriptorProto "maybe'name" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.DescriptorProto "maybe'options" (GHC.Base.Maybe Proto.Google.Protobuf.Descriptor.MessageOptions)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.DescriptorProto "name" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.DescriptorProto "nestedType" [Proto.Google.Protobuf.Descriptor.DescriptorProto]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.DescriptorProto "oneofDecl" [Proto.Google.Protobuf.Descriptor.OneofDescriptorProto]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.DescriptorProto "options" Proto.Google.Protobuf.Descriptor.MessageOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.DescriptorProto "reservedName" [Data.Text.Internal.Text]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.DescriptorProto "reservedRange" [Proto.Google.Protobuf.Descriptor.DescriptorProto'ReservedRange]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.DescriptorProto'ExtensionRange "end" GHC.Int.Int32
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.DescriptorProto'ExtensionRange "maybe'end" (GHC.Base.Maybe GHC.Int.Int32)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.DescriptorProto'ExtensionRange "maybe'start" (GHC.Base.Maybe GHC.Int.Int32)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.DescriptorProto'ExtensionRange "start" GHC.Int.Int32
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.DescriptorProto'ReservedRange "end" GHC.Int.Int32
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.DescriptorProto'ReservedRange "maybe'end" (GHC.Base.Maybe GHC.Int.Int32)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.DescriptorProto'ReservedRange "maybe'start" (GHC.Base.Maybe GHC.Int.Int32)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.DescriptorProto'ReservedRange "start" GHC.Int.Int32
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.EnumDescriptorProto "maybe'name" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.EnumDescriptorProto "maybe'options" (GHC.Base.Maybe Proto.Google.Protobuf.Descriptor.EnumOptions)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.EnumDescriptorProto "name" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.EnumDescriptorProto "options" Proto.Google.Protobuf.Descriptor.EnumOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.EnumDescriptorProto "value" [Proto.Google.Protobuf.Descriptor.EnumValueDescriptorProto]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.EnumOptions "allowAlias" GHC.Types.Bool
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.EnumOptions "deprecated" GHC.Types.Bool
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.EnumOptions "maybe'allowAlias" (GHC.Base.Maybe GHC.Types.Bool)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.EnumOptions "maybe'deprecated" (GHC.Base.Maybe GHC.Types.Bool)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.EnumOptions "uninterpretedOption" [Proto.Google.Protobuf.Descriptor.UninterpretedOption]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.EnumValueDescriptorProto "maybe'name" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.EnumValueDescriptorProto "maybe'number" (GHC.Base.Maybe GHC.Int.Int32)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.EnumValueDescriptorProto "maybe'options" (GHC.Base.Maybe Proto.Google.Protobuf.Descriptor.EnumValueOptions)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.EnumValueDescriptorProto "name" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.EnumValueDescriptorProto "number" GHC.Int.Int32
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.EnumValueDescriptorProto "options" Proto.Google.Protobuf.Descriptor.EnumValueOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.EnumValueOptions "deprecated" GHC.Types.Bool
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.EnumValueOptions "maybe'deprecated" (GHC.Base.Maybe GHC.Types.Bool)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.EnumValueOptions "uninterpretedOption" [Proto.Google.Protobuf.Descriptor.UninterpretedOption]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldDescriptorProto "defaultValue" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldDescriptorProto "extendee" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldDescriptorProto "jsonName" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldDescriptorProto "label" Proto.Google.Protobuf.Descriptor.FieldDescriptorProto'Label
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldDescriptorProto "maybe'defaultValue" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldDescriptorProto "maybe'extendee" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldDescriptorProto "maybe'jsonName" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldDescriptorProto "maybe'label" (GHC.Base.Maybe Proto.Google.Protobuf.Descriptor.FieldDescriptorProto'Label)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldDescriptorProto "maybe'name" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldDescriptorProto "maybe'number" (GHC.Base.Maybe GHC.Int.Int32)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldDescriptorProto "maybe'oneofIndex" (GHC.Base.Maybe GHC.Int.Int32)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldDescriptorProto "maybe'options" (GHC.Base.Maybe Proto.Google.Protobuf.Descriptor.FieldOptions)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldDescriptorProto "maybe'type'" (GHC.Base.Maybe Proto.Google.Protobuf.Descriptor.FieldDescriptorProto'Type)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldDescriptorProto "maybe'typeName" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldDescriptorProto "name" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldDescriptorProto "number" GHC.Int.Int32
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldDescriptorProto "oneofIndex" GHC.Int.Int32
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldDescriptorProto "options" Proto.Google.Protobuf.Descriptor.FieldOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldDescriptorProto "type'" Proto.Google.Protobuf.Descriptor.FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldDescriptorProto "typeName" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldOptions "ctype" Proto.Google.Protobuf.Descriptor.FieldOptions'CType
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldOptions "deprecated" GHC.Types.Bool
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldOptions "jstype" Proto.Google.Protobuf.Descriptor.FieldOptions'JSType
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldOptions "lazy" GHC.Types.Bool
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldOptions "maybe'ctype" (GHC.Base.Maybe Proto.Google.Protobuf.Descriptor.FieldOptions'CType)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldOptions "maybe'deprecated" (GHC.Base.Maybe GHC.Types.Bool)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldOptions "maybe'jstype" (GHC.Base.Maybe Proto.Google.Protobuf.Descriptor.FieldOptions'JSType)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldOptions "maybe'lazy" (GHC.Base.Maybe GHC.Types.Bool)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldOptions "maybe'packed" (GHC.Base.Maybe GHC.Types.Bool)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldOptions "maybe'weak" (GHC.Base.Maybe GHC.Types.Bool)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldOptions "packed" GHC.Types.Bool
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldOptions "uninterpretedOption" [Proto.Google.Protobuf.Descriptor.UninterpretedOption]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FieldOptions "weak" GHC.Types.Bool
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileDescriptorProto "dependency" [Data.Text.Internal.Text]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileDescriptorProto "enumType" [Proto.Google.Protobuf.Descriptor.EnumDescriptorProto]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileDescriptorProto "extension" [Proto.Google.Protobuf.Descriptor.FieldDescriptorProto]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileDescriptorProto "maybe'name" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileDescriptorProto "maybe'options" (GHC.Base.Maybe Proto.Google.Protobuf.Descriptor.FileOptions)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileDescriptorProto "maybe'package" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileDescriptorProto "maybe'sourceCodeInfo" (GHC.Base.Maybe Proto.Google.Protobuf.Descriptor.SourceCodeInfo)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileDescriptorProto "maybe'syntax" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileDescriptorProto "messageType" [Proto.Google.Protobuf.Descriptor.DescriptorProto]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileDescriptorProto "name" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileDescriptorProto "options" Proto.Google.Protobuf.Descriptor.FileOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileDescriptorProto "package" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileDescriptorProto "publicDependency" [GHC.Int.Int32]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileDescriptorProto "service" [Proto.Google.Protobuf.Descriptor.ServiceDescriptorProto]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileDescriptorProto "sourceCodeInfo" Proto.Google.Protobuf.Descriptor.SourceCodeInfo
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileDescriptorProto "syntax" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileDescriptorProto "weakDependency" [GHC.Int.Int32]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileDescriptorSet "file" [Proto.Google.Protobuf.Descriptor.FileDescriptorProto]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "ccEnableArenas" GHC.Types.Bool
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "ccGenericServices" GHC.Types.Bool
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "csharpNamespace" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "deprecated" GHC.Types.Bool
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "goPackage" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "javaGenerateEqualsAndHash" GHC.Types.Bool
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "javaGenericServices" GHC.Types.Bool
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "javaMultipleFiles" GHC.Types.Bool
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "javaOuterClassname" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "javaPackage" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "javaStringCheckUtf8" GHC.Types.Bool
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "maybe'ccEnableArenas" (GHC.Base.Maybe GHC.Types.Bool)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "maybe'ccGenericServices" (GHC.Base.Maybe GHC.Types.Bool)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "maybe'csharpNamespace" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "maybe'deprecated" (GHC.Base.Maybe GHC.Types.Bool)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "maybe'goPackage" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "maybe'javaGenerateEqualsAndHash" (GHC.Base.Maybe GHC.Types.Bool)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "maybe'javaGenericServices" (GHC.Base.Maybe GHC.Types.Bool)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "maybe'javaMultipleFiles" (GHC.Base.Maybe GHC.Types.Bool)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "maybe'javaOuterClassname" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "maybe'javaPackage" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "maybe'javaStringCheckUtf8" (GHC.Base.Maybe GHC.Types.Bool)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "maybe'objcClassPrefix" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "maybe'optimizeFor" (GHC.Base.Maybe Proto.Google.Protobuf.Descriptor.FileOptions'OptimizeMode)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "maybe'pyGenericServices" (GHC.Base.Maybe GHC.Types.Bool)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "objcClassPrefix" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "optimizeFor" Proto.Google.Protobuf.Descriptor.FileOptions'OptimizeMode
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "pyGenericServices" GHC.Types.Bool
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.FileOptions "uninterpretedOption" [Proto.Google.Protobuf.Descriptor.UninterpretedOption]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo "annotation" [Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo'Annotation]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo'Annotation "begin" GHC.Int.Int32
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo'Annotation "end" GHC.Int.Int32
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo'Annotation "maybe'begin" (GHC.Base.Maybe GHC.Int.Int32)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo'Annotation "maybe'end" (GHC.Base.Maybe GHC.Int.Int32)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo'Annotation "maybe'sourceFile" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo'Annotation "path" [GHC.Int.Int32]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo'Annotation "sourceFile" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MessageOptions "deprecated" GHC.Types.Bool
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MessageOptions "mapEntry" GHC.Types.Bool
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MessageOptions "maybe'deprecated" (GHC.Base.Maybe GHC.Types.Bool)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MessageOptions "maybe'mapEntry" (GHC.Base.Maybe GHC.Types.Bool)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MessageOptions "maybe'messageSetWireFormat" (GHC.Base.Maybe GHC.Types.Bool)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MessageOptions "maybe'noStandardDescriptorAccessor" (GHC.Base.Maybe GHC.Types.Bool)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MessageOptions "messageSetWireFormat" GHC.Types.Bool
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MessageOptions "noStandardDescriptorAccessor" GHC.Types.Bool
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MessageOptions "uninterpretedOption" [Proto.Google.Protobuf.Descriptor.UninterpretedOption]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MethodDescriptorProto "clientStreaming" GHC.Types.Bool
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MethodDescriptorProto "inputType" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MethodDescriptorProto "maybe'clientStreaming" (GHC.Base.Maybe GHC.Types.Bool)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MethodDescriptorProto "maybe'inputType" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MethodDescriptorProto "maybe'name" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MethodDescriptorProto "maybe'options" (GHC.Base.Maybe Proto.Google.Protobuf.Descriptor.MethodOptions)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MethodDescriptorProto "maybe'outputType" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MethodDescriptorProto "maybe'serverStreaming" (GHC.Base.Maybe GHC.Types.Bool)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MethodDescriptorProto "name" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MethodDescriptorProto "options" Proto.Google.Protobuf.Descriptor.MethodOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MethodDescriptorProto "outputType" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MethodDescriptorProto "serverStreaming" GHC.Types.Bool
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MethodOptions "deprecated" GHC.Types.Bool
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MethodOptions "maybe'deprecated" (GHC.Base.Maybe GHC.Types.Bool)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.MethodOptions "uninterpretedOption" [Proto.Google.Protobuf.Descriptor.UninterpretedOption]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.OneofDescriptorProto "maybe'name" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.OneofDescriptorProto "name" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.ServiceDescriptorProto "maybe'name" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.ServiceDescriptorProto "maybe'options" (GHC.Base.Maybe Proto.Google.Protobuf.Descriptor.ServiceOptions)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.ServiceDescriptorProto "method" [Proto.Google.Protobuf.Descriptor.MethodDescriptorProto]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.ServiceDescriptorProto "name" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.ServiceDescriptorProto "options" Proto.Google.Protobuf.Descriptor.ServiceOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.ServiceOptions "deprecated" GHC.Types.Bool
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.ServiceOptions "maybe'deprecated" (GHC.Base.Maybe GHC.Types.Bool)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.ServiceOptions "uninterpretedOption" [Proto.Google.Protobuf.Descriptor.UninterpretedOption]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.SourceCodeInfo "location" [Proto.Google.Protobuf.Descriptor.SourceCodeInfo'Location]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.SourceCodeInfo'Location "leadingComments" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.SourceCodeInfo'Location "leadingDetachedComments" [Data.Text.Internal.Text]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.SourceCodeInfo'Location "maybe'leadingComments" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.SourceCodeInfo'Location "maybe'trailingComments" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.SourceCodeInfo'Location "path" [GHC.Int.Int32]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.SourceCodeInfo'Location "span" [GHC.Int.Int32]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.SourceCodeInfo'Location "trailingComments" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.UninterpretedOption "aggregateValue" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.UninterpretedOption "doubleValue" GHC.Types.Double
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.UninterpretedOption "identifierValue" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.UninterpretedOption "maybe'aggregateValue" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.UninterpretedOption "maybe'doubleValue" (GHC.Base.Maybe GHC.Types.Double)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.UninterpretedOption "maybe'identifierValue" (GHC.Base.Maybe Data.Text.Internal.Text)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.UninterpretedOption "maybe'negativeIntValue" (GHC.Base.Maybe GHC.Int.Int64)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.UninterpretedOption "maybe'positiveIntValue" (GHC.Base.Maybe GHC.Word.Word64)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.UninterpretedOption "maybe'stringValue" (GHC.Base.Maybe Data.ByteString.Internal.ByteString)
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.UninterpretedOption "name" [Proto.Google.Protobuf.Descriptor.UninterpretedOption'NamePart]
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.UninterpretedOption "negativeIntValue" GHC.Int.Int64
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.UninterpretedOption "positiveIntValue" GHC.Word.Word64
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.UninterpretedOption "stringValue" Data.ByteString.Internal.ByteString
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.UninterpretedOption'NamePart "isExtension" GHC.Types.Bool
+ Proto.Google.Protobuf.Descriptor: instance GHC.Base.Functor f => Lens.Labels.HasLens' f Proto.Google.Protobuf.Descriptor.UninterpretedOption'NamePart "namePart" Data.Text.Internal.Text
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.DescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.DescriptorProto'ExtensionRange
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.DescriptorProto'ReservedRange
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.EnumDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.EnumOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.EnumValueDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.EnumValueOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.FieldDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.FieldDescriptorProto'Label
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.FieldOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.FieldOptions'CType
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.FieldOptions'JSType
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.FileDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.FileDescriptorSet
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.FileOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.FileOptions'OptimizeMode
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo'Annotation
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.MessageOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.MethodDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.MethodOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.OneofDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.ServiceDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.ServiceOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.SourceCodeInfo
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.SourceCodeInfo'Location
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.UninterpretedOption
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Eq Proto.Google.Protobuf.Descriptor.UninterpretedOption'NamePart
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.DescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.DescriptorProto'ExtensionRange
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.DescriptorProto'ReservedRange
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.EnumDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.EnumOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.EnumValueDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.EnumValueOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.FieldDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.FieldDescriptorProto'Label
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.FieldOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.FieldOptions'CType
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.FieldOptions'JSType
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.FileDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.FileDescriptorSet
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.FileOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.FileOptions'OptimizeMode
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo'Annotation
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.MessageOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.MethodDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.MethodOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.OneofDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.ServiceDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.ServiceOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.SourceCodeInfo
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.SourceCodeInfo'Location
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.UninterpretedOption
+ Proto.Google.Protobuf.Descriptor: instance GHC.Classes.Ord Proto.Google.Protobuf.Descriptor.UninterpretedOption'NamePart
+ Proto.Google.Protobuf.Descriptor: instance GHC.Enum.Bounded Proto.Google.Protobuf.Descriptor.FieldDescriptorProto'Label
+ Proto.Google.Protobuf.Descriptor: instance GHC.Enum.Bounded Proto.Google.Protobuf.Descriptor.FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: instance GHC.Enum.Bounded Proto.Google.Protobuf.Descriptor.FieldOptions'CType
+ Proto.Google.Protobuf.Descriptor: instance GHC.Enum.Bounded Proto.Google.Protobuf.Descriptor.FieldOptions'JSType
+ Proto.Google.Protobuf.Descriptor: instance GHC.Enum.Bounded Proto.Google.Protobuf.Descriptor.FileOptions'OptimizeMode
+ Proto.Google.Protobuf.Descriptor: instance GHC.Enum.Enum Proto.Google.Protobuf.Descriptor.FieldDescriptorProto'Label
+ Proto.Google.Protobuf.Descriptor: instance GHC.Enum.Enum Proto.Google.Protobuf.Descriptor.FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: instance GHC.Enum.Enum Proto.Google.Protobuf.Descriptor.FieldOptions'CType
+ Proto.Google.Protobuf.Descriptor: instance GHC.Enum.Enum Proto.Google.Protobuf.Descriptor.FieldOptions'JSType
+ Proto.Google.Protobuf.Descriptor: instance GHC.Enum.Enum Proto.Google.Protobuf.Descriptor.FileOptions'OptimizeMode
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.DescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.DescriptorProto'ExtensionRange
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.DescriptorProto'ReservedRange
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.EnumDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.EnumOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.EnumValueDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.EnumValueOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.FieldDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.FieldDescriptorProto'Label
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.FieldDescriptorProto'Type
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.FieldOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.FieldOptions'CType
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.FieldOptions'JSType
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.FileDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.FileDescriptorSet
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.FileOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.FileOptions'OptimizeMode
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.GeneratedCodeInfo'Annotation
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.MessageOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.MethodDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.MethodOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.OneofDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.ServiceDescriptorProto
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.ServiceOptions
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.SourceCodeInfo
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.SourceCodeInfo'Location
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.UninterpretedOption
+ Proto.Google.Protobuf.Descriptor: instance GHC.Show.Show Proto.Google.Protobuf.Descriptor.UninterpretedOption'NamePart
+ Proto.Google.Protobuf.Descriptor_Fields: aggregateValue :: forall f s t a b. (HasLens f s t "aggregateValue" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: allowAlias :: forall f s t a b. (HasLens f s t "allowAlias" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: annotation :: forall f s t a b. (HasLens f s t "annotation" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: begin :: forall f s t a b. (HasLens f s t "begin" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: ccEnableArenas :: forall f s t a b. (HasLens f s t "ccEnableArenas" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: ccGenericServices :: forall f s t a b. (HasLens f s t "ccGenericServices" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: clientStreaming :: forall f s t a b. (HasLens f s t "clientStreaming" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: csharpNamespace :: forall f s t a b. (HasLens f s t "csharpNamespace" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: ctype :: forall f s t a b. (HasLens f s t "ctype" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: defaultValue :: forall f s t a b. (HasLens f s t "defaultValue" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: dependency :: forall f s t a b. (HasLens f s t "dependency" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: deprecated :: forall f s t a b. (HasLens f s t "deprecated" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: doubleValue :: forall f s t a b. (HasLens f s t "doubleValue" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: end :: forall f s t a b. (HasLens f s t "end" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: enumType :: forall f s t a b. (HasLens f s t "enumType" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: extendee :: forall f s t a b. (HasLens f s t "extendee" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: extension :: forall f s t a b. (HasLens f s t "extension" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: extensionRange :: forall f s t a b. (HasLens f s t "extensionRange" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: field :: forall f s t a b. (HasLens f s t "field" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: file :: forall f s t a b. (HasLens f s t "file" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: goPackage :: forall f s t a b. (HasLens f s t "goPackage" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: identifierValue :: forall f s t a b. (HasLens f s t "identifierValue" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: inputType :: forall f s t a b. (HasLens f s t "inputType" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: isExtension :: forall f s t a b. (HasLens f s t "isExtension" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: javaGenerateEqualsAndHash :: forall f s t a b. (HasLens f s t "javaGenerateEqualsAndHash" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: javaGenericServices :: forall f s t a b. (HasLens f s t "javaGenericServices" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: javaMultipleFiles :: forall f s t a b. (HasLens f s t "javaMultipleFiles" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: javaOuterClassname :: forall f s t a b. (HasLens f s t "javaOuterClassname" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: javaPackage :: forall f s t a b. (HasLens f s t "javaPackage" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: javaStringCheckUtf8 :: forall f s t a b. (HasLens f s t "javaStringCheckUtf8" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: jsonName :: forall f s t a b. (HasLens f s t "jsonName" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: jstype :: forall f s t a b. (HasLens f s t "jstype" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: label :: forall f s t a b. (HasLens f s t "label" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: lazy :: forall f s t a b. (HasLens f s t "lazy" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: leadingComments :: forall f s t a b. (HasLens f s t "leadingComments" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: leadingDetachedComments :: forall f s t a b. (HasLens f s t "leadingDetachedComments" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: location :: forall f s t a b. (HasLens f s t "location" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: mapEntry :: forall f s t a b. (HasLens f s t "mapEntry" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'aggregateValue :: forall f s t a b. (HasLens f s t "maybe'aggregateValue" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'allowAlias :: forall f s t a b. (HasLens f s t "maybe'allowAlias" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'begin :: forall f s t a b. (HasLens f s t "maybe'begin" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'ccEnableArenas :: forall f s t a b. (HasLens f s t "maybe'ccEnableArenas" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'ccGenericServices :: forall f s t a b. (HasLens f s t "maybe'ccGenericServices" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'clientStreaming :: forall f s t a b. (HasLens f s t "maybe'clientStreaming" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'csharpNamespace :: forall f s t a b. (HasLens f s t "maybe'csharpNamespace" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'ctype :: forall f s t a b. (HasLens f s t "maybe'ctype" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'defaultValue :: forall f s t a b. (HasLens f s t "maybe'defaultValue" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'deprecated :: forall f s t a b. (HasLens f s t "maybe'deprecated" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'doubleValue :: forall f s t a b. (HasLens f s t "maybe'doubleValue" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'end :: forall f s t a b. (HasLens f s t "maybe'end" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'extendee :: forall f s t a b. (HasLens f s t "maybe'extendee" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'goPackage :: forall f s t a b. (HasLens f s t "maybe'goPackage" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'identifierValue :: forall f s t a b. (HasLens f s t "maybe'identifierValue" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'inputType :: forall f s t a b. (HasLens f s t "maybe'inputType" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'javaGenerateEqualsAndHash :: forall f s t a b. (HasLens f s t "maybe'javaGenerateEqualsAndHash" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'javaGenericServices :: forall f s t a b. (HasLens f s t "maybe'javaGenericServices" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'javaMultipleFiles :: forall f s t a b. (HasLens f s t "maybe'javaMultipleFiles" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'javaOuterClassname :: forall f s t a b. (HasLens f s t "maybe'javaOuterClassname" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'javaPackage :: forall f s t a b. (HasLens f s t "maybe'javaPackage" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'javaStringCheckUtf8 :: forall f s t a b. (HasLens f s t "maybe'javaStringCheckUtf8" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'jsonName :: forall f s t a b. (HasLens f s t "maybe'jsonName" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'jstype :: forall f s t a b. (HasLens f s t "maybe'jstype" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'label :: forall f s t a b. (HasLens f s t "maybe'label" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'lazy :: forall f s t a b. (HasLens f s t "maybe'lazy" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'leadingComments :: forall f s t a b. (HasLens f s t "maybe'leadingComments" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'mapEntry :: forall f s t a b. (HasLens f s t "maybe'mapEntry" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'messageSetWireFormat :: forall f s t a b. (HasLens f s t "maybe'messageSetWireFormat" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'name :: forall f s t a b. (HasLens f s t "maybe'name" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'negativeIntValue :: forall f s t a b. (HasLens f s t "maybe'negativeIntValue" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'noStandardDescriptorAccessor :: forall f s t a b. (HasLens f s t "maybe'noStandardDescriptorAccessor" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'number :: forall f s t a b. (HasLens f s t "maybe'number" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'objcClassPrefix :: forall f s t a b. (HasLens f s t "maybe'objcClassPrefix" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'oneofIndex :: forall f s t a b. (HasLens f s t "maybe'oneofIndex" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'optimizeFor :: forall f s t a b. (HasLens f s t "maybe'optimizeFor" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'options :: forall f s t a b. (HasLens f s t "maybe'options" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'outputType :: forall f s t a b. (HasLens f s t "maybe'outputType" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'package :: forall f s t a b. (HasLens f s t "maybe'package" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'packed :: forall f s t a b. (HasLens f s t "maybe'packed" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'positiveIntValue :: forall f s t a b. (HasLens f s t "maybe'positiveIntValue" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'pyGenericServices :: forall f s t a b. (HasLens f s t "maybe'pyGenericServices" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'serverStreaming :: forall f s t a b. (HasLens f s t "maybe'serverStreaming" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'sourceCodeInfo :: forall f s t a b. (HasLens f s t "maybe'sourceCodeInfo" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'sourceFile :: forall f s t a b. (HasLens f s t "maybe'sourceFile" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'start :: forall f s t a b. (HasLens f s t "maybe'start" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'stringValue :: forall f s t a b. (HasLens f s t "maybe'stringValue" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'syntax :: forall f s t a b. (HasLens f s t "maybe'syntax" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'trailingComments :: forall f s t a b. (HasLens f s t "maybe'trailingComments" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'type' :: forall f s t a b. (HasLens f s t "maybe'type'" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'typeName :: forall f s t a b. (HasLens f s t "maybe'typeName" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: maybe'weak :: forall f s t a b. (HasLens f s t "maybe'weak" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: messageSetWireFormat :: forall f s t a b. (HasLens f s t "messageSetWireFormat" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: messageType :: forall f s t a b. (HasLens f s t "messageType" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: method :: forall f s t a b. (HasLens f s t "method" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: name :: forall f s t a b. (HasLens f s t "name" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: namePart :: forall f s t a b. (HasLens f s t "namePart" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: negativeIntValue :: forall f s t a b. (HasLens f s t "negativeIntValue" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: nestedType :: forall f s t a b. (HasLens f s t "nestedType" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: noStandardDescriptorAccessor :: forall f s t a b. (HasLens f s t "noStandardDescriptorAccessor" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: number :: forall f s t a b. (HasLens f s t "number" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: objcClassPrefix :: forall f s t a b. (HasLens f s t "objcClassPrefix" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: oneofDecl :: forall f s t a b. (HasLens f s t "oneofDecl" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: oneofIndex :: forall f s t a b. (HasLens f s t "oneofIndex" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: optimizeFor :: forall f s t a b. (HasLens f s t "optimizeFor" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: options :: forall f s t a b. (HasLens f s t "options" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: outputType :: forall f s t a b. (HasLens f s t "outputType" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: package :: forall f s t a b. (HasLens f s t "package" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: packed :: forall f s t a b. (HasLens f s t "packed" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: path :: forall f s t a b. (HasLens f s t "path" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: positiveIntValue :: forall f s t a b. (HasLens f s t "positiveIntValue" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: publicDependency :: forall f s t a b. (HasLens f s t "publicDependency" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: pyGenericServices :: forall f s t a b. (HasLens f s t "pyGenericServices" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: reservedName :: forall f s t a b. (HasLens f s t "reservedName" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: reservedRange :: forall f s t a b. (HasLens f s t "reservedRange" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: serverStreaming :: forall f s t a b. (HasLens f s t "serverStreaming" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: service :: forall f s t a b. (HasLens f s t "service" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: sourceCodeInfo :: forall f s t a b. (HasLens f s t "sourceCodeInfo" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: sourceFile :: forall f s t a b. (HasLens f s t "sourceFile" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: span :: forall f s t a b. (HasLens f s t "span" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: start :: forall f s t a b. (HasLens f s t "start" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: stringValue :: forall f s t a b. (HasLens f s t "stringValue" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: syntax :: forall f s t a b. (HasLens f s t "syntax" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: trailingComments :: forall f s t a b. (HasLens f s t "trailingComments" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: type' :: forall f s t a b. (HasLens f s t "type'" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: typeName :: forall f s t a b. (HasLens f s t "typeName" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: uninterpretedOption :: forall f s t a b. (HasLens f s t "uninterpretedOption" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: value :: forall f s t a b. (HasLens f s t "value" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: weak :: forall f s t a b. (HasLens f s t "weak" a b) => LensLike f s t a b
+ Proto.Google.Protobuf.Descriptor_Fields: weakDependency :: forall f s t a b. (HasLens f s t "weakDependency" a b) => LensLike f s t a b
- Data.ProtoLens.Message: [BoolField] :: FieldTypeDescriptor Bool
+ Data.ProtoLens.Message: [BoolField] :: ScalarField Bool
- Data.ProtoLens.Message: [BytesField] :: FieldTypeDescriptor ByteString
+ Data.ProtoLens.Message: [BytesField] :: ScalarField ByteString
- Data.ProtoLens.Message: [DoubleField] :: FieldTypeDescriptor Double
+ Data.ProtoLens.Message: [DoubleField] :: ScalarField Double
- Data.ProtoLens.Message: [EnumField] :: MessageEnum value => FieldTypeDescriptor value
+ Data.ProtoLens.Message: [EnumField] :: MessageEnum value => ScalarField value
- Data.ProtoLens.Message: [Fixed32Field] :: FieldTypeDescriptor Word32
+ Data.ProtoLens.Message: [Fixed32Field] :: ScalarField Word32
- Data.ProtoLens.Message: [Fixed64Field] :: FieldTypeDescriptor Word64
+ Data.ProtoLens.Message: [Fixed64Field] :: ScalarField Word64
- Data.ProtoLens.Message: [FloatField] :: FieldTypeDescriptor Float
+ Data.ProtoLens.Message: [FloatField] :: ScalarField Float
- Data.ProtoLens.Message: [Int32Field] :: FieldTypeDescriptor Int32
+ Data.ProtoLens.Message: [Int32Field] :: ScalarField Int32
- Data.ProtoLens.Message: [Int64Field] :: FieldTypeDescriptor Int64
+ Data.ProtoLens.Message: [Int64Field] :: ScalarField Int64
- Data.ProtoLens.Message: [MessageField] :: Message value => FieldTypeDescriptor value
+ Data.ProtoLens.Message: [MessageField] :: Message value => MessageOrGroup -> FieldTypeDescriptor value
- Data.ProtoLens.Message: [SFixed32Field] :: FieldTypeDescriptor Int32
+ Data.ProtoLens.Message: [SFixed32Field] :: ScalarField Int32
- Data.ProtoLens.Message: [SFixed64Field] :: FieldTypeDescriptor Int64
+ Data.ProtoLens.Message: [SFixed64Field] :: ScalarField Int64
- Data.ProtoLens.Message: [SInt32Field] :: FieldTypeDescriptor Int32
+ Data.ProtoLens.Message: [SInt32Field] :: ScalarField Int32
- Data.ProtoLens.Message: [SInt64Field] :: FieldTypeDescriptor Int64
+ Data.ProtoLens.Message: [SInt64Field] :: ScalarField Int64
- Data.ProtoLens.Message: [StringField] :: FieldTypeDescriptor Text
+ Data.ProtoLens.Message: [StringField] :: ScalarField Text
- Data.ProtoLens.Message: [UInt32Field] :: FieldTypeDescriptor Word32
+ Data.ProtoLens.Message: [UInt32Field] :: ScalarField Word32
- Data.ProtoLens.Message: [UInt64Field] :: FieldTypeDescriptor Word64
+ Data.ProtoLens.Message: [UInt64Field] :: ScalarField Word64

Files

Changelog.md view
@@ -1,6 +1,22 @@ # Changelog for `proto-lens` -## Unreleased changes+## v0.3.0.0+- Remove support for `ghc-7.10`. (#136)+- Use a `.cabal` file that's auto-generated from `hpack`. (#138)+- Add buildMessageDelimited: size-delimited streams of Messages (#102)+- Add support for parsing `Any` messages in google protobuf text format (#124)+- Use the Tag newtype consistently. (#127)+- Add support for tracking unknown fields. (#129)+- Improve an error message. (#132)+- Bundle enum pattern synonyms with their type. (#136)+- Implement proto3-style "open" enums. (#137)+- Consolidate `proto-lens-descriptors` into `proto-lens`. (#140)+- Split the `Message` class into separate methods. (#139)+- Improve an error message when decoding Anys. (#146)+- Refactor the `FieldDescriptorType. (#147)+- Improve text format error messages. (#148)+- Add module `Data.ProtoLens.Service.Types`. (#154)+- Add Haddock comments to fields. (#172)  ## v0.2.2.0 - Bump the dependency on `base` to support `ghc-8.2.1`.
+ proto-lens-imports/google/protobuf/compiler/plugin.proto view
@@ -0,0 +1,150 @@+// Protocol Buffers - Google's data interchange format+// Copyright 2008 Google Inc.  All rights reserved.+// https://developers.google.com/protocol-buffers/+//+// Redistribution and use in source and binary forms, with or without+// modification, are permitted provided that the following conditions are+// met:+//+//     * Redistributions of source code must retain the above copyright+// notice, this list of conditions and the following disclaimer.+//     * Redistributions in binary form must reproduce the above+// copyright notice, this list of conditions and the following disclaimer+// in the documentation and/or other materials provided with the+// distribution.+//     * Neither the name of Google Inc. nor the names of its+// contributors may be used to endorse or promote products derived from+// this software without specific prior written permission.+//+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.++// Author: kenton@google.com (Kenton Varda)+//+// WARNING:  The plugin interface is currently EXPERIMENTAL and is subject to+//   change.+//+// protoc (aka the Protocol Compiler) can be extended via plugins.  A plugin is+// just a program that reads a CodeGeneratorRequest from stdin and writes a+// CodeGeneratorResponse to stdout.+//+// Plugins written using C++ can use google/protobuf/compiler/plugin.h instead+// of dealing with the raw protocol defined here.+//+// A plugin executable needs only to be placed somewhere in the path.  The+// plugin should be named "protoc-gen-$NAME", and will then be used when the+// flag "--${NAME}_out" is passed to protoc.++syntax = "proto2";+package google.protobuf.compiler;+option java_package = "com.google.protobuf.compiler";+option java_outer_classname = "PluginProtos";++option go_package = "plugin_go";++import "google/protobuf/descriptor.proto";++// An encoded CodeGeneratorRequest is written to the plugin's stdin.+message CodeGeneratorRequest {+  // The .proto files that were explicitly listed on the command-line.  The+  // code generator should generate code only for these files.  Each file's+  // descriptor will be included in proto_file, below.+  repeated string file_to_generate = 1;++  // The generator parameter passed on the command-line.+  optional string parameter = 2;++  // FileDescriptorProtos for all files in files_to_generate and everything+  // they import.  The files will appear in topological order, so each file+  // appears before any file that imports it.+  //+  // protoc guarantees that all proto_files will be written after+  // the fields above, even though this is not technically guaranteed by the+  // protobuf wire format.  This theoretically could allow a plugin to stream+  // in the FileDescriptorProtos and handle them one by one rather than read+  // the entire set into memory at once.  However, as of this writing, this+  // is not similarly optimized on protoc's end -- it will store all fields in+  // memory at once before sending them to the plugin.+  repeated FileDescriptorProto proto_file = 15;+}++// The plugin writes an encoded CodeGeneratorResponse to stdout.+message CodeGeneratorResponse {+  // Error message.  If non-empty, code generation failed.  The plugin process+  // should exit with status code zero even if it reports an error in this way.+  //+  // This should be used to indicate errors in .proto files which prevent the+  // code generator from generating correct code.  Errors which indicate a+  // problem in protoc itself -- such as the input CodeGeneratorRequest being+  // unparseable -- should be reported by writing a message to stderr and+  // exiting with a non-zero status code.+  optional string error = 1;++  // Represents a single generated file.+  message File {+    // The file name, relative to the output directory.  The name must not+    // contain "." or ".." components and must be relative, not be absolute (so,+    // the file cannot lie outside the output directory).  "/" must be used as+    // the path separator, not "\".+    //+    // If the name is omitted, the content will be appended to the previous+    // file.  This allows the generator to break large files into small chunks,+    // and allows the generated text to be streamed back to protoc so that large+    // files need not reside completely in memory at one time.  Note that as of+    // this writing protoc does not optimize for this -- it will read the entire+    // CodeGeneratorResponse before writing files to disk.+    optional string name = 1;++    // If non-empty, indicates that the named file should already exist, and the+    // content here is to be inserted into that file at a defined insertion+    // point.  This feature allows a code generator to extend the output+    // produced by another code generator.  The original generator may provide+    // insertion points by placing special annotations in the file that look+    // like:+    //   @@protoc_insertion_point(NAME)+    // The annotation can have arbitrary text before and after it on the line,+    // which allows it to be placed in a comment.  NAME should be replaced with+    // an identifier naming the point -- this is what other generators will use+    // as the insertion_point.  Code inserted at this point will be placed+    // immediately above the line containing the insertion point (thus multiple+    // insertions to the same point will come out in the order they were added).+    // The double-@ is intended to make it unlikely that the generated code+    // could contain things that look like insertion points by accident.+    //+    // For example, the C++ code generator places the following line in the+    // .pb.h files that it generates:+    //   // @@protoc_insertion_point(namespace_scope)+    // This line appears within the scope of the file's package namespace, but+    // outside of any particular class.  Another plugin can then specify the+    // insertion_point "namespace_scope" to generate additional classes or+    // other declarations that should be placed in this scope.+    //+    // Note that if the line containing the insertion point begins with+    // whitespace, the same whitespace will be added to every line of the+    // inserted text.  This is useful for languages like Python, where+    // indentation matters.  In these languages, the insertion point comment+    // should be indented the same amount as any inserted code will need to be+    // in order to work correctly in that context.+    //+    // The code generator that generates the initial file and the one which+    // inserts into it must both run as part of a single invocation of protoc.+    // Code generators are executed in the order in which they appear on the+    // command line.+    //+    // If |insertion_point| is present, |name| must also be present.+    optional string insertion_point = 2;++    // The file contents.+    optional string content = 15;+  }+  repeated File file = 15;+}
+ proto-lens-imports/google/protobuf/descriptor.proto view
@@ -0,0 +1,803 @@+// Protocol Buffers - Google's data interchange format+// Copyright 2008 Google Inc.  All rights reserved.+// https://developers.google.com/protocol-buffers/+//+// Redistribution and use in source and binary forms, with or without+// modification, are permitted provided that the following conditions are+// met:+//+//     * Redistributions of source code must retain the above copyright+// notice, this list of conditions and the following disclaimer.+//     * Redistributions in binary form must reproduce the above+// copyright notice, this list of conditions and the following disclaimer+// in the documentation and/or other materials provided with the+// distribution.+//     * Neither the name of Google Inc. nor the names of its+// contributors may be used to endorse or promote products derived from+// this software without specific prior written permission.+//+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.++// Author: kenton@google.com (Kenton Varda)+//  Based on original Protocol Buffers design by+//  Sanjay Ghemawat, Jeff Dean, and others.+//+// The messages in this file describe the definitions found in .proto files.+// A valid .proto file can be translated directly to a FileDescriptorProto+// without any other information (e.g. without reading its imports).+++syntax = "proto2";++package google.protobuf;+option go_package = "descriptor";+option java_package = "com.google.protobuf";+option java_outer_classname = "DescriptorProtos";+option csharp_namespace = "Google.Protobuf.Reflection";+option objc_class_prefix = "GPB";++// descriptor.proto must be optimized for speed because reflection-based+// algorithms don't work during bootstrapping.+option optimize_for = SPEED;++// The protocol compiler can output a FileDescriptorSet containing the .proto+// files it parses.+message FileDescriptorSet {+  repeated FileDescriptorProto file = 1;+}++// Describes a complete .proto file.+message FileDescriptorProto {+  optional string name = 1;       // file name, relative to root of source tree+  optional string package = 2;    // e.g. "foo", "foo.bar", etc.++  // Names of files imported by this file.+  repeated string dependency = 3;+  // Indexes of the public imported files in the dependency list above.+  repeated int32 public_dependency = 10;+  // Indexes of the weak imported files in the dependency list.+  // For Google-internal migration only. Do not use.+  repeated int32 weak_dependency = 11;++  // All top-level definitions in this file.+  repeated DescriptorProto message_type = 4;+  repeated EnumDescriptorProto enum_type = 5;+  repeated ServiceDescriptorProto service = 6;+  repeated FieldDescriptorProto extension = 7;++  optional FileOptions options = 8;++  // This field contains optional information about the original source code.+  // You may safely remove this entire field without harming runtime+  // functionality of the descriptors -- the information is needed only by+  // development tools.+  optional SourceCodeInfo source_code_info = 9;++  // The syntax of the proto file.+  // The supported values are "proto2" and "proto3".+  optional string syntax = 12;+}++// Describes a message type.+message DescriptorProto {+  optional string name = 1;++  repeated FieldDescriptorProto field = 2;+  repeated FieldDescriptorProto extension = 6;++  repeated DescriptorProto nested_type = 3;+  repeated EnumDescriptorProto enum_type = 4;++  message ExtensionRange {+    optional int32 start = 1;+    optional int32 end = 2;+  }+  repeated ExtensionRange extension_range = 5;++  repeated OneofDescriptorProto oneof_decl = 8;++  optional MessageOptions options = 7;++  // Range of reserved tag numbers. Reserved tag numbers may not be used by+  // fields or extension ranges in the same message. Reserved ranges may+  // not overlap.+  message ReservedRange {+    optional int32 start = 1; // Inclusive.+    optional int32 end = 2;   // Exclusive.+  }+  repeated ReservedRange reserved_range = 9;+  // Reserved field names, which may not be used by fields in the same message.+  // A given name may only be reserved once.+  repeated string reserved_name = 10;+}++// Describes a field within a message.+message FieldDescriptorProto {+  enum Type {+    // 0 is reserved for errors.+    // Order is weird for historical reasons.+    TYPE_DOUBLE         = 1;+    TYPE_FLOAT          = 2;+    // Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT64 if+    // negative values are likely.+    TYPE_INT64          = 3;+    TYPE_UINT64         = 4;+    // Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT32 if+    // negative values are likely.+    TYPE_INT32          = 5;+    TYPE_FIXED64        = 6;+    TYPE_FIXED32        = 7;+    TYPE_BOOL           = 8;+    TYPE_STRING         = 9;+    TYPE_GROUP          = 10;  // Tag-delimited aggregate.+    TYPE_MESSAGE        = 11;  // Length-delimited aggregate.++    // New in version 2.+    TYPE_BYTES          = 12;+    TYPE_UINT32         = 13;+    TYPE_ENUM           = 14;+    TYPE_SFIXED32       = 15;+    TYPE_SFIXED64       = 16;+    TYPE_SINT32         = 17;  // Uses ZigZag encoding.+    TYPE_SINT64         = 18;  // Uses ZigZag encoding.+  };++  enum Label {+    // 0 is reserved for errors+    LABEL_OPTIONAL      = 1;+    LABEL_REQUIRED      = 2;+    LABEL_REPEATED      = 3;+    // TODO(sanjay): Should we add LABEL_MAP?+  };++  optional string name = 1;+  optional int32 number = 3;+  optional Label label = 4;++  // If type_name is set, this need not be set.  If both this and type_name+  // are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.+  optional Type type = 5;++  // For message and enum types, this is the name of the type.  If the name+  // starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping+  // rules are used to find the type (i.e. first the nested types within this+  // message are searched, then within the parent, on up to the root+  // namespace).+  optional string type_name = 6;++  // For extensions, this is the name of the type being extended.  It is+  // resolved in the same manner as type_name.+  optional string extendee = 2;++  // For numeric types, contains the original text representation of the value.+  // For booleans, "true" or "false".+  // For strings, contains the default text contents (not escaped in any way).+  // For bytes, contains the C escaped value.  All bytes >= 128 are escaped.+  // TODO(kenton):  Base-64 encode?+  optional string default_value = 7;++  // If set, gives the index of a oneof in the containing type's oneof_decl+  // list.  This field is a member of that oneof.+  optional int32 oneof_index = 9;++  // JSON name of this field. The value is set by protocol compiler. If the+  // user has set a "json_name" option on this field, that option's value+  // will be used. Otherwise, it's deduced from the field's name by converting+  // it to camelCase.+  optional string json_name = 10;++  optional FieldOptions options = 8;+}++// Describes a oneof.+message OneofDescriptorProto {+  optional string name = 1;+}++// Describes an enum type.+message EnumDescriptorProto {+  optional string name = 1;++  repeated EnumValueDescriptorProto value = 2;++  optional EnumOptions options = 3;+}++// Describes a value within an enum.+message EnumValueDescriptorProto {+  optional string name = 1;+  optional int32 number = 2;++  optional EnumValueOptions options = 3;+}++// Describes a service.+message ServiceDescriptorProto {+  optional string name = 1;+  repeated MethodDescriptorProto method = 2;++  optional ServiceOptions options = 3;+}++// Describes a method of a service.+message MethodDescriptorProto {+  optional string name = 1;++  // Input and output type names.  These are resolved in the same way as+  // FieldDescriptorProto.type_name, but must refer to a message type.+  optional string input_type = 2;+  optional string output_type = 3;++  optional MethodOptions options = 4;++  // Identifies if client streams multiple client messages+  optional bool client_streaming = 5 [default=false];+  // Identifies if server streams multiple server messages+  optional bool server_streaming = 6 [default=false];+}+++// ===================================================================+// Options++// Each of the definitions above may have "options" attached.  These are+// just annotations which may cause code to be generated slightly differently+// or may contain hints for code that manipulates protocol messages.+//+// Clients may define custom options as extensions of the *Options messages.+// These extensions may not yet be known at parsing time, so the parser cannot+// store the values in them.  Instead it stores them in a field in the *Options+// message called uninterpreted_option. This field must have the same name+// across all *Options messages. We then use this field to populate the+// extensions when we build a descriptor, at which point all protos have been+// parsed and so all extensions are known.+//+// Extension numbers for custom options may be chosen as follows:+// * For options which will only be used within a single application or+//   organization, or for experimental options, use field numbers 50000+//   through 99999.  It is up to you to ensure that you do not use the+//   same number for multiple options.+// * For options which will be published and used publicly by multiple+//   independent entities, e-mail protobuf-global-extension-registry@google.com+//   to reserve extension numbers. Simply provide your project name (e.g.+//   Objective-C plugin) and your project website (if available) -- there's no+//   need to explain how you intend to use them. Usually you only need one+//   extension number. You can declare multiple options with only one extension+//   number by putting them in a sub-message. See the Custom Options section of+//   the docs for examples:+//   https://developers.google.com/protocol-buffers/docs/proto#options+//   If this turns out to be popular, a web service will be set up+//   to automatically assign option numbers.+++message FileOptions {++  // Sets the Java package where classes generated from this .proto will be+  // placed.  By default, the proto package is used, but this is often+  // inappropriate because proto packages do not normally start with backwards+  // domain names.+  optional string java_package = 1;+++  // If set, all the classes from the .proto file are wrapped in a single+  // outer class with the given name.  This applies to both Proto1+  // (equivalent to the old "--one_java_file" option) and Proto2 (where+  // a .proto always translates to a single class, but you may want to+  // explicitly choose the class name).+  optional string java_outer_classname = 8;++  // If set true, then the Java code generator will generate a separate .java+  // file for each top-level message, enum, and service defined in the .proto+  // file.  Thus, these types will *not* be nested inside the outer class+  // named by java_outer_classname.  However, the outer class will still be+  // generated to contain the file's getDescriptor() method as well as any+  // top-level extensions defined in the file.+  optional bool java_multiple_files = 10 [default=false];++  // If set true, then the Java code generator will generate equals() and+  // hashCode() methods for all messages defined in the .proto file.+  // This increases generated code size, potentially substantially for large+  // protos, which may harm a memory-constrained application.+  // - In the full runtime this is a speed optimization, as the+  // AbstractMessage base class includes reflection-based implementations of+  // these methods.+  // - In the lite runtime, setting this option changes the semantics of+  // equals() and hashCode() to more closely match those of the full runtime;+  // the generated methods compute their results based on field values rather+  // than object identity. (Implementations should not assume that hashcodes+  // will be consistent across runtimes or versions of the protocol compiler.)+  optional bool java_generate_equals_and_hash = 20 [default=false];++  // If set true, then the Java2 code generator will generate code that+  // throws an exception whenever an attempt is made to assign a non-UTF-8+  // byte sequence to a string field.+  // Message reflection will do the same.+  // However, an extension field still accepts non-UTF-8 byte sequences.+  // This option has no effect on when used with the lite runtime.+  optional bool java_string_check_utf8 = 27 [default=false];+++  // Generated classes can be optimized for speed or code size.+  enum OptimizeMode {+    SPEED = 1;        // Generate complete code for parsing, serialization,+                      // etc.+    CODE_SIZE = 2;    // Use ReflectionOps to implement these methods.+    LITE_RUNTIME = 3; // Generate code using MessageLite and the lite runtime.+  }+  optional OptimizeMode optimize_for = 9 [default=SPEED];++  // Sets the Go package where structs generated from this .proto will be+  // placed. If omitted, the Go package will be derived from the following:+  //   - The basename of the package import path, if provided.+  //   - Otherwise, the package statement in the .proto file, if present.+  //   - Otherwise, the basename of the .proto file, without extension.+  optional string go_package = 11;++++  // Should generic services be generated in each language?  "Generic" services+  // are not specific to any particular RPC system.  They are generated by the+  // main code generators in each language (without additional plugins).+  // Generic services were the only kind of service generation supported by+  // early versions of google.protobuf.+  //+  // Generic services are now considered deprecated in favor of using plugins+  // that generate code specific to your particular RPC system.  Therefore,+  // these default to false.  Old code which depends on generic services should+  // explicitly set them to true.+  optional bool cc_generic_services = 16 [default=false];+  optional bool java_generic_services = 17 [default=false];+  optional bool py_generic_services = 18 [default=false];++  // Is this file deprecated?+  // Depending on the target platform, this can emit Deprecated annotations+  // for everything in the file, or it will be completely ignored; in the very+  // least, this is a formalization for deprecating files.+  optional bool deprecated = 23 [default=false];++  // Enables the use of arenas for the proto messages in this file. This applies+  // only to generated classes for C++.+  optional bool cc_enable_arenas = 31 [default=false];+++  // Sets the objective c class prefix which is prepended to all objective c+  // generated classes from this .proto. There is no default.+  optional string objc_class_prefix = 36;++  // Namespace for generated classes; defaults to the package.+  optional string csharp_namespace = 37;++  // The parser stores options it doesn't recognize here. See above.+  repeated UninterpretedOption uninterpreted_option = 999;++  // Clients can define custom options in extensions of this message. See above.+  extensions 1000 to max;++  reserved 38;+}++message MessageOptions {+  // Set true to use the old proto1 MessageSet wire format for extensions.+  // This is provided for backwards-compatibility with the MessageSet wire+  // format.  You should not use this for any other reason:  It's less+  // efficient, has fewer features, and is more complicated.+  //+  // The message must be defined exactly as follows:+  //   message Foo {+  //     option message_set_wire_format = true;+  //     extensions 4 to max;+  //   }+  // Note that the message cannot have any defined fields; MessageSets only+  // have extensions.+  //+  // All extensions of your type must be singular messages; e.g. they cannot+  // be int32s, enums, or repeated messages.+  //+  // Because this is an option, the above two restrictions are not enforced by+  // the protocol compiler.+  optional bool message_set_wire_format = 1 [default=false];++  // Disables the generation of the standard "descriptor()" accessor, which can+  // conflict with a field of the same name.  This is meant to make migration+  // from proto1 easier; new code should avoid fields named "descriptor".+  optional bool no_standard_descriptor_accessor = 2 [default=false];++  // Is this message deprecated?+  // Depending on the target platform, this can emit Deprecated annotations+  // for the message, or it will be completely ignored; in the very least,+  // this is a formalization for deprecating messages.+  optional bool deprecated = 3 [default=false];++  // Whether the message is an automatically generated map entry type for the+  // maps field.+  //+  // For maps fields:+  //     map<KeyType, ValueType> map_field = 1;+  // The parsed descriptor looks like:+  //     message MapFieldEntry {+  //         option map_entry = true;+  //         optional KeyType key = 1;+  //         optional ValueType value = 2;+  //     }+  //     repeated MapFieldEntry map_field = 1;+  //+  // Implementations may choose not to generate the map_entry=true message, but+  // use a native map in the target language to hold the keys and values.+  // The reflection APIs in such implementions still need to work as+  // if the field is a repeated message field.+  //+  // NOTE: Do not set the option in .proto files. Always use the maps syntax+  // instead. The option should only be implicitly set by the proto compiler+  // parser.+  optional bool map_entry = 7;++  // The parser stores options it doesn't recognize here. See above.+  repeated UninterpretedOption uninterpreted_option = 999;++  // Clients can define custom options in extensions of this message. See above.+  extensions 1000 to max;+}++message FieldOptions {+  // The ctype option instructs the C++ code generator to use a different+  // representation of the field than it normally would.  See the specific+  // options below.  This option is not yet implemented in the open source+  // release -- sorry, we'll try to include it in a future version!+  optional CType ctype = 1 [default = STRING];+  enum CType {+    // Default mode.+    STRING = 0;++    CORD = 1;++    STRING_PIECE = 2;+  }+  // The packed option can be enabled for repeated primitive fields to enable+  // a more efficient representation on the wire. Rather than repeatedly+  // writing the tag and type for each element, the entire array is encoded as+  // a single length-delimited blob. In proto3, only explicit setting it to+  // false will avoid using packed encoding.+  optional bool packed = 2;+++  // The jstype option determines the JavaScript type used for values of the+  // field.  The option is permitted only for 64 bit integral and fixed types+  // (int64, uint64, sint64, fixed64, sfixed64).  By default these types are+  // represented as JavaScript strings.  This avoids loss of precision that can+  // happen when a large value is converted to a floating point JavaScript+  // numbers.  Specifying JS_NUMBER for the jstype causes the generated+  // JavaScript code to use the JavaScript "number" type instead of strings.+  // This option is an enum to permit additional types to be added,+  // e.g. goog.math.Integer.+  optional JSType jstype = 6 [default = JS_NORMAL];+  enum JSType {+    // Use the default type.+    JS_NORMAL = 0;++    // Use JavaScript strings.+    JS_STRING = 1;++    // Use JavaScript numbers.+    JS_NUMBER = 2;+  }++  // Should this field be parsed lazily?  Lazy applies only to message-type+  // fields.  It means that when the outer message is initially parsed, the+  // inner message's contents will not be parsed but instead stored in encoded+  // form.  The inner message will actually be parsed when it is first accessed.+  //+  // This is only a hint.  Implementations are free to choose whether to use+  // eager or lazy parsing regardless of the value of this option.  However,+  // setting this option true suggests that the protocol author believes that+  // using lazy parsing on this field is worth the additional bookkeeping+  // overhead typically needed to implement it.+  //+  // This option does not affect the public interface of any generated code;+  // all method signatures remain the same.  Furthermore, thread-safety of the+  // interface is not affected by this option; const methods remain safe to+  // call from multiple threads concurrently, while non-const methods continue+  // to require exclusive access.+  //+  //+  // Note that implementations may choose not to check required fields within+  // a lazy sub-message.  That is, calling IsInitialized() on the outher message+  // may return true even if the inner message has missing required fields.+  // This is necessary because otherwise the inner message would have to be+  // parsed in order to perform the check, defeating the purpose of lazy+  // parsing.  An implementation which chooses not to check required fields+  // must be consistent about it.  That is, for any particular sub-message, the+  // implementation must either *always* check its required fields, or *never*+  // check its required fields, regardless of whether or not the message has+  // been parsed.+  optional bool lazy = 5 [default=false];++  // Is this field deprecated?+  // Depending on the target platform, this can emit Deprecated annotations+  // for accessors, or it will be completely ignored; in the very least, this+  // is a formalization for deprecating fields.+  optional bool deprecated = 3 [default=false];++  // For Google-internal migration only. Do not use.+  optional bool weak = 10 [default=false];+++  // The parser stores options it doesn't recognize here. See above.+  repeated UninterpretedOption uninterpreted_option = 999;++  // Clients can define custom options in extensions of this message. See above.+  extensions 1000 to max;+}++message EnumOptions {++  // Set this option to true to allow mapping different tag names to the same+  // value.+  optional bool allow_alias = 2;++  // Is this enum deprecated?+  // Depending on the target platform, this can emit Deprecated annotations+  // for the enum, or it will be completely ignored; in the very least, this+  // is a formalization for deprecating enums.+  optional bool deprecated = 3 [default=false];++  // The parser stores options it doesn't recognize here. See above.+  repeated UninterpretedOption uninterpreted_option = 999;++  // Clients can define custom options in extensions of this message. See above.+  extensions 1000 to max;+}++message EnumValueOptions {+  // Is this enum value deprecated?+  // Depending on the target platform, this can emit Deprecated annotations+  // for the enum value, or it will be completely ignored; in the very least,+  // this is a formalization for deprecating enum values.+  optional bool deprecated = 1 [default=false];++  // The parser stores options it doesn't recognize here. See above.+  repeated UninterpretedOption uninterpreted_option = 999;++  // Clients can define custom options in extensions of this message. See above.+  extensions 1000 to max;+}++message ServiceOptions {++  // Note:  Field numbers 1 through 32 are reserved for Google's internal RPC+  //   framework.  We apologize for hoarding these numbers to ourselves, but+  //   we were already using them long before we decided to release Protocol+  //   Buffers.++  // Is this service deprecated?+  // Depending on the target platform, this can emit Deprecated annotations+  // for the service, or it will be completely ignored; in the very least,+  // this is a formalization for deprecating services.+  optional bool deprecated = 33 [default=false];++  // The parser stores options it doesn't recognize here. See above.+  repeated UninterpretedOption uninterpreted_option = 999;++  // Clients can define custom options in extensions of this message. See above.+  extensions 1000 to max;+}++message MethodOptions {++  // Note:  Field numbers 1 through 32 are reserved for Google's internal RPC+  //   framework.  We apologize for hoarding these numbers to ourselves, but+  //   we were already using them long before we decided to release Protocol+  //   Buffers.++  // Is this method deprecated?+  // Depending on the target platform, this can emit Deprecated annotations+  // for the method, or it will be completely ignored; in the very least,+  // this is a formalization for deprecating methods.+  optional bool deprecated = 33 [default=false];++  // The parser stores options it doesn't recognize here. See above.+  repeated UninterpretedOption uninterpreted_option = 999;++  // Clients can define custom options in extensions of this message. See above.+  extensions 1000 to max;+}+++// A message representing a option the parser does not recognize. This only+// appears in options protos created by the compiler::Parser class.+// DescriptorPool resolves these when building Descriptor objects. Therefore,+// options protos in descriptor objects (e.g. returned by Descriptor::options(),+// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions+// in them.+message UninterpretedOption {+  // The name of the uninterpreted option.  Each string represents a segment in+  // a dot-separated name.  is_extension is true iff a segment represents an+  // extension (denoted with parentheses in options specs in .proto files).+  // E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents+  // "foo.(bar.baz).qux".+  message NamePart {+    required string name_part = 1;+    required bool is_extension = 2;+  }+  repeated NamePart name = 2;++  // The value of the uninterpreted option, in whatever type the tokenizer+  // identified it as during parsing. Exactly one of these should be set.+  optional string identifier_value = 3;+  optional uint64 positive_int_value = 4;+  optional int64 negative_int_value = 5;+  optional double double_value = 6;+  optional bytes string_value = 7;+  optional string aggregate_value = 8;+}++// ===================================================================+// Optional source code info++// Encapsulates information about the original source file from which a+// FileDescriptorProto was generated.+message SourceCodeInfo {+  // A Location identifies a piece of source code in a .proto file which+  // corresponds to a particular definition.  This information is intended+  // to be useful to IDEs, code indexers, documentation generators, and similar+  // tools.+  //+  // For example, say we have a file like:+  //   message Foo {+  //     optional string foo = 1;+  //   }+  // Let's look at just the field definition:+  //   optional string foo = 1;+  //   ^       ^^     ^^  ^  ^^^+  //   a       bc     de  f  ghi+  // We have the following locations:+  //   span   path               represents+  //   [a,i)  [ 4, 0, 2, 0 ]     The whole field definition.+  //   [a,b)  [ 4, 0, 2, 0, 4 ]  The label (optional).+  //   [c,d)  [ 4, 0, 2, 0, 5 ]  The type (string).+  //   [e,f)  [ 4, 0, 2, 0, 1 ]  The name (foo).+  //   [g,h)  [ 4, 0, 2, 0, 3 ]  The number (1).+  //+  // Notes:+  // - A location may refer to a repeated field itself (i.e. not to any+  //   particular index within it).  This is used whenever a set of elements are+  //   logically enclosed in a single code segment.  For example, an entire+  //   extend block (possibly containing multiple extension definitions) will+  //   have an outer location whose path refers to the "extensions" repeated+  //   field without an index.+  // - Multiple locations may have the same path.  This happens when a single+  //   logical declaration is spread out across multiple places.  The most+  //   obvious example is the "extend" block again -- there may be multiple+  //   extend blocks in the same scope, each of which will have the same path.+  // - A location's span is not always a subset of its parent's span.  For+  //   example, the "extendee" of an extension declaration appears at the+  //   beginning of the "extend" block and is shared by all extensions within+  //   the block.+  // - Just because a location's span is a subset of some other location's span+  //   does not mean that it is a descendent.  For example, a "group" defines+  //   both a type and a field in a single declaration.  Thus, the locations+  //   corresponding to the type and field and their components will overlap.+  // - Code which tries to interpret locations should probably be designed to+  //   ignore those that it doesn't understand, as more types of locations could+  //   be recorded in the future.+  repeated Location location = 1;+  message Location {+    // Identifies which part of the FileDescriptorProto was defined at this+    // location.+    //+    // Each element is a field number or an index.  They form a path from+    // the root FileDescriptorProto to the place where the definition.  For+    // example, this path:+    //   [ 4, 3, 2, 7, 1 ]+    // refers to:+    //   file.message_type(3)  // 4, 3+    //       .field(7)         // 2, 7+    //       .name()           // 1+    // This is because FileDescriptorProto.message_type has field number 4:+    //   repeated DescriptorProto message_type = 4;+    // and DescriptorProto.field has field number 2:+    //   repeated FieldDescriptorProto field = 2;+    // and FieldDescriptorProto.name has field number 1:+    //   optional string name = 1;+    //+    // Thus, the above path gives the location of a field name.  If we removed+    // the last element:+    //   [ 4, 3, 2, 7 ]+    // this path refers to the whole field declaration (from the beginning+    // of the label to the terminating semicolon).+    repeated int32 path = 1 [packed=true];++    // Always has exactly three or four elements: start line, start column,+    // end line (optional, otherwise assumed same as start line), end column.+    // These are packed into a single field for efficiency.  Note that line+    // and column numbers are zero-based -- typically you will want to add+    // 1 to each before displaying to a user.+    repeated int32 span = 2 [packed=true];++    // If this SourceCodeInfo represents a complete declaration, these are any+    // comments appearing before and after the declaration which appear to be+    // attached to the declaration.+    //+    // A series of line comments appearing on consecutive lines, with no other+    // tokens appearing on those lines, will be treated as a single comment.+    //+    // leading_detached_comments will keep paragraphs of comments that appear+    // before (but not connected to) the current element. Each paragraph,+    // separated by empty lines, will be one comment element in the repeated+    // field.+    //+    // Only the comment content is provided; comment markers (e.g. //) are+    // stripped out.  For block comments, leading whitespace and an asterisk+    // will be stripped from the beginning of each line other than the first.+    // Newlines are included in the output.+    //+    // Examples:+    //+    //   optional int32 foo = 1;  // Comment attached to foo.+    //   // Comment attached to bar.+    //   optional int32 bar = 2;+    //+    //   optional string baz = 3;+    //   // Comment attached to baz.+    //   // Another line attached to baz.+    //+    //   // Comment attached to qux.+    //   //+    //   // Another line attached to qux.+    //   optional double qux = 4;+    //+    //   // Detached comment for corge. This is not leading or trailing comments+    //   // to qux or corge because there are blank lines separating it from+    //   // both.+    //+    //   // Detached comment for corge paragraph 2.+    //+    //   optional string corge = 5;+    //   /* Block comment attached+    //    * to corge.  Leading asterisks+    //    * will be removed. */+    //   /* Block comment attached to+    //    * grault. */+    //   optional int32 grault = 6;+    //+    //   // ignored detached comments.+    optional string leading_comments = 3;+    optional string trailing_comments = 4;+    repeated string leading_detached_comments = 6;+  }+}++// Describes the relationship between generated code and its original source+// file. A GeneratedCodeInfo message is associated with only one generated+// source file, but may contain references to different source .proto files.+message GeneratedCodeInfo {+  // An Annotation connects some span of text in generated code to an element+  // of its generating .proto file.+  repeated Annotation annotation = 1;+  message Annotation {+    // Identifies the element in the original source .proto file. This field+    // is formatted the same as SourceCodeInfo.Location.path.+    repeated int32 path = 1 [packed=true];++    // Identifies the filesystem path to the original source .proto.+    optional string source_file = 2;++    // Identifies the starting offset in bytes in the generated code+    // that relates to the identified object.+    optional int32 begin = 3;++    // Identifies the ending offset in bytes in the generated code that+    // relates to the identified offset. The end offset should be one past+    // the last relevant byte (so the length of the text = end - begin).+    optional int32 end = 4;+  }+}
proto-lens.cabal view
@@ -1,45 +1,72 @@-name:                proto-lens-version:             0.2.2.0-synopsis:            A lens-based implementation of protocol buffers in Haskell.-description:-  The proto-lens library provides to protocol buffers using modern-  Haskell language and library patterns.  Specifically, it provides:-  .-  * Composable field accessors via lenses-  .-  * Simple field name resolution/overloading via type-level literals-  .-  * Type-safe reflection and encoding/decoding of messages via GADTs+-- This file has been generated from package.yaml by hpack version 0.20.0.+--+-- see: https://github.com/sol/hpack+--+-- hash: f4741b76c0ffaab3c07146f386e2d9d450fa3c819af4f8631f11b4abf8f1feb4 -homepage:            https://github.com/google/proto-lens-license:             BSD3-license-file:        LICENSE-author:              Judah Jacobson-maintainer:          proto-lens@googlegroups.com-copyright:           Google Inc.-category:            Data-build-type:          Simple-cabal-version:       >=1.8-extra-source-files:  Changelog.md+name:           proto-lens+version:        0.3.0.0+synopsis:       A lens-based implementation of protocol buffers in Haskell.+description:    The proto-lens library provides to protocol buffers using modern Haskell language and library patterns.  Specifically, it provides:+                .+                * Composable field accessors via lenses+                .+                * Simple field name resolution/overloading via type-level literals+                .+                * Type-safe reflection and encoding/decoding of messages via GADTs+category:       Data+homepage:       https://github.com/google/proto-lens#readme+bug-reports:    https://github.com/google/proto-lens/issues+author:         Judah Jacobson+maintainer:     proto-lens@googlegroups.com+copyright:      Google Inc.+license:        BSD3+license-file:   LICENSE+build-type:     Simple+cabal-version:  >= 1.10 +extra-source-files:+    Changelog.md++data-files:+    proto-lens-imports/google/protobuf/compiler/plugin.proto+    proto-lens-imports/google/protobuf/descriptor.proto++source-repository head+  type: git+  location: https://github.com/google/proto-lens+  subdir: proto-lens+ library-  hs-source-dirs: src-  exposed-modules:     Data.ProtoLens-                       Data.ProtoLens.Encoding-                       Data.ProtoLens.Message-                       Data.ProtoLens.Message.Enum-                       Data.ProtoLens.TextFormat-  other-modules:       Data.ProtoLens.Encoding.Bytes-                       Data.ProtoLens.Encoding.Wire-                       Data.ProtoLens.TextFormat.Parser-  build-depends:  attoparsec == 0.13.*-                , base >= 4.8 && < 4.11-                , bytestring == 0.10.*-                , containers == 0.5.*-                , data-default-class >= 0.0 && < 0.2-                , lens-family == 1.2.*-                , parsec == 3.1.*-                , pretty == 1.1.*-                , text == 1.2.*-                , transformers >= 0.4 && < 0.6-                , void == 0.7.*+  hs-source-dirs:+      src+  build-depends:+      attoparsec ==0.13.*+    , base >=4.8 && <4.11+    , bytestring ==0.10.*+    , containers ==0.5.*+    , data-default-class >=0.0 && <0.2+    , deepseq ==1.4.*+    , lens-family ==1.2.*+    , lens-labels ==0.2.*+    , parsec ==3.1.*+    , pretty ==1.1.*+    , text ==1.2.*+    , transformers >=0.4 && <0.6+    , void ==0.7.*+  exposed-modules:+      Data.ProtoLens+      Data.ProtoLens.Encoding+      Data.ProtoLens.Encoding.Wire+      Data.ProtoLens.Message+      Data.ProtoLens.Message.Enum+      Data.ProtoLens.Service.Types+      Data.ProtoLens.TextFormat+      Proto.Google.Protobuf.Compiler.Plugin+      Proto.Google.Protobuf.Compiler.Plugin_Fields+      Proto.Google.Protobuf.Descriptor+      Proto.Google.Protobuf.Descriptor_Fields+  other-modules:+      Data.ProtoLens.Encoding.Bytes+      Data.ProtoLens.TextFormat.Parser+  default-language: Haskell2010
src/Data/ProtoLens/Encoding.hs view
@@ -12,10 +12,12 @@ {-# LANGUAGE GADTs #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE PatternGuards #-}+{-# LANGUAGE RankNTypes #-} {-# LANGUAGE ScopedTypeVariables #-} module Data.ProtoLens.Encoding(     encodeMessage,     buildMessage,+    buildMessageDelimited,     decodeMessage,     decodeMessageOrDie,     ) where@@ -28,13 +30,14 @@ import Control.Monad (guard) import Data.Attoparsec.ByteString as Parse import Data.Bool (bool)+import Data.Monoid ((<>)) import Data.Text.Encoding (encodeUtf8, decodeUtf8') import Data.Text.Encoding.Error (UnicodeException(..)) import qualified Data.ByteString as B import qualified Data.Map.Strict as Map import Data.ByteString.Lazy.Builder as Builder import qualified Data.ByteString.Lazy as L-import Lens.Family2 (set, over, (^.), (&))+import Lens.Family2 (Lens', set, over, (^.), (&))  -- TODO: We could be more incremental when parsing/encoding length-based fields, -- rather than forcing the whole thing.  E.g., for encoding we're doing extra@@ -51,23 +54,26 @@ parseMessage end = do     (msg, unsetFields) <- loop def requiredFields     if Map.null unsetFields-        then return $ reverseRepeatedFields fields msg+        then return $ over unknownFields reverse+                    $ reverseRepeatedFields fields msg         else fail $ "Missing required fields "                         ++ show (map fieldDescriptorName                                     $ Map.elems $ unsetFields)   where-    fields = fieldsByTag descriptor+    fields = fieldsByTag+    addUnknown :: TaggedValue -> msg -> msg+    addUnknown !f = over' unknownFields (f :)     requiredFields = Map.filter isRequired fields     loop :: msg -> Map.Map Tag (FieldDescriptor msg)             -> Parser (msg, Map.Map Tag (FieldDescriptor msg))     loop msg unsetFields = ((msg, unsetFields) <$ end)                 <|> do                     tv@(TaggedValue tag _) <- getTaggedValue-                    case Map.lookup (Tag tag) fields of-                        Nothing -> loop msg unsetFields+                    case Map.lookup tag fields of+                        Nothing -> (loop $! addUnknown tv msg) unsetFields                         Just field -> do                             !msg' <- parseAndAddField msg field tv-                            loop msg' $! Map.delete (Tag tag) unsetFields+                            loop msg' $! Map.delete tag unsetFields  -- | Decode a message from its wire format.  Throws an error if the decoding -- fails.@@ -87,23 +93,28 @@     !msg     (FieldDescriptor name typeDescriptor accessor)     (TaggedValue tag (WireValue wt val)) = let-          getSimpleVal = case fieldWireType typeDescriptor of-                            GroupFieldType -> do+          getSimpleVal = case typeDescriptor of+                            MessageField GroupType -> do                                 Equal <- equalWireTypes name StartGroup wt                                 parseMessage (endOfGroup name tag)-                            FieldWireType fieldWt _ get -> do-                                Equal <- equalWireTypes name fieldWt wt-                                runEither $ get val+                            MessageField MessageType -> do+                                Equal <- equalWireTypes name Lengthy wt+                                runEither $ decodeMessage val+                            ScalarField f -> case fieldWireType f of+                                FieldWireType fieldWt _ get -> do+                                    Equal <- equalWireTypes name fieldWt wt+                                    runEither $ get val           -- Get a block of packed values, reversed.-          getPackedVals = case fieldWireType typeDescriptor of-            GroupFieldType -> fail "Groups can't be packed"-            FieldWireType fieldWt _ get -> do-              Equal <- equalWireTypes name Lengthy wt-              let getElt = do-                        wv <- getWireValue fieldWt tag-                        x <- runEither $ get wv-                        return $! x-              runEither $ parseOnly (manyReversedTill getElt endOfInput) val+          getPackedVals = case typeDescriptor of+            MessageField _ -> fail "Messages can't be packed"+            ScalarField f -> case fieldWireType f of+              FieldWireType fieldWt _ get -> do+                Equal <- equalWireTypes name Lengthy wt+                let getElt = do+                          wv <- getWireValue fieldWt+                          x <- runEither $ get wv+                          return $! x+                runEither $ parseOnly (manyReversedTill getElt endOfInput) val           in case accessor of               PlainField _ f -> do                   !x <- getSimpleVal@@ -118,12 +129,12 @@               RepeatedField _ f                 -> (do                         !x <- getSimpleVal-                        return $! over f (\(!xs) -> x:xs) msg)-                <|> (do +                        return $! over' f (x :) msg)+                <|> (do                         xs <- getPackedVals-                        return $! over f (\(!ys) -> xs++ys) msg)+                        return $! over' f (xs ++) msg)                 <|> fail ("Field " ++ name-                            ++ "expects a repeated field wire type but found "+                            ++ " expects a repeated field wire type but found "                             ++ show wt)               MapField keyLens valueLens f -> do                   entry <- getSimpleVal@@ -133,6 +144,15 @@                       (Map.insert key value)                       msg +-- | Strict version of 'over' that forces the old value.+-- Helps prevent gross space leaks when modifying a list field.+--+-- In particular, a naive `@over f (x :) y@ keeps the old value of @y@ around+-- in a thunk, because @(:)@ isn't strict in its second argument.  (Similarly+-- for @(++)@.)+over' :: Lens' a b -> (b -> b) -> a -> a+over' f g = over f (\(!x) -> g x)+ -- | Run the parser zero or more times, until the "end" parser succeeds. -- Returns a list of the parsed elements, in reverse order. manyReversedTill :: Parser a -> Parser b -> Parser [a]@@ -146,34 +166,50 @@  -- | Encode a message to the wire format, as part of a 'Builder'. buildMessage :: Message msg => msg -> Builder-buildMessage msg = foldMap putTaggedValue (messageToTaggedValues msg)+buildMessage = foldMap putTaggedValue . messageToTaggedValues +-- | Encode a message to the wire format, prefixed by its size as a VarInt,+-- as part of a 'Builder'.+--+-- This can be used to build up streams of messages in the size-delimited+-- format expected by some protocols.+buildMessageDelimited :: Message msg => msg -> Builder+buildMessageDelimited msg =+  let b = L.toStrict . toLazyByteString $ buildMessage msg in+    putVarInt (fromIntegral $ B.length b) <> byteString b+ -- | Encode a message as a sequence of key-value pairs. messageToTaggedValues :: Message msg => msg -> [TaggedValue]-messageToTaggedValues msg = mconcat-    [ messageFieldToVals t fieldDescr msg-    | (Tag t, fieldDescr) <- Map.toList (fieldsByTag descriptor)-    ]+messageToTaggedValues msg =+    mconcat+        [ messageFieldToVals tag fieldDescr msg+        | (tag, fieldDescr) <- Map.toList fieldsByTag+        ]+    ++ msg ^. unknownFields -messageFieldToVals :: Int -> FieldDescriptor a -> a -> [TaggedValue]+messageFieldToVals :: Tag -> FieldDescriptor a -> a -> [TaggedValue] messageFieldToVals tag (FieldDescriptor _ typeDescriptor accessor) msg =     let         embed src-            = case fieldWireType typeDescriptor of-                FieldWireType wt convert _-                    -> [TaggedValue tag $ WireValue wt (convert src)]-                GroupFieldType-                    -> TaggedValue tag (WireValue StartGroup ())+            = case typeDescriptor of+                MessageField MessageType -> [TaggedValue tag $ WireValue Lengthy+                                                  $ encodeMessage src]+                MessageField GroupType ->+                    TaggedValue tag (WireValue StartGroup ())                             : messageToTaggedValues src                                 ++ [TaggedValue tag $ WireValue EndGroup ()]+                ScalarField f -> case fieldWireType f of+                    FieldWireType wt convert _ ->+                        [TaggedValue tag $ WireValue wt (convert src)]         embedPacked [] = []         embedPacked src-            = case fieldWireType typeDescriptor of-                GroupFieldType -> error "GroupFieldType can't be packed"-                FieldWireType wt convert _ -> let-                    v = L.toStrict $ toLazyByteString-                        $ mconcat [putWireValue wt (convert x) | x <- src]-                    in [TaggedValue tag $ WireValue Lengthy v]+            = case typeDescriptor of+                MessageField _ -> error "Messages can't be packed"+                ScalarField f -> case fieldWireType f of+                    FieldWireType wt convert _ -> let+                        v = L.toStrict $ toLazyByteString+                            $ mconcat [putWireValue wt (convert x) | x <- src]+                        in [TaggedValue tag $ WireValue Lengthy v]     in case accessor of             PlainField d f                 -- proto3 optional scalar field:@@ -194,9 +230,8 @@ data FieldWireType value where     FieldWireType :: WireType w -> (value -> w) -> (w -> Either String value)                   -> FieldWireType value-    GroupFieldType :: Message value => FieldWireType value -fieldWireType :: FieldTypeDescriptor value -> FieldWireType value+fieldWireType :: ScalarField value -> FieldWireType value -- TODO: Don't let toEnum crash on unknown enum values. fieldWireType EnumField = simpleFieldWireType VarInt                               (fromIntegral . fromEnum)@@ -223,11 +258,8 @@ fieldWireType StringField = FieldWireType Lengthy encodeUtf8                                     (stringizeError . decodeUtf8') fieldWireType BytesField = identityFieldWireType Lengthy-fieldWireType MessageField = FieldWireType Lengthy encodeMessage-                                decodeMessage-fieldWireType GroupField = GroupFieldType -endOfGroup :: String -> Int -> Parser ()+endOfGroup :: String -> Tag -> Parser () endOfGroup name tag = do     TaggedValue tag' (WireValue wt _) <- getTaggedValue     Equal <- equalWireTypes name EndGroup wt
src/Data/ProtoLens/Encoding/Wire.hs view
@@ -5,6 +5,9 @@ -- https://developers.google.com/open-source/licenses/bsd  {-# LANGUAGE GADTs #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternGuards #-}+{-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE RankNTypes #-} -- | Module defining the individual base wire types (e.g. VarInt, Fixed64) and -- how to encode/decode them.@@ -12,6 +15,7 @@     WireType(..),     SomeWireType(..),     WireValue(..),+    Tag(..),     TaggedValue(..),     getTaggedValue,     putTaggedValue,@@ -19,8 +23,10 @@     putWireValue,     Equal(..),     equalWireTypes,+    decodeFieldSet,     ) where +import Control.DeepSeq (NFData(..)) import Data.Attoparsec.ByteString as Parse import Data.Bits import qualified Data.ByteString as B@@ -31,6 +37,9 @@ import Data.ProtoLens.Encoding.Bytes  data WireType a where+    -- Note: all of these types are fully strict (vs, say,+    -- Data.ByteString.Lazy.ByteString).  If that changes, we'll+    -- need to update the NFData instance.     VarInt :: WireType Word64     Fixed64 :: WireType Word64     Fixed32 :: WireType Word32@@ -38,16 +47,42 @@     StartGroup :: WireType ()     EndGroup :: WireType () +instance Show (WireType a) where+    show = show . wireTypeToInt++ -- A value read from the wire data WireValue = forall a . WireValue !(WireType a) !a++instance Show WireValue where+    show (WireValue VarInt x) = show x+    show (WireValue Fixed64 x) = show x+    show (WireValue Fixed32 x) = show x+    show (WireValue Lengthy x) = show x+    show (WireValue StartGroup x) = show x+    show (WireValue EndGroup x) = show x++ -- The wire contents of a single key-value pair in a Message.-data TaggedValue = TaggedValue !Int !WireValue+data TaggedValue = TaggedValue !Tag !WireValue+    deriving (Show, Eq, Ord) -instance Show (WireType a) where-    show = show . wireTypeToInt+-- TaggedValue, WireValue and Tag are strict, so their NFData instances are+-- trivial:+instance NFData TaggedValue where+    rnf = (`seq` ()) +instance NFData WireValue where+    rnf = (`seq` ())++-- | A tag that identifies a particular field of the message when converting+-- to/from the wire format.+newtype Tag = Tag { unTag :: Int}+    deriving (Show, Eq, Ord, Num, NFData)+ data Equal a b where-    Equal :: Equal a a+    -- TODO: move Eq/Ord instance somewhere else?+    Equal :: (Eq a, Ord a) => Equal a a  -- Assert that two wire types are the same, or fail with a message about this -- field.@@ -64,14 +99,26 @@     = fail $ "Field " ++ name ++ " expects wire type " ++ show expected         ++ " but found " ++ show actual -getWireValue :: WireType a -> Int -> Parser a-getWireValue VarInt _ = getVarInt-getWireValue Fixed64 _ = anyBits-getWireValue Fixed32 _ = anyBits-getWireValue Lengthy _ = getVarInt >>= Parse.take . fromIntegral-getWireValue StartGroup _ = return ()-getWireValue EndGroup _ = return ()+instance Eq WireValue where+    WireValue t v == WireValue t' v'+        | Just Equal <- equalWireTypes "" t t'+            = v == v'+        | otherwise = False +instance Ord WireValue where+    WireValue t v `compare` WireValue t' v'+        | Just Equal <- equalWireTypes "" t t'+            = v `compare` v'+        | otherwise = wireTypeToInt t `compare` wireTypeToInt t'++getWireValue :: WireType a -> Parser a+getWireValue VarInt = getVarInt+getWireValue Fixed64 = anyBits+getWireValue Fixed32 = anyBits+getWireValue Lengthy = getVarInt >>= Parse.take . fromIntegral+getWireValue StartGroup = return ()+getWireValue EndGroup = return ()+ putWireValue :: WireType a -> a -> Builder putWireValue VarInt n = putVarInt n putWireValue Fixed64 n = word64LE n@@ -100,11 +147,11 @@ intToWireType 5 = Right $ SomeWireType Fixed32 intToWireType n = Left $ "Unrecognized wire type " ++ show n -putTypeAndTag :: WireType a -> Int -> Builder-putTypeAndTag wt tag+putTypeAndTag :: WireType a -> Tag -> Builder+putTypeAndTag wt (Tag tag)     = putVarInt $ wireTypeToInt wt .|. fromIntegral tag `shiftL` 3 -getTypeAndTag :: Parser (SomeWireType, Int)+getTypeAndTag :: Parser (SomeWireType, Tag) getTypeAndTag = do   n <- getVarInt   case intToWireType (n .&. 7) of@@ -114,9 +161,12 @@ getTaggedValue :: Parser TaggedValue getTaggedValue = do     (SomeWireType wt, tag) <- getTypeAndTag-    val <- getWireValue wt tag+    val <- getWireValue wt     return $ TaggedValue tag (WireValue wt val)  putTaggedValue :: TaggedValue -> Builder putTaggedValue (TaggedValue tag (WireValue wt val)) =     putTypeAndTag wt tag <> putWireValue wt val++decodeFieldSet :: B.ByteString -> Either String [TaggedValue]+decodeFieldSet = parseOnly (manyTill getTaggedValue endOfInput)
src/Data/ProtoLens/Message.hs view
@@ -6,14 +6,18 @@  {-# LANGUAGE GADTs #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternGuards #-} {-# LANGUAGE RankNTypes #-}+{-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE TypeApplications #-} -- | Datatypes for reflection of protocol buffer messages. module Data.ProtoLens.Message (     -- * Reflection of Messages     Message(..),     Tag(..),-    MessageDescriptor(..),+    allFields,     FieldDescriptor(..),     fieldDescriptorName,     isRequired,@@ -21,15 +25,29 @@     WireDefault(..),     Packing(..),     FieldTypeDescriptor(..),+    ScalarField(..),+    MessageOrGroup(..),     FieldDefault(..),     MessageEnum(..),     -- * Building protocol buffers     Default(..),     build,+    -- * Proto registries+    Registry,+    register,+    lookupRegistered,+    SomeMessageType(..),+    -- * Any messages+    matchAnyMessage,+    AnyMessageDescriptor(..),     -- * Utilities for constructing protocol buffer lenses     maybeLens,     -- * Internal utilities for parsing protocol buffers     reverseRepeatedFields,+    -- * Unknown fields+    FieldSet,+    TaggedValue(..),+    discardUnknownFields,     ) where  import qualified Data.ByteString as B@@ -38,37 +56,41 @@ import qualified Data.Map as Map import Data.Map (Map) import Data.Maybe (fromMaybe)+import Data.Proxy (Proxy(..)) import qualified Data.Text as T import Data.Word-import Lens.Family2 (Lens', over)+import Lens.Family2 (Lens', over, set) import Lens.Family2.Unchecked (lens) +import Data.ProtoLens.Encoding.Wire+    ( Tag(..)+    , TaggedValue(..)+    )+ -- | Every protocol buffer is an instance of 'Message'.  This class enables -- serialization by providing reflection of all of the fields that may be used -- by this type. class Default msg => Message msg where-    descriptor :: MessageDescriptor msg---- | The description of a particular protocol buffer message type.-data MessageDescriptor msg = MessageDescriptor-    {  messageName :: T.Text-      -- ^ A unique identifier for this type, of the format-      -- @"packagename.messagename"@.-    , fieldsByTag :: Map Tag (FieldDescriptor msg)-      -- ^ The fields of the proto, indexed by their (integer) tag.-    , fieldsByTextFormatName :: Map String (FieldDescriptor msg)-      -- ^ This map is keyed by the name of the field used for text format protos.-      -- This is just the field name for every field except for group fields,-      -- which use their Message type name in text protos instead of their-      -- field name. For example, "optional group Foo" has the field name "foo"-      -- but in this map it is stored with the key "Foo".-    }+    -- | A unique identifier for this type, of the format+    -- @"packagename.messagename"@.+    messageName :: Proxy msg -> T.Text+    -- | The fields of the proto, indexed by their (integer) tag.+    fieldsByTag :: Map Tag (FieldDescriptor msg)+    -- | This map is keyed by the name of the field used for text format protos.+    -- This is just the field name for every field except for group fields,+    -- which use their Message type name in text protos instead of their+    -- field name. For example, "optional group Foo" has the field name "foo"+    -- but in this map it is stored with the key "Foo".+    fieldsByTextFormatName :: Map String (FieldDescriptor msg)+    fieldsByTextFormatName =+        Map.fromList [(n, f) | f@(FieldDescriptor n _ _) <- allFields]+    -- | Access the unknown fields of a Message.+    unknownFields :: Lens' msg FieldSet --- | A tag that identifies a particular field of the message when converting--- to/from the wire format.-newtype Tag = Tag { unTag :: Int}-    deriving (Show, Eq, Ord, Num)+allFields :: Message msg => [FieldDescriptor msg]+allFields = Map.elems fieldsByTag +type FieldSet = [TaggedValue]  -- | A description of a specific field of a protocol buffer. --@@ -157,33 +179,57 @@  -- | A description of the type of a given field value. data FieldTypeDescriptor value where-    MessageField :: Message value => FieldTypeDescriptor value-    GroupField :: Message value => FieldTypeDescriptor value-    EnumField :: MessageEnum value => FieldTypeDescriptor value-    Int32Field :: FieldTypeDescriptor Int32-    Int64Field :: FieldTypeDescriptor Int64-    UInt32Field :: FieldTypeDescriptor Word32-    UInt64Field :: FieldTypeDescriptor Word64-    SInt32Field :: FieldTypeDescriptor Int32-    SInt64Field :: FieldTypeDescriptor Int64-    Fixed32Field :: FieldTypeDescriptor Word32-    Fixed64Field :: FieldTypeDescriptor Word64-    SFixed32Field :: FieldTypeDescriptor Int32-    SFixed64Field :: FieldTypeDescriptor Int64-    FloatField :: FieldTypeDescriptor Float-    DoubleField :: FieldTypeDescriptor Double-    BoolField :: FieldTypeDescriptor Bool-    StringField :: FieldTypeDescriptor T.Text-    BytesField :: FieldTypeDescriptor B.ByteString+    MessageField :: Message value => MessageOrGroup -> FieldTypeDescriptor value+    ScalarField :: ScalarField value -> FieldTypeDescriptor value  deriving instance Show (FieldTypeDescriptor value) +data MessageOrGroup = MessageType | GroupType+    deriving Show++data ScalarField t where+    EnumField :: MessageEnum value => ScalarField value+    Int32Field :: ScalarField Int32+    Int64Field :: ScalarField Int64+    UInt32Field :: ScalarField Word32+    UInt64Field :: ScalarField Word64+    SInt32Field :: ScalarField Int32+    SInt64Field :: ScalarField Int64+    Fixed32Field :: ScalarField Word32+    Fixed64Field :: ScalarField Word64+    SFixed32Field :: ScalarField Int32+    SFixed64Field :: ScalarField Int64+    FloatField :: ScalarField Float+    DoubleField :: ScalarField Double+    BoolField :: ScalarField Bool+    StringField :: ScalarField T.Text+    BytesField :: ScalarField B.ByteString++deriving instance Show (ScalarField value)++matchAnyMessage :: forall value . FieldTypeDescriptor value -> Maybe (AnyMessageDescriptor value)+matchAnyMessage (MessageField _)+    | messageName (Proxy @value) == "google.protobuf.Any"+    , Just (FieldDescriptor _ (ScalarField StringField) (PlainField Optional typeUrlLens))+        <- Map.lookup 1 (fieldsByTag @value)+    , Just (FieldDescriptor _ (ScalarField BytesField) (PlainField Optional valueLens))+        <- Map.lookup 2 (fieldsByTag @value)+        = Just $ AnyMessageDescriptor typeUrlLens valueLens+matchAnyMessage _ = Nothing++data AnyMessageDescriptor msg+    = AnyMessageDescriptor+        { anyTypeUrlLens :: Lens' msg T.Text+        , anyValueLens :: Lens' msg B.ByteString+        }+ -- | A class for protocol buffer enums that enables safe decoding. class (Enum a, Bounded a) => MessageEnum a where     -- | Convert the given 'Int' to an enum value.  Returns 'Nothing' if     -- no corresponding value was defined in the .proto file.     maybeToEnum :: Int -> Maybe a-    -- | Get the name of this enum as defined in the .proto file.+    -- | Get the name of this enum as defined in the .proto file.  Used+    -- for the human-readable output in @Data.ProtoLens.TextFormat@.     showEnum :: a -> String     -- | Convert the given 'String' to an enum value. Returns 'Nothing' if     -- no corresponding value was defined in the .proto file.@@ -231,3 +277,32 @@     reverseListField x (FieldDescriptor _ _ (RepeatedField _ f))         = over f reverse x     reverseListField x _ = x++-- | A set of known message types. Can help encode/decode protobufs containing+-- @Data.ProtoLens.Any@ values in a more human-readable text format.+--+-- Registries can be combined using their 'Monoid' instance.+--+-- See the @withRegistry@ functions in 'Data.ProtoLens.TextFormat'+newtype Registry = Registry (Map.Map T.Text SomeMessageType)+    deriving Monoid++-- | Build a 'Registry' containing a single proto type.+--+--   Example:+-- > register (Proxy :: Proxy Proto.My.Proto.Type)+register :: forall msg . Message msg => Proxy msg -> Registry+register p = Registry $ Map.singleton (messageName (Proxy @msg)) (SomeMessageType p)++-- | Look up a message type by name (e.g.,+-- @"type.googleapis.com/google.protobuf.FloatValue"@). The URL corresponds to+-- the field @google.protobuf.Any.type_url@.+lookupRegistered :: T.Text -> Registry -> Maybe SomeMessageType+lookupRegistered n (Registry m) = Map.lookup (snd $ T.breakOnEnd "/" n) m++data SomeMessageType where+    SomeMessageType :: Message msg => Proxy msg -> SomeMessageType++-- TODO: recursively+discardUnknownFields :: Message msg => msg -> msg+discardUnknownFields = set unknownFields []
+ src/Data/ProtoLens/Service/Types.hs view
@@ -0,0 +1,126 @@+{-# LANGUAGE ConstraintKinds       #-}+{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleContexts      #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE GADTs                 #-}+{-# LANGUAGE KindSignatures        #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PolyKinds             #-}+{-# LANGUAGE RankNTypes            #-}+{-# LANGUAGE TypeFamilies          #-}+{-# LANGUAGE TypeOperators         #-}+{-# LANGUAGE UndecidableInstances  #-}+{-# OPTIONS_GHC -fno-warn-redundant-constraints #-}++-- | This module provides typeclasses for describing protobuf service metadata.+-- It is intended to be used by library authors to generating bindings against+-- proto services for specific RPC backends.+module Data.ProtoLens.Service.Types+  ( Service (..)+  , HasAllMethods+  , HasMethodImpl (..)+  , HasMethod+  , StreamingType (..)+  ) where++import Data.Kind (Constraint)+import Data.ProtoLens.Message (Message)+import GHC.TypeLits+++-- | Reifies the fact that there is a 'HasMethod' instance for every symbol+-- claimed by the 'ServiceMethods' associated type.+class HasAllMethods s (ms :: [Symbol])+instance HasAllMethods s '[]+instance (HasAllMethods s ms, HasMethodImpl s m) => HasAllMethods s (m ': ms)+++-- | Metadata describing a protobuf service. The 's' parameter is a phantom+-- type generated by proto-lens.+--+-- The 'ServiceName' and 'ServicePackage' associated type can be used to+-- generate RPC endpoint paths.+--+-- 'ServiceMethods' is a promoted list containing every method defined on the+-- service. As witnessed by the 'HasAllMethods' superclass constraint here,+-- this type can be used to discover every instance of 'HasMethod' available+-- for the service.+class ( KnownSymbol (ServiceName s)+      , KnownSymbol (ServicePackage s)+      , HasAllMethods s (ServiceMethods s)+      ) => Service s where+  type ServiceName s    :: Symbol+  type ServicePackage s :: Symbol+  type ServiceMethods s :: [Symbol]+++------------------------------------------------------------------------------+-- | Data type to be used as a promoted type for 'MethodStreamingType'.+data StreamingType+  = NonStreaming+  | ClientStreaming+  | ServerStreaming+  | BiDiStreaming+  deriving (Eq, Ord, Enum, Bounded, Read, Show)+++-- | Metadata describing a service method. The 'MethodInput' and 'MethodOutput'+-- type families correspond to the 'Message's generated by proto-lens for the+-- RPC as described in the protobuf.+--+-- 'IsClientStreaming' and 'IsServerStreaming' can be used to dispatch on+-- library code which wishes to provide different interfaces depending on the+-- type of streaming of the method.+--+-- Library code should use 'HasMethod' instead of this class directly whenever+-- the constraint will be exposed to the end user. 'HasMethod' provides+-- substantially friendlier error messages when used incorrectly.+class ( KnownSymbol m+      , KnownSymbol (MethodName s m)+      , Service s+      , Message (MethodInput  s m)+      , Message (MethodOutput s m)+      ) => HasMethodImpl s (m :: Symbol) where+  type MethodName          s m :: Symbol+  type MethodInput         s m :: *+  type MethodOutput        s m :: *+  type MethodStreamingType s m :: StreamingType+++-- | Helper constraint that expands to a user-friendly error message when 'm'+-- isn't actually a method provided by service 's'.+type HasMethod s m =+  ( RequireHasMethod s m (ListContains m (ServiceMethods s))+  , HasMethodImpl s m+  )+++-- | Outputs an error message saying that the given method wasn't found, and+-- suggests alternatives the user might have wanted.+type family RequireHasMethod s (m :: Symbol) (h :: Bool) :: Constraint where+  RequireHasMethod s m 'False = TypeError+       ( 'Text "No method "+   ':<>: 'ShowType m+   ':<>: 'Text " available for service '"+   ':<>: 'ShowType s+   ':<>: 'Text "'."+   ':$$: 'Text "Available methods are: "+   ':<>: ShowList (ServiceMethods s)+       )+  RequireHasMethod s m 'True = ()+++-- | Expands to 'True' when 'n' is in promoted list 'hs', 'False' otherwise.+type family ListContains (n :: k) (hs :: [k]) :: Bool where+  ListContains n '[]       = 'False+  ListContains n (n ': hs) = 'True+  ListContains n (x ': hs) = ListContains n hs+++-- | Pretty prints a promoted list.+type family ShowList (ls :: [k]) :: ErrorMessage where+  ShowList '[]  = 'Text ""+  ShowList '[x] = 'ShowType x+  ShowList (x ': xs) =+    'ShowType x ':<>: 'Text ", " ':<>: ShowList xs+
src/Data/ProtoLens/TextFormat.hs view
@@ -6,31 +6,41 @@  -- | Functions for converting protocol buffers to a human-readable text format. {-# LANGUAGE GADTs #-}+{-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE PatternGuards #-} {-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE TypeApplications #-}  module Data.ProtoLens.TextFormat(     showMessage,+    showMessageWithRegistry,     showMessageShort,     pprintMessage,+    pprintMessageWithRegistry,     readMessage,+    readMessageWithRegistry,     readMessageOrDie,     ) where -import Lens.Family2 ((&),(^.),(.~), set, over)+import Lens.Family2 ((&),(^.),(.~), set, over, view) import Control.Arrow (left)+import Data.Bifunctor (first) import qualified Data.ByteString import Data.Char (isPrint, isAscii, chr) import Data.Foldable (foldlM, foldl')-import Data.Maybe (catMaybes) import qualified Data.Map as Map+import Data.Maybe (catMaybes)+import Data.Proxy (Proxy(Proxy))+import Data.ProtoLens.Encoding (encodeMessage, decodeMessage) import qualified Data.Set as Set import qualified Data.Text.Encoding as Text import qualified Data.Text.Lazy as Lazy+import qualified Data.Text as Text (unpack) import Numeric (showOct) import Text.Parsec (parse) import Text.PrettyPrint +import Data.ProtoLens.Encoding.Wire import Data.ProtoLens.Message import qualified Data.ProtoLens.TextFormat.Parser as Parser @@ -52,28 +62,36 @@  -- | Pretty-print the given message into a human-readable form. pprintMessage :: Message msg => msg -> Doc-pprintMessage = pprintMessage' descriptor+pprintMessage = pprintMessageWithRegistry mempty +-- | Pretty-print the given message into human-readable form, using the given+-- 'Registry' to decode @google.protobuf.Any@ values.+pprintMessageWithRegistry :: Message msg => Registry -> msg -> Doc+pprintMessageWithRegistry reg msg+    -- Either put all fields together on a single line, or use a separate line+    -- for each field.  We use a single "sep" for all fields (and all elements+    -- of all the repeated fields) to avoid putting some repeated fields on one+    -- line and other fields on multiple lines, which is less readable.+    = sep $ concatMap (pprintField reg msg) allFields+              ++ map pprintTaggedValue (msg ^. unknownFields)+ -- | Convert the given message into a human-readable 'String'. showMessage :: Message msg => msg -> String showMessage = render . pprintMessage +-- | Convert the given message into a human-readable 'String', using the+-- 'Registry' to encode @google.protobuf.Any@ values.+showMessageWithRegistry :: Message msg => Registry -> msg -> String+showMessageWithRegistry reg = render . pprintMessageWithRegistry reg+ -- | Serializes a proto as a string on a single line.  Useful for debugging -- and error messages like @.DebugString()@ in other languages. showMessageShort :: Message msg => msg -> String showMessageShort = renderStyle (Style OneLineMode maxBound 1.5) . pprintMessage -pprintMessage' :: MessageDescriptor msg -> msg -> Doc-pprintMessage' descr msg-    -- Either put all fields together on a single line, or use a separate line-    -- for each field.  We use a single "sep" for all fields (and all elements-    -- of all the repeated fields) to avoid putting some repeated fields on one-    -- line and other fields on multiple lines, which is less readable.-    = sep $ concatMap (pprintField msg) $ Map.elems $ fieldsByTag descr--pprintField :: msg -> FieldDescriptor msg -> [Doc]-pprintField msg (FieldDescriptor name typeDescr accessor)-    = map (pprintFieldValue name typeDescr) $ case accessor of+pprintField :: Registry -> msg -> FieldDescriptor msg -> [Doc]+pprintField reg msg (FieldDescriptor name typeDescr accessor)+    = map (pprintFieldValue reg name typeDescr) $ case accessor of         PlainField d f             | Optional <- d, val == fieldDefault -> []             | otherwise -> [val]@@ -85,28 +103,50 @@           where pairToMsg (x,y) = def & k .~ x                                       & v .~ y -pprintFieldValue :: String -> FieldTypeDescriptor value -> value -> Doc-pprintFieldValue name MessageField m-    = sep [text name <+> lbrace, nest 2 (pprintMessage m), rbrace]-pprintFieldValue name EnumField x = text name <> colon <+> text (showEnum x)-pprintFieldValue name Int32Field x = primField name x-pprintFieldValue name Int64Field x = primField name x-pprintFieldValue name UInt32Field x = primField name x-pprintFieldValue name UInt64Field x = primField name x-pprintFieldValue name SInt32Field x = primField name x-pprintFieldValue name SInt64Field x = primField name x-pprintFieldValue name Fixed32Field x = primField name x-pprintFieldValue name Fixed64Field x = primField name x-pprintFieldValue name SFixed32Field x = primField name x-pprintFieldValue name SFixed64Field x = primField name x-pprintFieldValue name FloatField x = primField name x-pprintFieldValue name DoubleField x = primField name x-pprintFieldValue name BoolField x = text name <> colon <+> boolValue x-pprintFieldValue name StringField x = pprintByteString name (Text.encodeUtf8 x)-pprintFieldValue name BytesField x = pprintByteString name x-pprintFieldValue name GroupField m-    = text name <+> lbrace $$ nest 2 (pprintMessage m) $$ rbrace+pprintFieldValue :: Registry -> String -> FieldTypeDescriptor value -> value -> Doc+pprintFieldValue reg name field@(MessageField MessageType) m+  | Just AnyMessageDescriptor { anyTypeUrlLens, anyValueLens } <- matchAnyMessage field,+    typeUri <- view anyTypeUrlLens m,+    fieldData <- view anyValueLens m,+    Just (SomeMessageType (Proxy :: Proxy value')) <- lookupRegistered typeUri reg,+    Right (anyValue :: value') <- decodeMessage fieldData =+      pprintSubmessage name+          $ sep+            [ lbrack <> text (Text.unpack typeUri) <> rbrack <+> lbrace+            , nest 2 (pprintMessageWithRegistry reg anyValue)+            , rbrace ]+  | otherwise =+      pprintSubmessage name (pprintMessageWithRegistry reg m)+pprintFieldValue reg name (MessageField GroupType) m+    = pprintSubmessage name (pprintMessageWithRegistry reg m)+pprintFieldValue _ name (ScalarField f) x = named name $ pprintScalarValue f x +named :: String -> Doc -> Doc+named n x = text n <> colon <+> x+++pprintScalarValue :: ScalarField value -> value -> Doc+pprintScalarValue EnumField x = text (showEnum x)+pprintScalarValue Int32Field x = primField x+pprintScalarValue Int64Field x = primField x+pprintScalarValue UInt32Field x = primField x+pprintScalarValue UInt64Field x = primField x+pprintScalarValue SInt32Field x = primField x+pprintScalarValue SInt64Field x = primField x+pprintScalarValue Fixed32Field x = primField x+pprintScalarValue Fixed64Field x = primField x+pprintScalarValue SFixed32Field x = primField x+pprintScalarValue SFixed64Field x = primField x+pprintScalarValue FloatField x = primField x+pprintScalarValue DoubleField x = primField x+pprintScalarValue BoolField x = boolValue x+pprintScalarValue StringField x = pprintByteString (Text.encodeUtf8 x)+pprintScalarValue BytesField x = pprintByteString x++pprintSubmessage :: String -> Doc -> Doc+pprintSubmessage name contents =+    sep [text name <+> lbrace, nest 2 contents, rbrace]+ -- | Formats a string in a way that mostly matches the C-compatible escaping -- used by the Protocol Buffer distribution.  We depart a bit by escaping all -- non-ASCII characters, which depending on the locale, the distribution might@@ -116,8 +156,8 @@ -- and \\ only.  Note that Haskell string-literal syntax calls for "\011" to be -- interpreted as decimal 11, rather than the decimal 9 it actually represent, -- so you can't use Prelude.read to parse the strings created here.-pprintByteString :: String -> Data.ByteString.ByteString -> Doc-pprintByteString name x = text name <> colon <+> char '\"'+pprintByteString :: Data.ByteString.ByteString -> Doc+pprintByteString x = char '\"'     <> text (concatMap escape $ Data.ByteString.unpack x) <> char '\"'   where escape w8 | ch == '\n'               = "\\n"                   | ch == '\r'               = "\\r"@@ -131,19 +171,34 @@             ch = chr $ fromIntegral w8             pad str = replicate (3 - length str) '0' ++ str -primField :: Show value => String -> value -> Doc-primField name x = text name <> colon <+> text (show x)+primField :: Show value => value -> Doc+primField x = text (show x)  boolValue :: Bool -> Doc boolValue True = text "true" boolValue False = text "false" +pprintTaggedValue :: TaggedValue -> Doc+pprintTaggedValue (TaggedValue t (WireValue v x)) = case v of+    VarInt -> named name $ primField x+    Fixed64 -> named name $ primField x+    Fixed32 -> named name $ primField x+    Lengthy -> case decodeFieldSet x of+                  Left _ -> named name $ pprintByteString x+                  Right ts -> pprintSubmessage name+                                $ sep $ map pprintTaggedValue ts+    -- TODO: implement better printing for unknown groups+    StartGroup -> named name $ text "start_group"+    EndGroup -> named name $ text "end_group"+  where+    name = show (unTag t)+ -------------------------------------------------------------------------------- -- Parsing  -- | Parse a 'Message' from the human-readable protocol buffer text format. readMessage :: Message msg => Lazy.Text -> Either String msg-readMessage str = left show (parse Parser.parser "" str) >>= buildMessage+readMessage = readMessageWithRegistry mempty  -- | Parse a 'Message' from the human-readable protocol buffer text format. -- Throws an error if the parse was not successful.@@ -152,47 +207,49 @@     Left e -> error $ "readMessageOrDie: " ++ e     Right x -> x -buildMessage :: forall msg . Message msg => Parser.Message -> Either String msg-buildMessage fields-    | missing <- missingFields desc fields, not $ null missing+-- | Parse a 'Message' from a human-readable protocol buffer text format, using+-- the given 'Registry' to decode 'Any' fields+readMessageWithRegistry :: Message msg => Registry -> Lazy.Text -> Either String msg+readMessageWithRegistry reg str = left show (parse Parser.parser "" str) >>= buildMessage reg++buildMessage :: forall msg . Message msg => Registry -> Parser.Message -> Either String msg+buildMessage reg fields+    | missing <- missingFields (Proxy @msg) fields, not $ null missing         = Left $ "Missing fields " ++ show missing-    | otherwise = reverseRepeatedFields (fieldsByTag desc)-                      <$> buildMessageFromDescriptor desc def fields-  where-    desc :: MessageDescriptor msg-    desc = descriptor+    | otherwise = reverseRepeatedFields fieldsByTag+                      <$> buildMessageFromDescriptor reg def fields -missingFields :: MessageDescriptor msg -> Parser.Message -> [String]-missingFields desc = Set.toList . foldl' deleteField requiredFieldNames+missingFields :: forall msg . Message msg => Proxy msg -> Parser.Message -> [String]+missingFields _ = Set.toList . foldl' deleteField requiredFieldNames   where     requiredFieldNames :: Set.Set String     requiredFieldNames = Set.fromList $ Map.keys                             $ Map.filter isRequired-                            $ fieldsByTextFormatName desc+                            $ fieldsByTextFormatName @msg     deleteField :: Set.Set String -> Parser.Field -> Set.Set String     deleteField fs (Parser.Field (Parser.Key name) _) = Set.delete name fs     deleteField fs (Parser.Field (Parser.UnknownKey n) _)-        | Just d <- Map.lookup (Tag (fromIntegral n)) $ fieldsByTag desc+        | Just d <- Map.lookup (Tag (fromIntegral n)) (fieldsByTag @msg)         = Set.delete (fieldDescriptorName d) fs     deleteField fs _ = fs   buildMessageFromDescriptor-    :: MessageDescriptor msg -> msg -> Parser.Message -> Either String msg-buildMessageFromDescriptor descr = foldlM (addField descr)+    :: Message msg => Registry -> msg -> Parser.Message -> Either String msg+buildMessageFromDescriptor reg = foldlM (addField reg) -addField :: MessageDescriptor msg -> msg -> Parser.Field -> Either String msg-addField descr msg (Parser.Field key rawValue) = do-    FieldDescriptor _ typeDescriptor accessor <- getFieldDescriptor-    value <- makeValue typeDescriptor rawValue+addField :: forall msg . Message msg => Registry -> msg -> Parser.Field -> Either String msg+addField reg msg (Parser.Field key rawValue) = do+    FieldDescriptor name typeDescriptor accessor <- getFieldDescriptor+    value <- makeValue name reg typeDescriptor rawValue     return $ modifyField accessor value msg   where     getFieldDescriptor         | Parser.Key name <- key, Just f <- Map.lookup name-                                                (fieldsByTextFormatName descr)+                                                fieldsByTextFormatName             = return f         | Parser.UnknownKey tag <- key, Just f <- Map.lookup (fromIntegral tag)-                                                      (fieldsByTag descr)+                                                      fieldsByTag             = return f         | otherwise = Left $ "Unrecognized field " ++ show key @@ -203,37 +260,63 @@ modifyField (MapField key value f) mapElem     = over f (Map.insert (mapElem ^. key) (mapElem ^. value)) -makeValue :: FieldTypeDescriptor value -> Parser.Value -> Either String value-makeValue Int32Field (Parser.IntValue x) = Right (fromInteger x)-makeValue Int64Field (Parser.IntValue x) = Right (fromInteger x)-makeValue UInt32Field (Parser.IntValue x) = Right (fromInteger x)-makeValue UInt64Field (Parser.IntValue x) = Right (fromInteger x)-makeValue SInt32Field (Parser.IntValue x) = Right (fromInteger x)-makeValue SInt64Field (Parser.IntValue x) = Right (fromInteger x)-makeValue Fixed32Field (Parser.IntValue x) = Right (fromInteger x)-makeValue Fixed64Field (Parser.IntValue x) = Right (fromInteger x)-makeValue SFixed32Field (Parser.IntValue x) = Right (fromInteger x)-makeValue SFixed64Field (Parser.IntValue x) = Right (fromInteger x)-makeValue FloatField (Parser.IntValue x) = Right (fromInteger x)-makeValue DoubleField (Parser.IntValue x) = Right (fromInteger x)-makeValue BoolField (Parser.IntValue x)+makeValue+    :: forall value+     . String -- ^ name of field+    -> Registry+    -> FieldTypeDescriptor value+    -> Parser.Value+    -> Either String value+makeValue name _ (ScalarField f) v =+    first (("Error parsing field " ++ show name ++ ": ") ++) $ makeScalarValue f v+makeValue name reg field@(MessageField MessageType) (Parser.MessageValue (Just typeUri) x)+    | Just AnyMessageDescriptor { anyTypeUrlLens, anyValueLens } <- matchAnyMessage field =+        case lookupRegistered typeUri reg of+          Nothing -> Left $ "Could not decode google.protobuf.Any for field "+                                ++ show name ++ ": unregistered type URI "+                                ++ show typeUri+          Just (SomeMessageType (Proxy :: Proxy value')) ->+            case buildMessage reg x :: Either String value' of+              Left err -> Left err+              Right value' -> Right (def & anyTypeUrlLens .~ typeUri+                                         & anyValueLens .~ encodeMessage value')+    | otherwise = Left ("Type mismatch parsing explicitly typed message. Expected " +++                        show (messageName (Proxy @value))  +++                        ", got " ++ show typeUri)+makeValue _ reg (MessageField _) (Parser.MessageValue _ x) = buildMessage reg x+makeValue name _ (MessageField _) val =+    Left $ "Type mismatch for field " ++ show name +++            ": expected message, found " ++ show val++makeScalarValue :: ScalarField value -> Parser.Value -> Either String value+makeScalarValue Int32Field (Parser.IntValue x) = Right (fromInteger x)+makeScalarValue Int64Field (Parser.IntValue x) = Right (fromInteger x)+makeScalarValue UInt32Field (Parser.IntValue x) = Right (fromInteger x)+makeScalarValue UInt64Field (Parser.IntValue x) = Right (fromInteger x)+makeScalarValue SInt32Field (Parser.IntValue x) = Right (fromInteger x)+makeScalarValue SInt64Field (Parser.IntValue x) = Right (fromInteger x)+makeScalarValue Fixed32Field (Parser.IntValue x) = Right (fromInteger x)+makeScalarValue Fixed64Field (Parser.IntValue x) = Right (fromInteger x)+makeScalarValue SFixed32Field (Parser.IntValue x) = Right (fromInteger x)+makeScalarValue SFixed64Field (Parser.IntValue x) = Right (fromInteger x)+makeScalarValue FloatField (Parser.IntValue x) = Right (fromInteger x)+makeScalarValue DoubleField (Parser.IntValue x) = Right (fromInteger x)+makeScalarValue BoolField (Parser.IntValue x)     | x == 0 = Right False     | x == 1 = Right True     | otherwise = Left $ "Unrecognized bool value " ++ show x-makeValue DoubleField (Parser.DoubleValue x) = Right x-makeValue FloatField (Parser.DoubleValue x) = Right (realToFrac x)-makeValue BoolField (Parser.EnumValue x)+makeScalarValue DoubleField (Parser.DoubleValue x) = Right x+makeScalarValue FloatField (Parser.DoubleValue x) = Right (realToFrac x)+makeScalarValue BoolField (Parser.EnumValue x)     | x == "true" = Right True     | x == "false" = Right False     | otherwise = Left $ "Unrecognized bool value " ++ show x-makeValue StringField (Parser.ByteStringValue x) = Right (Text.decodeUtf8 x)-makeValue BytesField (Parser.ByteStringValue x) = Right x-makeValue EnumField (Parser.IntValue x) =+makeScalarValue StringField (Parser.ByteStringValue x) = Right (Text.decodeUtf8 x)+makeScalarValue BytesField (Parser.ByteStringValue x) = Right x+makeScalarValue EnumField (Parser.IntValue x) =     maybe (Left $ "Unrecognized enum value " ++ show x) Right         (maybeToEnum $ fromInteger x)-makeValue EnumField (Parser.EnumValue x) =+makeScalarValue EnumField (Parser.EnumValue x) =     maybe (Left $ "Unrecognized enum value " ++ show x) Right         (readEnum x)-makeValue MessageField (Parser.MessageValue x) = buildMessage x-makeValue GroupField (Parser.MessageValue x) = buildMessage x-makeValue f val = Left $ "Type mismatch parsing text format: " ++ show (f, val)+makeScalarValue f val = Left $ "Type mismatch: " ++ show (f, val)
src/Data/ProtoLens/TextFormat/Parser.hs view
@@ -15,13 +15,15 @@     ) where  import Data.ByteString (ByteString, pack)-import Data.Char (ord)+import Data.Char (ord, isSpace) import Data.Functor.Identity (Identity) import Data.List (intercalate) import Data.Maybe (catMaybes) import Data.Text.Lazy (Text)+import qualified Data.Text as StrictText import Data.Word (Word8) import Numeric (readOct, readHex)+import Text.Parsec ((<?>)) import Text.Parsec.Char   (alphaNum, char, hexDigit, letter, octDigit, oneOf, satisfy) import Text.Parsec.Text.Lazy (Parser)@@ -67,13 +69,14 @@ data Value = IntValue Integer  -- ^ An integer   | DoubleValue Double  -- ^ Any floating point number   | ByteStringValue ByteString    -- ^ A string or bytes literal-  | MessageValue Message  -- ^ A sub message+  | MessageValue (Maybe StrictText.Text) Message  -- ^ A sub message, with an optional type URI   | EnumValue String  -- ^ Any undelimited string (including false & true)   deriving (Show,Ord,Eq)  instance Show Key   where-    show (Key name) = name+    show (Key name) = show name  -- Quoting field names (i.e., `"field"` vs `field`+                                 -- leads to nicer error messages.     show (UnknownKey k) = show k     show (ExtensionKey name) = "[" ++ intercalate "." name ++ "]"     show (UnknownExtensionKey k) = "[" ++ show k ++ "]"@@ -100,8 +103,15 @@     parseString = liftM (ByteStringValue . mconcat)         $ many1 $ lexeme ptp $ protoStringLiteral     parseEnumValue = liftM EnumValue (identifier ptp)-    parseMessageValue = liftM MessageValue-        (braces ptp parseMessage <|> angles ptp parseMessage)+    parseMessageValue =+        braces ptp (parseAny <|>+                    liftM (MessageValue Nothing) parseMessage) <|>+        angles ptp (liftM (MessageValue Nothing) parseMessage)++    typeUri = liftM StrictText.pack (many (satisfy (\c -> c /= ']' && not (isSpace c)))) <?>+              "type URI"+    parseAny = liftM2 MessageValue (liftM Just (brackets ptp typeUri))+                                   (braces ptp parseMessage)      makeNumberValue :: Bool -> Either Integer Double -> Value     makeNumberValue True (Left intValue) = IntValue (negate intValue)
+ src/Proto/Google/Protobuf/Compiler/Plugin.hs view
@@ -0,0 +1,345 @@+{- This file was auto-generated from google/protobuf/compiler/plugin.proto by the proto-lens-protoc program. -}+{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,+  UndecidableInstances, GeneralizedNewtypeDeriving,+  MultiParamTypeClasses, FlexibleContexts, FlexibleInstances,+  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports#-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports#-}+module Proto.Google.Protobuf.Compiler.Plugin+       (CodeGeneratorRequest(..), CodeGeneratorResponse(..),+        CodeGeneratorResponse'File(..))+       where+import qualified Lens.Labels.Prism+import qualified Prelude+import qualified Data.Int+import qualified Data.Word+import qualified Data.ProtoLens+import qualified Data.ProtoLens.Message.Enum+import qualified Data.ProtoLens.Service.Types+import qualified Lens.Family2+import qualified Lens.Family2.Unchecked+import qualified Data.Default.Class+import qualified Data.Text+import qualified Data.Map+import qualified Data.ByteString+import qualified Data.ByteString.Char8+import qualified Lens.Labels+import qualified Text.Read+import qualified Proto.Google.Protobuf.Descriptor++{- | Fields :++    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.fileToGenerate' @:: Lens' CodeGeneratorRequest [Data.Text.Text]@+    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.parameter' @:: Lens' CodeGeneratorRequest Data.Text.Text@+    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'parameter' @:: Lens' CodeGeneratorRequest (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.protoFile' @:: Lens' CodeGeneratorRequest+  [Proto.Google.Protobuf.Descriptor.FileDescriptorProto]@+ -}+data CodeGeneratorRequest = CodeGeneratorRequest{_CodeGeneratorRequest'fileToGenerate+                                                 :: ![Data.Text.Text],+                                                 _CodeGeneratorRequest'parameter ::+                                                 !(Prelude.Maybe Data.Text.Text),+                                                 _CodeGeneratorRequest'protoFile ::+                                                 ![Proto.Google.Protobuf.Descriptor.FileDescriptorProto],+                                                 _CodeGeneratorRequest'_unknownFields ::+                                                 !Data.ProtoLens.FieldSet}+                          deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f CodeGeneratorRequest x a,+          a ~ b) =>+         Lens.Labels.HasLens f CodeGeneratorRequest CodeGeneratorRequest x a+           b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f CodeGeneratorRequest "fileToGenerate"+           ([Data.Text.Text])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _CodeGeneratorRequest'fileToGenerate+                 (\ x__ y__ -> x__{_CodeGeneratorRequest'fileToGenerate = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f CodeGeneratorRequest "parameter"+           (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _CodeGeneratorRequest'parameter+                 (\ x__ y__ -> x__{_CodeGeneratorRequest'parameter = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f CodeGeneratorRequest "maybe'parameter"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _CodeGeneratorRequest'parameter+                 (\ x__ y__ -> x__{_CodeGeneratorRequest'parameter = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f CodeGeneratorRequest "protoFile"+           ([Proto.Google.Protobuf.Descriptor.FileDescriptorProto])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _CodeGeneratorRequest'protoFile+                 (\ x__ y__ -> x__{_CodeGeneratorRequest'protoFile = y__}))+              Prelude.id+instance Data.Default.Class.Default CodeGeneratorRequest where+        def+          = CodeGeneratorRequest{_CodeGeneratorRequest'fileToGenerate = [],+                                 _CodeGeneratorRequest'parameter = Prelude.Nothing,+                                 _CodeGeneratorRequest'protoFile = [],+                                 _CodeGeneratorRequest'_unknownFields = ([])}+instance Data.ProtoLens.Message CodeGeneratorRequest where+        messageName _+          = Data.Text.pack "google.protobuf.compiler.CodeGeneratorRequest"+        fieldsByTag+          = let fileToGenerate__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "file_to_generate"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "fileToGenerate")))+                      :: Data.ProtoLens.FieldDescriptor CodeGeneratorRequest+                parameter__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "parameter"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'parameter")))+                      :: Data.ProtoLens.FieldDescriptor CodeGeneratorRequest+                protoFile__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "proto_file"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor+                           Proto.Google.Protobuf.Descriptor.FileDescriptorProto)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "protoFile")))+                      :: Data.ProtoLens.FieldDescriptor CodeGeneratorRequest+              in+              Data.Map.fromList+                [(Data.ProtoLens.Tag 1, fileToGenerate__field_descriptor),+                 (Data.ProtoLens.Tag 2, parameter__field_descriptor),+                 (Data.ProtoLens.Tag 15, protoFile__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens _CodeGeneratorRequest'_unknownFields+              (\ x__ y__ -> x__{_CodeGeneratorRequest'_unknownFields = y__})+{- | Fields :++    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.error' @:: Lens' CodeGeneratorResponse Data.Text.Text@+    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'error' @:: Lens' CodeGeneratorResponse (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.file' @:: Lens' CodeGeneratorResponse [CodeGeneratorResponse'File]@+ -}+data CodeGeneratorResponse = CodeGeneratorResponse{_CodeGeneratorResponse'error+                                                   :: !(Prelude.Maybe Data.Text.Text),+                                                   _CodeGeneratorResponse'file ::+                                                   ![CodeGeneratorResponse'File],+                                                   _CodeGeneratorResponse'_unknownFields ::+                                                   !Data.ProtoLens.FieldSet}+                           deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f CodeGeneratorResponse x a,+          a ~ b) =>+         Lens.Labels.HasLens f CodeGeneratorResponse CodeGeneratorResponse x+           a+           b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f CodeGeneratorResponse "error"+           (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'error+                 (\ x__ y__ -> x__{_CodeGeneratorResponse'error = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f CodeGeneratorResponse "maybe'error"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'error+                 (\ x__ y__ -> x__{_CodeGeneratorResponse'error = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f CodeGeneratorResponse "file"+           ([CodeGeneratorResponse'File])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'file+                 (\ x__ y__ -> x__{_CodeGeneratorResponse'file = y__}))+              Prelude.id+instance Data.Default.Class.Default CodeGeneratorResponse where+        def+          = CodeGeneratorResponse{_CodeGeneratorResponse'error =+                                    Prelude.Nothing,+                                  _CodeGeneratorResponse'file = [],+                                  _CodeGeneratorResponse'_unknownFields = ([])}+instance Data.ProtoLens.Message CodeGeneratorResponse where+        messageName _+          = Data.Text.pack "google.protobuf.compiler.CodeGeneratorResponse"+        fieldsByTag+          = let error__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "error"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'error")))+                      :: Data.ProtoLens.FieldDescriptor CodeGeneratorResponse+                file__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "file"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor CodeGeneratorResponse'File)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "file")))+                      :: Data.ProtoLens.FieldDescriptor CodeGeneratorResponse+              in+              Data.Map.fromList+                [(Data.ProtoLens.Tag 1, error__field_descriptor),+                 (Data.ProtoLens.Tag 15, file__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens _CodeGeneratorResponse'_unknownFields+              (\ x__ y__ -> x__{_CodeGeneratorResponse'_unknownFields = y__})+{- | Fields :++    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.name' @:: Lens' CodeGeneratorResponse'File Data.Text.Text@+    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'name' @:: Lens' CodeGeneratorResponse'File (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.insertionPoint' @:: Lens' CodeGeneratorResponse'File Data.Text.Text@+    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'insertionPoint' @:: Lens' CodeGeneratorResponse'File (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.content' @:: Lens' CodeGeneratorResponse'File Data.Text.Text@+    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'content' @:: Lens' CodeGeneratorResponse'File (Prelude.Maybe Data.Text.Text)@+ -}+data CodeGeneratorResponse'File = CodeGeneratorResponse'File{_CodeGeneratorResponse'File'name+                                                             :: !(Prelude.Maybe Data.Text.Text),+                                                             _CodeGeneratorResponse'File'insertionPoint+                                                             :: !(Prelude.Maybe Data.Text.Text),+                                                             _CodeGeneratorResponse'File'content ::+                                                             !(Prelude.Maybe Data.Text.Text),+                                                             _CodeGeneratorResponse'File'_unknownFields+                                                             :: !Data.ProtoLens.FieldSet}+                                deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f CodeGeneratorResponse'File x a,+          a ~ b) =>+         Lens.Labels.HasLens f CodeGeneratorResponse'File+           CodeGeneratorResponse'File+           x+           a+           b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f CodeGeneratorResponse'File "name"+           (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'File'name+                 (\ x__ y__ -> x__{_CodeGeneratorResponse'File'name = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f CodeGeneratorResponse'File "maybe'name"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'File'name+                 (\ x__ y__ -> x__{_CodeGeneratorResponse'File'name = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f CodeGeneratorResponse'File "insertionPoint"+           (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens+                 _CodeGeneratorResponse'File'insertionPoint+                 (\ x__ y__ ->+                    x__{_CodeGeneratorResponse'File'insertionPoint = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f CodeGeneratorResponse'File+           "maybe'insertionPoint"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens+                 _CodeGeneratorResponse'File'insertionPoint+                 (\ x__ y__ ->+                    x__{_CodeGeneratorResponse'File'insertionPoint = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f CodeGeneratorResponse'File "content"+           (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'File'content+                 (\ x__ y__ -> x__{_CodeGeneratorResponse'File'content = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f CodeGeneratorResponse'File "maybe'content"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'File'content+                 (\ x__ y__ -> x__{_CodeGeneratorResponse'File'content = y__}))+              Prelude.id+instance Data.Default.Class.Default CodeGeneratorResponse'File+         where+        def+          = CodeGeneratorResponse'File{_CodeGeneratorResponse'File'name =+                                         Prelude.Nothing,+                                       _CodeGeneratorResponse'File'insertionPoint = Prelude.Nothing,+                                       _CodeGeneratorResponse'File'content = Prelude.Nothing,+                                       _CodeGeneratorResponse'File'_unknownFields = ([])}+instance Data.ProtoLens.Message CodeGeneratorResponse'File where+        messageName _+          = Data.Text.pack+              "google.protobuf.compiler.CodeGeneratorResponse.File"+        fieldsByTag+          = let name__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "name"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))+                      :: Data.ProtoLens.FieldDescriptor CodeGeneratorResponse'File+                insertionPoint__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "insertion_point"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'insertionPoint")))+                      :: Data.ProtoLens.FieldDescriptor CodeGeneratorResponse'File+                content__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "content"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'content")))+                      :: Data.ProtoLens.FieldDescriptor CodeGeneratorResponse'File+              in+              Data.Map.fromList+                [(Data.ProtoLens.Tag 1, name__field_descriptor),+                 (Data.ProtoLens.Tag 2, insertionPoint__field_descriptor),+                 (Data.ProtoLens.Tag 15, content__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens+              _CodeGeneratorResponse'File'_unknownFields+              (\ x__ y__ ->+                 x__{_CodeGeneratorResponse'File'_unknownFields = y__})
+ src/Proto/Google/Protobuf/Compiler/Plugin_Fields.hs view
@@ -0,0 +1,109 @@+{- This file was auto-generated from google/protobuf/compiler/plugin.proto by the proto-lens-protoc program. -}+{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,+  UndecidableInstances, GeneralizedNewtypeDeriving,+  MultiParamTypeClasses, FlexibleContexts, FlexibleInstances,+  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports#-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports#-}+module Proto.Google.Protobuf.Compiler.Plugin_Fields where+import qualified Prelude+import qualified Data.Int+import qualified Data.Word+import qualified Data.ProtoLens+import qualified Data.ProtoLens.Message.Enum+import qualified Data.ProtoLens.Service.Types+import qualified Lens.Family2+import qualified Lens.Family2.Unchecked+import qualified Data.Default.Class+import qualified Data.Text+import qualified Data.Map+import qualified Data.ByteString+import qualified Data.ByteString.Char8+import qualified Lens.Labels+import qualified Text.Read+import qualified Proto.Google.Protobuf.Descriptor++content ::+        forall f s t a b . (Lens.Labels.HasLens f s t "content" a b) =>+          Lens.Family2.LensLike f s t a b+content+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "content")+error ::+      forall f s t a b . (Lens.Labels.HasLens f s t "error" a b) =>+        Lens.Family2.LensLike f s t a b+error+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "error")+file ::+     forall f s t a b . (Lens.Labels.HasLens f s t "file" a b) =>+       Lens.Family2.LensLike f s t a b+file+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "file")+fileToGenerate ::+               forall f s t a b .+                 (Lens.Labels.HasLens f s t "fileToGenerate" a b) =>+                 Lens.Family2.LensLike f s t a b+fileToGenerate+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "fileToGenerate")+insertionPoint ::+               forall f s t a b .+                 (Lens.Labels.HasLens f s t "insertionPoint" a b) =>+                 Lens.Family2.LensLike f s t a b+insertionPoint+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "insertionPoint")+maybe'content ::+              forall f s t a b .+                (Lens.Labels.HasLens f s t "maybe'content" a b) =>+                Lens.Family2.LensLike f s t a b+maybe'content+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'content")+maybe'error ::+            forall f s t a b . (Lens.Labels.HasLens f s t "maybe'error" a b) =>+              Lens.Family2.LensLike f s t a b+maybe'error+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'error")+maybe'insertionPoint ::+                     forall f s t a b .+                       (Lens.Labels.HasLens f s t "maybe'insertionPoint" a b) =>+                       Lens.Family2.LensLike f s t a b+maybe'insertionPoint+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "maybe'insertionPoint")+maybe'name ::+           forall f s t a b . (Lens.Labels.HasLens f s t "maybe'name" a b) =>+             Lens.Family2.LensLike f s t a b+maybe'name+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")+maybe'parameter ::+                forall f s t a b .+                  (Lens.Labels.HasLens f s t "maybe'parameter" a b) =>+                  Lens.Family2.LensLike f s t a b+maybe'parameter+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'parameter")+name ::+     forall f s t a b . (Lens.Labels.HasLens f s t "name" a b) =>+       Lens.Family2.LensLike f s t a b+name+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "name")+parameter ::+          forall f s t a b . (Lens.Labels.HasLens f s t "parameter" a b) =>+            Lens.Family2.LensLike f s t a b+parameter+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "parameter")+protoFile ::+          forall f s t a b . (Lens.Labels.HasLens f s t "protoFile" a b) =>+            Lens.Family2.LensLike f s t a b+protoFile+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "protoFile")
+ src/Proto/Google/Protobuf/Descriptor.hs view
@@ -0,0 +1,4182 @@+{- This file was auto-generated from google/protobuf/descriptor.proto by the proto-lens-protoc program. -}+{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,+  UndecidableInstances, GeneralizedNewtypeDeriving,+  MultiParamTypeClasses, FlexibleContexts, FlexibleInstances,+  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports#-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports#-}+module Proto.Google.Protobuf.Descriptor+       (DescriptorProto(..), DescriptorProto'ExtensionRange(..),+        DescriptorProto'ReservedRange(..), EnumDescriptorProto(..),+        EnumOptions(..), EnumValueDescriptorProto(..),+        EnumValueOptions(..), FieldDescriptorProto(..),+        FieldDescriptorProto'Label(..), FieldDescriptorProto'Label(),+        FieldDescriptorProto'Type(..), FieldDescriptorProto'Type(),+        FieldOptions(..), FieldOptions'CType(..), FieldOptions'CType(),+        FieldOptions'JSType(..), FieldOptions'JSType(),+        FileDescriptorProto(..), FileDescriptorSet(..), FileOptions(..),+        FileOptions'OptimizeMode(..), FileOptions'OptimizeMode(),+        GeneratedCodeInfo(..), GeneratedCodeInfo'Annotation(..),+        MessageOptions(..), MethodDescriptorProto(..), MethodOptions(..),+        OneofDescriptorProto(..), ServiceDescriptorProto(..),+        ServiceOptions(..), SourceCodeInfo(..),+        SourceCodeInfo'Location(..), UninterpretedOption(..),+        UninterpretedOption'NamePart(..))+       where+import qualified Lens.Labels.Prism+import qualified Prelude+import qualified Data.Int+import qualified Data.Word+import qualified Data.ProtoLens+import qualified Data.ProtoLens.Message.Enum+import qualified Data.ProtoLens.Service.Types+import qualified Lens.Family2+import qualified Lens.Family2.Unchecked+import qualified Data.Default.Class+import qualified Data.Text+import qualified Data.Map+import qualified Data.ByteString+import qualified Data.ByteString.Char8+import qualified Lens.Labels+import qualified Text.Read++{- | Fields :++    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' DescriptorProto Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' DescriptorProto (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.field' @:: Lens' DescriptorProto [FieldDescriptorProto]@+    * 'Proto.Google.Protobuf.Descriptor_Fields.extension' @:: Lens' DescriptorProto [FieldDescriptorProto]@+    * 'Proto.Google.Protobuf.Descriptor_Fields.nestedType' @:: Lens' DescriptorProto [DescriptorProto]@+    * 'Proto.Google.Protobuf.Descriptor_Fields.enumType' @:: Lens' DescriptorProto [EnumDescriptorProto]@+    * 'Proto.Google.Protobuf.Descriptor_Fields.extensionRange' @:: Lens' DescriptorProto [DescriptorProto'ExtensionRange]@+    * 'Proto.Google.Protobuf.Descriptor_Fields.oneofDecl' @:: Lens' DescriptorProto [OneofDescriptorProto]@+    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' DescriptorProto MessageOptions@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' DescriptorProto (Prelude.Maybe MessageOptions)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.reservedRange' @:: Lens' DescriptorProto [DescriptorProto'ReservedRange]@+    * 'Proto.Google.Protobuf.Descriptor_Fields.reservedName' @:: Lens' DescriptorProto [Data.Text.Text]@+ -}+data DescriptorProto = DescriptorProto{_DescriptorProto'name ::+                                       !(Prelude.Maybe Data.Text.Text),+                                       _DescriptorProto'field :: ![FieldDescriptorProto],+                                       _DescriptorProto'extension :: ![FieldDescriptorProto],+                                       _DescriptorProto'nestedType :: ![DescriptorProto],+                                       _DescriptorProto'enumType :: ![EnumDescriptorProto],+                                       _DescriptorProto'extensionRange ::+                                       ![DescriptorProto'ExtensionRange],+                                       _DescriptorProto'oneofDecl :: ![OneofDescriptorProto],+                                       _DescriptorProto'options :: !(Prelude.Maybe MessageOptions),+                                       _DescriptorProto'reservedRange ::+                                       ![DescriptorProto'ReservedRange],+                                       _DescriptorProto'reservedName :: ![Data.Text.Text],+                                       _DescriptorProto'_unknownFields :: !Data.ProtoLens.FieldSet}+                     deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f DescriptorProto x a, a ~ b) =>+         Lens.Labels.HasLens f DescriptorProto DescriptorProto x a b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f DescriptorProto "name" (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _DescriptorProto'name+                 (\ x__ y__ -> x__{_DescriptorProto'name = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f DescriptorProto "maybe'name"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _DescriptorProto'name+                 (\ x__ y__ -> x__{_DescriptorProto'name = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f DescriptorProto "field"+           ([FieldDescriptorProto])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _DescriptorProto'field+                 (\ x__ y__ -> x__{_DescriptorProto'field = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f DescriptorProto "extension"+           ([FieldDescriptorProto])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _DescriptorProto'extension+                 (\ x__ y__ -> x__{_DescriptorProto'extension = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f DescriptorProto "nestedType"+           ([DescriptorProto])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _DescriptorProto'nestedType+                 (\ x__ y__ -> x__{_DescriptorProto'nestedType = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f DescriptorProto "enumType"+           ([EnumDescriptorProto])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _DescriptorProto'enumType+                 (\ x__ y__ -> x__{_DescriptorProto'enumType = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f DescriptorProto "extensionRange"+           ([DescriptorProto'ExtensionRange])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _DescriptorProto'extensionRange+                 (\ x__ y__ -> x__{_DescriptorProto'extensionRange = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f DescriptorProto "oneofDecl"+           ([OneofDescriptorProto])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _DescriptorProto'oneofDecl+                 (\ x__ y__ -> x__{_DescriptorProto'oneofDecl = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f DescriptorProto "options" (MessageOptions)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _DescriptorProto'options+                 (\ x__ y__ -> x__{_DescriptorProto'options = y__}))+              (Data.ProtoLens.maybeLens Data.Default.Class.def)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f DescriptorProto "maybe'options"+           (Prelude.Maybe MessageOptions)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _DescriptorProto'options+                 (\ x__ y__ -> x__{_DescriptorProto'options = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f DescriptorProto "reservedRange"+           ([DescriptorProto'ReservedRange])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _DescriptorProto'reservedRange+                 (\ x__ y__ -> x__{_DescriptorProto'reservedRange = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f DescriptorProto "reservedName"+           ([Data.Text.Text])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _DescriptorProto'reservedName+                 (\ x__ y__ -> x__{_DescriptorProto'reservedName = y__}))+              Prelude.id+instance Data.Default.Class.Default DescriptorProto where+        def+          = DescriptorProto{_DescriptorProto'name = Prelude.Nothing,+                            _DescriptorProto'field = [], _DescriptorProto'extension = [],+                            _DescriptorProto'nestedType = [], _DescriptorProto'enumType = [],+                            _DescriptorProto'extensionRange = [],+                            _DescriptorProto'oneofDecl = [],+                            _DescriptorProto'options = Prelude.Nothing,+                            _DescriptorProto'reservedRange = [],+                            _DescriptorProto'reservedName = [],+                            _DescriptorProto'_unknownFields = ([])}+instance Data.ProtoLens.Message DescriptorProto where+        messageName _ = Data.Text.pack "google.protobuf.DescriptorProto"+        fieldsByTag+          = let name__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "name"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto+                field__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "field"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "field")))+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto+                extension__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "extension"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "extension")))+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto+                nestedType__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "nested_type"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor DescriptorProto)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "nestedType")))+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto+                enumType__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "enum_type"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor EnumDescriptorProto)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "enumType")))+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto+                extensionRange__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "extension_range"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor DescriptorProto'ExtensionRange)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "extensionRange")))+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto+                oneofDecl__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "oneof_decl"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor OneofDescriptorProto)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "oneofDecl")))+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto+                options__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "options"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor MessageOptions)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto+                reservedRange__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "reserved_range"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor DescriptorProto'ReservedRange)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "reservedRange")))+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto+                reservedName__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "reserved_name"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "reservedName")))+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto+              in+              Data.Map.fromList+                [(Data.ProtoLens.Tag 1, name__field_descriptor),+                 (Data.ProtoLens.Tag 2, field__field_descriptor),+                 (Data.ProtoLens.Tag 6, extension__field_descriptor),+                 (Data.ProtoLens.Tag 3, nestedType__field_descriptor),+                 (Data.ProtoLens.Tag 4, enumType__field_descriptor),+                 (Data.ProtoLens.Tag 5, extensionRange__field_descriptor),+                 (Data.ProtoLens.Tag 8, oneofDecl__field_descriptor),+                 (Data.ProtoLens.Tag 7, options__field_descriptor),+                 (Data.ProtoLens.Tag 9, reservedRange__field_descriptor),+                 (Data.ProtoLens.Tag 10, reservedName__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens _DescriptorProto'_unknownFields+              (\ x__ y__ -> x__{_DescriptorProto'_unknownFields = y__})+{- | Fields :++    * 'Proto.Google.Protobuf.Descriptor_Fields.start' @:: Lens' DescriptorProto'ExtensionRange Data.Int.Int32@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'start' @:: Lens' DescriptorProto'ExtensionRange (Prelude.Maybe Data.Int.Int32)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.end' @:: Lens' DescriptorProto'ExtensionRange Data.Int.Int32@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'end' @:: Lens' DescriptorProto'ExtensionRange (Prelude.Maybe Data.Int.Int32)@+ -}+data DescriptorProto'ExtensionRange = DescriptorProto'ExtensionRange{_DescriptorProto'ExtensionRange'start+                                                                     ::+                                                                     !(Prelude.Maybe+                                                                         Data.Int.Int32),+                                                                     _DescriptorProto'ExtensionRange'end+                                                                     ::+                                                                     !(Prelude.Maybe+                                                                         Data.Int.Int32),+                                                                     _DescriptorProto'ExtensionRange'_unknownFields+                                                                     :: !Data.ProtoLens.FieldSet}+                                    deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f DescriptorProto'ExtensionRange x+            a,+          a ~ b) =>+         Lens.Labels.HasLens f DescriptorProto'ExtensionRange+           DescriptorProto'ExtensionRange+           x+           a+           b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f DescriptorProto'ExtensionRange "start"+           (Data.Int.Int32)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _DescriptorProto'ExtensionRange'start+                 (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'start = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f DescriptorProto'ExtensionRange "maybe'start"+           (Prelude.Maybe Data.Int.Int32)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _DescriptorProto'ExtensionRange'start+                 (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'start = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f DescriptorProto'ExtensionRange "end"+           (Data.Int.Int32)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _DescriptorProto'ExtensionRange'end+                 (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'end = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f DescriptorProto'ExtensionRange "maybe'end"+           (Prelude.Maybe Data.Int.Int32)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _DescriptorProto'ExtensionRange'end+                 (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'end = y__}))+              Prelude.id+instance Data.Default.Class.Default DescriptorProto'ExtensionRange+         where+        def+          = DescriptorProto'ExtensionRange{_DescriptorProto'ExtensionRange'start+                                             = Prelude.Nothing,+                                           _DescriptorProto'ExtensionRange'end = Prelude.Nothing,+                                           _DescriptorProto'ExtensionRange'_unknownFields = ([])}+instance Data.ProtoLens.Message DescriptorProto'ExtensionRange+         where+        messageName _+          = Data.Text.pack "google.protobuf.DescriptorProto.ExtensionRange"+        fieldsByTag+          = let start__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "start"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'start")))+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto'ExtensionRange+                end__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "end"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'end")))+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto'ExtensionRange+              in+              Data.Map.fromList+                [(Data.ProtoLens.Tag 1, start__field_descriptor),+                 (Data.ProtoLens.Tag 2, end__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens+              _DescriptorProto'ExtensionRange'_unknownFields+              (\ x__ y__ ->+                 x__{_DescriptorProto'ExtensionRange'_unknownFields = y__})+{- | Fields :++    * 'Proto.Google.Protobuf.Descriptor_Fields.start' @:: Lens' DescriptorProto'ReservedRange Data.Int.Int32@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'start' @:: Lens' DescriptorProto'ReservedRange (Prelude.Maybe Data.Int.Int32)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.end' @:: Lens' DescriptorProto'ReservedRange Data.Int.Int32@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'end' @:: Lens' DescriptorProto'ReservedRange (Prelude.Maybe Data.Int.Int32)@+ -}+data DescriptorProto'ReservedRange = DescriptorProto'ReservedRange{_DescriptorProto'ReservedRange'start+                                                                   ::+                                                                   !(Prelude.Maybe Data.Int.Int32),+                                                                   _DescriptorProto'ReservedRange'end+                                                                   ::+                                                                   !(Prelude.Maybe Data.Int.Int32),+                                                                   _DescriptorProto'ReservedRange'_unknownFields+                                                                   :: !Data.ProtoLens.FieldSet}+                                   deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f DescriptorProto'ReservedRange x a,+          a ~ b) =>+         Lens.Labels.HasLens f DescriptorProto'ReservedRange+           DescriptorProto'ReservedRange+           x+           a+           b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f DescriptorProto'ReservedRange "start"+           (Data.Int.Int32)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _DescriptorProto'ReservedRange'start+                 (\ x__ y__ -> x__{_DescriptorProto'ReservedRange'start = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f DescriptorProto'ReservedRange "maybe'start"+           (Prelude.Maybe Data.Int.Int32)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _DescriptorProto'ReservedRange'start+                 (\ x__ y__ -> x__{_DescriptorProto'ReservedRange'start = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f DescriptorProto'ReservedRange "end"+           (Data.Int.Int32)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _DescriptorProto'ReservedRange'end+                 (\ x__ y__ -> x__{_DescriptorProto'ReservedRange'end = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f DescriptorProto'ReservedRange "maybe'end"+           (Prelude.Maybe Data.Int.Int32)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _DescriptorProto'ReservedRange'end+                 (\ x__ y__ -> x__{_DescriptorProto'ReservedRange'end = y__}))+              Prelude.id+instance Data.Default.Class.Default DescriptorProto'ReservedRange+         where+        def+          = DescriptorProto'ReservedRange{_DescriptorProto'ReservedRange'start+                                            = Prelude.Nothing,+                                          _DescriptorProto'ReservedRange'end = Prelude.Nothing,+                                          _DescriptorProto'ReservedRange'_unknownFields = ([])}+instance Data.ProtoLens.Message DescriptorProto'ReservedRange where+        messageName _+          = Data.Text.pack "google.protobuf.DescriptorProto.ReservedRange"+        fieldsByTag+          = let start__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "start"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'start")))+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto'ReservedRange+                end__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "end"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'end")))+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto'ReservedRange+              in+              Data.Map.fromList+                [(Data.ProtoLens.Tag 1, start__field_descriptor),+                 (Data.ProtoLens.Tag 2, end__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens+              _DescriptorProto'ReservedRange'_unknownFields+              (\ x__ y__ ->+                 x__{_DescriptorProto'ReservedRange'_unknownFields = y__})+{- | Fields :++    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' EnumDescriptorProto Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' EnumDescriptorProto (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.value' @:: Lens' EnumDescriptorProto [EnumValueDescriptorProto]@+    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' EnumDescriptorProto EnumOptions@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' EnumDescriptorProto (Prelude.Maybe EnumOptions)@+ -}+data EnumDescriptorProto = EnumDescriptorProto{_EnumDescriptorProto'name+                                               :: !(Prelude.Maybe Data.Text.Text),+                                               _EnumDescriptorProto'value ::+                                               ![EnumValueDescriptorProto],+                                               _EnumDescriptorProto'options ::+                                               !(Prelude.Maybe EnumOptions),+                                               _EnumDescriptorProto'_unknownFields ::+                                               !Data.ProtoLens.FieldSet}+                         deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f EnumDescriptorProto x a, a ~ b) =>+         Lens.Labels.HasLens f EnumDescriptorProto EnumDescriptorProto x a b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f EnumDescriptorProto "name" (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _EnumDescriptorProto'name+                 (\ x__ y__ -> x__{_EnumDescriptorProto'name = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f EnumDescriptorProto "maybe'name"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _EnumDescriptorProto'name+                 (\ x__ y__ -> x__{_EnumDescriptorProto'name = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f EnumDescriptorProto "value"+           ([EnumValueDescriptorProto])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _EnumDescriptorProto'value+                 (\ x__ y__ -> x__{_EnumDescriptorProto'value = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f EnumDescriptorProto "options" (EnumOptions)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _EnumDescriptorProto'options+                 (\ x__ y__ -> x__{_EnumDescriptorProto'options = y__}))+              (Data.ProtoLens.maybeLens Data.Default.Class.def)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f EnumDescriptorProto "maybe'options"+           (Prelude.Maybe EnumOptions)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _EnumDescriptorProto'options+                 (\ x__ y__ -> x__{_EnumDescriptorProto'options = y__}))+              Prelude.id+instance Data.Default.Class.Default EnumDescriptorProto where+        def+          = EnumDescriptorProto{_EnumDescriptorProto'name = Prelude.Nothing,+                                _EnumDescriptorProto'value = [],+                                _EnumDescriptorProto'options = Prelude.Nothing,+                                _EnumDescriptorProto'_unknownFields = ([])}+instance Data.ProtoLens.Message EnumDescriptorProto where+        messageName _+          = Data.Text.pack "google.protobuf.EnumDescriptorProto"+        fieldsByTag+          = let name__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "name"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))+                      :: Data.ProtoLens.FieldDescriptor EnumDescriptorProto+                value__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "value"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor EnumValueDescriptorProto)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "value")))+                      :: Data.ProtoLens.FieldDescriptor EnumDescriptorProto+                options__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "options"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor EnumOptions)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))+                      :: Data.ProtoLens.FieldDescriptor EnumDescriptorProto+              in+              Data.Map.fromList+                [(Data.ProtoLens.Tag 1, name__field_descriptor),+                 (Data.ProtoLens.Tag 2, value__field_descriptor),+                 (Data.ProtoLens.Tag 3, options__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens _EnumDescriptorProto'_unknownFields+              (\ x__ y__ -> x__{_EnumDescriptorProto'_unknownFields = y__})+{- | Fields :++    * 'Proto.Google.Protobuf.Descriptor_Fields.allowAlias' @:: Lens' EnumOptions Prelude.Bool@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'allowAlias' @:: Lens' EnumOptions (Prelude.Maybe Prelude.Bool)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' EnumOptions Prelude.Bool@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' EnumOptions (Prelude.Maybe Prelude.Bool)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' EnumOptions [UninterpretedOption]@+ -}+data EnumOptions = EnumOptions{_EnumOptions'allowAlias ::+                               !(Prelude.Maybe Prelude.Bool),+                               _EnumOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),+                               _EnumOptions'uninterpretedOption :: ![UninterpretedOption],+                               _EnumOptions'_unknownFields :: !Data.ProtoLens.FieldSet}+                 deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f EnumOptions x a, a ~ b) =>+         Lens.Labels.HasLens f EnumOptions EnumOptions x a b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f EnumOptions "allowAlias" (Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _EnumOptions'allowAlias+                 (\ x__ y__ -> x__{_EnumOptions'allowAlias = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f EnumOptions "maybe'allowAlias"+           (Prelude.Maybe Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _EnumOptions'allowAlias+                 (\ x__ y__ -> x__{_EnumOptions'allowAlias = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f EnumOptions "deprecated" (Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _EnumOptions'deprecated+                 (\ x__ y__ -> x__{_EnumOptions'deprecated = y__}))+              (Data.ProtoLens.maybeLens Prelude.False)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f EnumOptions "maybe'deprecated"+           (Prelude.Maybe Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _EnumOptions'deprecated+                 (\ x__ y__ -> x__{_EnumOptions'deprecated = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f EnumOptions "uninterpretedOption"+           ([UninterpretedOption])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _EnumOptions'uninterpretedOption+                 (\ x__ y__ -> x__{_EnumOptions'uninterpretedOption = y__}))+              Prelude.id+instance Data.Default.Class.Default EnumOptions where+        def+          = EnumOptions{_EnumOptions'allowAlias = Prelude.Nothing,+                        _EnumOptions'deprecated = Prelude.Nothing,+                        _EnumOptions'uninterpretedOption = [],+                        _EnumOptions'_unknownFields = ([])}+instance Data.ProtoLens.Message EnumOptions where+        messageName _ = Data.Text.pack "google.protobuf.EnumOptions"+        fieldsByTag+          = let allowAlias__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "allow_alias"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'allowAlias")))+                      :: Data.ProtoLens.FieldDescriptor EnumOptions+                deprecated__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "deprecated"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))+                      :: Data.ProtoLens.FieldDescriptor EnumOptions+                uninterpretedOption__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "uninterpretedOption")))+                      :: Data.ProtoLens.FieldDescriptor EnumOptions+              in+              Data.Map.fromList+                [(Data.ProtoLens.Tag 2, allowAlias__field_descriptor),+                 (Data.ProtoLens.Tag 3, deprecated__field_descriptor),+                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens _EnumOptions'_unknownFields+              (\ x__ y__ -> x__{_EnumOptions'_unknownFields = y__})+{- | Fields :++    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' EnumValueDescriptorProto Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' EnumValueDescriptorProto (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.number' @:: Lens' EnumValueDescriptorProto Data.Int.Int32@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'number' @:: Lens' EnumValueDescriptorProto (Prelude.Maybe Data.Int.Int32)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' EnumValueDescriptorProto EnumValueOptions@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' EnumValueDescriptorProto (Prelude.Maybe EnumValueOptions)@+ -}+data EnumValueDescriptorProto = EnumValueDescriptorProto{_EnumValueDescriptorProto'name+                                                         :: !(Prelude.Maybe Data.Text.Text),+                                                         _EnumValueDescriptorProto'number ::+                                                         !(Prelude.Maybe Data.Int.Int32),+                                                         _EnumValueDescriptorProto'options ::+                                                         !(Prelude.Maybe EnumValueOptions),+                                                         _EnumValueDescriptorProto'_unknownFields ::+                                                         !Data.ProtoLens.FieldSet}+                              deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f EnumValueDescriptorProto x a,+          a ~ b) =>+         Lens.Labels.HasLens f EnumValueDescriptorProto+           EnumValueDescriptorProto+           x+           a+           b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f EnumValueDescriptorProto "name"+           (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'name+                 (\ x__ y__ -> x__{_EnumValueDescriptorProto'name = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f EnumValueDescriptorProto "maybe'name"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'name+                 (\ x__ y__ -> x__{_EnumValueDescriptorProto'name = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f EnumValueDescriptorProto "number"+           (Data.Int.Int32)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'number+                 (\ x__ y__ -> x__{_EnumValueDescriptorProto'number = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f EnumValueDescriptorProto "maybe'number"+           (Prelude.Maybe Data.Int.Int32)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'number+                 (\ x__ y__ -> x__{_EnumValueDescriptorProto'number = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f EnumValueDescriptorProto "options"+           (EnumValueOptions)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'options+                 (\ x__ y__ -> x__{_EnumValueDescriptorProto'options = y__}))+              (Data.ProtoLens.maybeLens Data.Default.Class.def)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f EnumValueDescriptorProto "maybe'options"+           (Prelude.Maybe EnumValueOptions)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'options+                 (\ x__ y__ -> x__{_EnumValueDescriptorProto'options = y__}))+              Prelude.id+instance Data.Default.Class.Default EnumValueDescriptorProto where+        def+          = EnumValueDescriptorProto{_EnumValueDescriptorProto'name =+                                       Prelude.Nothing,+                                     _EnumValueDescriptorProto'number = Prelude.Nothing,+                                     _EnumValueDescriptorProto'options = Prelude.Nothing,+                                     _EnumValueDescriptorProto'_unknownFields = ([])}+instance Data.ProtoLens.Message EnumValueDescriptorProto where+        messageName _+          = Data.Text.pack "google.protobuf.EnumValueDescriptorProto"+        fieldsByTag+          = let name__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "name"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))+                      :: Data.ProtoLens.FieldDescriptor EnumValueDescriptorProto+                number__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "number"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'number")))+                      :: Data.ProtoLens.FieldDescriptor EnumValueDescriptorProto+                options__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "options"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor EnumValueOptions)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))+                      :: Data.ProtoLens.FieldDescriptor EnumValueDescriptorProto+              in+              Data.Map.fromList+                [(Data.ProtoLens.Tag 1, name__field_descriptor),+                 (Data.ProtoLens.Tag 2, number__field_descriptor),+                 (Data.ProtoLens.Tag 3, options__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens+              _EnumValueDescriptorProto'_unknownFields+              (\ x__ y__ -> x__{_EnumValueDescriptorProto'_unknownFields = y__})+{- | Fields :++    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' EnumValueOptions Prelude.Bool@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' EnumValueOptions (Prelude.Maybe Prelude.Bool)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' EnumValueOptions [UninterpretedOption]@+ -}+data EnumValueOptions = EnumValueOptions{_EnumValueOptions'deprecated+                                         :: !(Prelude.Maybe Prelude.Bool),+                                         _EnumValueOptions'uninterpretedOption ::+                                         ![UninterpretedOption],+                                         _EnumValueOptions'_unknownFields ::+                                         !Data.ProtoLens.FieldSet}+                      deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f EnumValueOptions x a, a ~ b) =>+         Lens.Labels.HasLens f EnumValueOptions EnumValueOptions x a b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f EnumValueOptions "deprecated" (Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _EnumValueOptions'deprecated+                 (\ x__ y__ -> x__{_EnumValueOptions'deprecated = y__}))+              (Data.ProtoLens.maybeLens Prelude.False)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f EnumValueOptions "maybe'deprecated"+           (Prelude.Maybe Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _EnumValueOptions'deprecated+                 (\ x__ y__ -> x__{_EnumValueOptions'deprecated = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f EnumValueOptions "uninterpretedOption"+           ([UninterpretedOption])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _EnumValueOptions'uninterpretedOption+                 (\ x__ y__ -> x__{_EnumValueOptions'uninterpretedOption = y__}))+              Prelude.id+instance Data.Default.Class.Default EnumValueOptions where+        def+          = EnumValueOptions{_EnumValueOptions'deprecated = Prelude.Nothing,+                             _EnumValueOptions'uninterpretedOption = [],+                             _EnumValueOptions'_unknownFields = ([])}+instance Data.ProtoLens.Message EnumValueOptions where+        messageName _ = Data.Text.pack "google.protobuf.EnumValueOptions"+        fieldsByTag+          = let deprecated__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "deprecated"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))+                      :: Data.ProtoLens.FieldDescriptor EnumValueOptions+                uninterpretedOption__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "uninterpretedOption")))+                      :: Data.ProtoLens.FieldDescriptor EnumValueOptions+              in+              Data.Map.fromList+                [(Data.ProtoLens.Tag 1, deprecated__field_descriptor),+                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens _EnumValueOptions'_unknownFields+              (\ x__ y__ -> x__{_EnumValueOptions'_unknownFields = y__})+{- | Fields :++    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' FieldDescriptorProto Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.number' @:: Lens' FieldDescriptorProto Data.Int.Int32@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'number' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Int.Int32)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.label' @:: Lens' FieldDescriptorProto FieldDescriptorProto'Label@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'label' @:: Lens' FieldDescriptorProto+  (Prelude.Maybe FieldDescriptorProto'Label)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.type'' @:: Lens' FieldDescriptorProto FieldDescriptorProto'Type@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'type'' @:: Lens' FieldDescriptorProto+  (Prelude.Maybe FieldDescriptorProto'Type)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.typeName' @:: Lens' FieldDescriptorProto Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'typeName' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.extendee' @:: Lens' FieldDescriptorProto Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'extendee' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.defaultValue' @:: Lens' FieldDescriptorProto Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'defaultValue' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.oneofIndex' @:: Lens' FieldDescriptorProto Data.Int.Int32@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'oneofIndex' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Int.Int32)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.jsonName' @:: Lens' FieldDescriptorProto Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'jsonName' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' FieldDescriptorProto FieldOptions@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' FieldDescriptorProto (Prelude.Maybe FieldOptions)@+ -}+data FieldDescriptorProto = FieldDescriptorProto{_FieldDescriptorProto'name+                                                 :: !(Prelude.Maybe Data.Text.Text),+                                                 _FieldDescriptorProto'number ::+                                                 !(Prelude.Maybe Data.Int.Int32),+                                                 _FieldDescriptorProto'label ::+                                                 !(Prelude.Maybe FieldDescriptorProto'Label),+                                                 _FieldDescriptorProto'type' ::+                                                 !(Prelude.Maybe FieldDescriptorProto'Type),+                                                 _FieldDescriptorProto'typeName ::+                                                 !(Prelude.Maybe Data.Text.Text),+                                                 _FieldDescriptorProto'extendee ::+                                                 !(Prelude.Maybe Data.Text.Text),+                                                 _FieldDescriptorProto'defaultValue ::+                                                 !(Prelude.Maybe Data.Text.Text),+                                                 _FieldDescriptorProto'oneofIndex ::+                                                 !(Prelude.Maybe Data.Int.Int32),+                                                 _FieldDescriptorProto'jsonName ::+                                                 !(Prelude.Maybe Data.Text.Text),+                                                 _FieldDescriptorProto'options ::+                                                 !(Prelude.Maybe FieldOptions),+                                                 _FieldDescriptorProto'_unknownFields ::+                                                 !Data.ProtoLens.FieldSet}+                          deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f FieldDescriptorProto x a,+          a ~ b) =>+         Lens.Labels.HasLens f FieldDescriptorProto FieldDescriptorProto x a+           b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldDescriptorProto "name" (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'name+                 (\ x__ y__ -> x__{_FieldDescriptorProto'name = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldDescriptorProto "maybe'name"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'name+                 (\ x__ y__ -> x__{_FieldDescriptorProto'name = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldDescriptorProto "number"+           (Data.Int.Int32)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'number+                 (\ x__ y__ -> x__{_FieldDescriptorProto'number = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldDescriptorProto "maybe'number"+           (Prelude.Maybe Data.Int.Int32)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'number+                 (\ x__ y__ -> x__{_FieldDescriptorProto'number = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldDescriptorProto "label"+           (FieldDescriptorProto'Label)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'label+                 (\ x__ y__ -> x__{_FieldDescriptorProto'label = y__}))+              (Data.ProtoLens.maybeLens Data.Default.Class.def)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldDescriptorProto "maybe'label"+           (Prelude.Maybe FieldDescriptorProto'Label)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'label+                 (\ x__ y__ -> x__{_FieldDescriptorProto'label = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldDescriptorProto "type'"+           (FieldDescriptorProto'Type)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'type'+                 (\ x__ y__ -> x__{_FieldDescriptorProto'type' = y__}))+              (Data.ProtoLens.maybeLens Data.Default.Class.def)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldDescriptorProto "maybe'type'"+           (Prelude.Maybe FieldDescriptorProto'Type)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'type'+                 (\ x__ y__ -> x__{_FieldDescriptorProto'type' = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldDescriptorProto "typeName"+           (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'typeName+                 (\ x__ y__ -> x__{_FieldDescriptorProto'typeName = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldDescriptorProto "maybe'typeName"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'typeName+                 (\ x__ y__ -> x__{_FieldDescriptorProto'typeName = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldDescriptorProto "extendee"+           (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'extendee+                 (\ x__ y__ -> x__{_FieldDescriptorProto'extendee = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldDescriptorProto "maybe'extendee"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'extendee+                 (\ x__ y__ -> x__{_FieldDescriptorProto'extendee = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldDescriptorProto "defaultValue"+           (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'defaultValue+                 (\ x__ y__ -> x__{_FieldDescriptorProto'defaultValue = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldDescriptorProto "maybe'defaultValue"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'defaultValue+                 (\ x__ y__ -> x__{_FieldDescriptorProto'defaultValue = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldDescriptorProto "oneofIndex"+           (Data.Int.Int32)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'oneofIndex+                 (\ x__ y__ -> x__{_FieldDescriptorProto'oneofIndex = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldDescriptorProto "maybe'oneofIndex"+           (Prelude.Maybe Data.Int.Int32)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'oneofIndex+                 (\ x__ y__ -> x__{_FieldDescriptorProto'oneofIndex = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldDescriptorProto "jsonName"+           (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'jsonName+                 (\ x__ y__ -> x__{_FieldDescriptorProto'jsonName = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldDescriptorProto "maybe'jsonName"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'jsonName+                 (\ x__ y__ -> x__{_FieldDescriptorProto'jsonName = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldDescriptorProto "options"+           (FieldOptions)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'options+                 (\ x__ y__ -> x__{_FieldDescriptorProto'options = y__}))+              (Data.ProtoLens.maybeLens Data.Default.Class.def)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldDescriptorProto "maybe'options"+           (Prelude.Maybe FieldOptions)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'options+                 (\ x__ y__ -> x__{_FieldDescriptorProto'options = y__}))+              Prelude.id+instance Data.Default.Class.Default FieldDescriptorProto where+        def+          = FieldDescriptorProto{_FieldDescriptorProto'name =+                                   Prelude.Nothing,+                                 _FieldDescriptorProto'number = Prelude.Nothing,+                                 _FieldDescriptorProto'label = Prelude.Nothing,+                                 _FieldDescriptorProto'type' = Prelude.Nothing,+                                 _FieldDescriptorProto'typeName = Prelude.Nothing,+                                 _FieldDescriptorProto'extendee = Prelude.Nothing,+                                 _FieldDescriptorProto'defaultValue = Prelude.Nothing,+                                 _FieldDescriptorProto'oneofIndex = Prelude.Nothing,+                                 _FieldDescriptorProto'jsonName = Prelude.Nothing,+                                 _FieldDescriptorProto'options = Prelude.Nothing,+                                 _FieldDescriptorProto'_unknownFields = ([])}+instance Data.ProtoLens.Message FieldDescriptorProto where+        messageName _+          = Data.Text.pack "google.protobuf.FieldDescriptorProto"+        fieldsByTag+          = let name__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "name"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto+                number__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "number"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'number")))+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto+                label__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "label"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+                         Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto'Label)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'label")))+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto+                type'__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "type"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+                         Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto'Type)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'type'")))+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto+                typeName__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "type_name"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'typeName")))+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto+                extendee__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "extendee"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'extendee")))+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto+                defaultValue__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "default_value"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'defaultValue")))+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto+                oneofIndex__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "oneof_index"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'oneofIndex")))+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto+                jsonName__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "json_name"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'jsonName")))+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto+                options__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "options"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor FieldOptions)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto+              in+              Data.Map.fromList+                [(Data.ProtoLens.Tag 1, name__field_descriptor),+                 (Data.ProtoLens.Tag 3, number__field_descriptor),+                 (Data.ProtoLens.Tag 4, label__field_descriptor),+                 (Data.ProtoLens.Tag 5, type'__field_descriptor),+                 (Data.ProtoLens.Tag 6, typeName__field_descriptor),+                 (Data.ProtoLens.Tag 2, extendee__field_descriptor),+                 (Data.ProtoLens.Tag 7, defaultValue__field_descriptor),+                 (Data.ProtoLens.Tag 9, oneofIndex__field_descriptor),+                 (Data.ProtoLens.Tag 10, jsonName__field_descriptor),+                 (Data.ProtoLens.Tag 8, options__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens _FieldDescriptorProto'_unknownFields+              (\ x__ y__ -> x__{_FieldDescriptorProto'_unknownFields = y__})+data FieldDescriptorProto'Label = FieldDescriptorProto'LABEL_OPTIONAL+                                | FieldDescriptorProto'LABEL_REQUIRED+                                | FieldDescriptorProto'LABEL_REPEATED+                                deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.Default.Class.Default FieldDescriptorProto'Label+         where+        def = FieldDescriptorProto'LABEL_OPTIONAL+instance Data.ProtoLens.FieldDefault FieldDescriptorProto'Label+         where+        fieldDefault = FieldDescriptorProto'LABEL_OPTIONAL+instance Data.ProtoLens.MessageEnum FieldDescriptorProto'Label+         where+        maybeToEnum 1 = Prelude.Just FieldDescriptorProto'LABEL_OPTIONAL+        maybeToEnum 2 = Prelude.Just FieldDescriptorProto'LABEL_REQUIRED+        maybeToEnum 3 = Prelude.Just FieldDescriptorProto'LABEL_REPEATED+        maybeToEnum _ = Prelude.Nothing+        showEnum FieldDescriptorProto'LABEL_OPTIONAL = "LABEL_OPTIONAL"+        showEnum FieldDescriptorProto'LABEL_REQUIRED = "LABEL_REQUIRED"+        showEnum FieldDescriptorProto'LABEL_REPEATED = "LABEL_REPEATED"+        readEnum "LABEL_OPTIONAL"+          = Prelude.Just FieldDescriptorProto'LABEL_OPTIONAL+        readEnum "LABEL_REQUIRED"+          = Prelude.Just FieldDescriptorProto'LABEL_REQUIRED+        readEnum "LABEL_REPEATED"+          = Prelude.Just FieldDescriptorProto'LABEL_REPEATED+        readEnum _ = Prelude.Nothing+instance Prelude.Enum FieldDescriptorProto'Label where+        toEnum k__+          = Prelude.maybe+              (Prelude.error+                 ((Prelude.++) "toEnum: unknown value for enum Label: "+                    (Prelude.show k__)))+              Prelude.id+              (Data.ProtoLens.maybeToEnum k__)+        fromEnum FieldDescriptorProto'LABEL_OPTIONAL = 1+        fromEnum FieldDescriptorProto'LABEL_REQUIRED = 2+        fromEnum FieldDescriptorProto'LABEL_REPEATED = 3+        succ FieldDescriptorProto'LABEL_REPEATED+          = Prelude.error+              "FieldDescriptorProto'Label.succ: bad argument FieldDescriptorProto'LABEL_REPEATED. This value would be out of bounds."+        succ FieldDescriptorProto'LABEL_OPTIONAL+          = FieldDescriptorProto'LABEL_REQUIRED+        succ FieldDescriptorProto'LABEL_REQUIRED+          = FieldDescriptorProto'LABEL_REPEATED+        pred FieldDescriptorProto'LABEL_OPTIONAL+          = Prelude.error+              "FieldDescriptorProto'Label.pred: bad argument FieldDescriptorProto'LABEL_OPTIONAL. This value would be out of bounds."+        pred FieldDescriptorProto'LABEL_REQUIRED+          = FieldDescriptorProto'LABEL_OPTIONAL+        pred FieldDescriptorProto'LABEL_REPEATED+          = FieldDescriptorProto'LABEL_REQUIRED+        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 Prelude.Bounded FieldDescriptorProto'Label where+        minBound = FieldDescriptorProto'LABEL_OPTIONAL+        maxBound = FieldDescriptorProto'LABEL_REPEATED+data FieldDescriptorProto'Type = FieldDescriptorProto'TYPE_DOUBLE+                               | FieldDescriptorProto'TYPE_FLOAT+                               | FieldDescriptorProto'TYPE_INT64+                               | FieldDescriptorProto'TYPE_UINT64+                               | FieldDescriptorProto'TYPE_INT32+                               | FieldDescriptorProto'TYPE_FIXED64+                               | FieldDescriptorProto'TYPE_FIXED32+                               | FieldDescriptorProto'TYPE_BOOL+                               | FieldDescriptorProto'TYPE_STRING+                               | FieldDescriptorProto'TYPE_GROUP+                               | FieldDescriptorProto'TYPE_MESSAGE+                               | FieldDescriptorProto'TYPE_BYTES+                               | FieldDescriptorProto'TYPE_UINT32+                               | FieldDescriptorProto'TYPE_ENUM+                               | FieldDescriptorProto'TYPE_SFIXED32+                               | FieldDescriptorProto'TYPE_SFIXED64+                               | FieldDescriptorProto'TYPE_SINT32+                               | FieldDescriptorProto'TYPE_SINT64+                               deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.Default.Class.Default FieldDescriptorProto'Type where+        def = FieldDescriptorProto'TYPE_DOUBLE+instance Data.ProtoLens.FieldDefault FieldDescriptorProto'Type+         where+        fieldDefault = FieldDescriptorProto'TYPE_DOUBLE+instance Data.ProtoLens.MessageEnum FieldDescriptorProto'Type where+        maybeToEnum 1 = Prelude.Just FieldDescriptorProto'TYPE_DOUBLE+        maybeToEnum 2 = Prelude.Just FieldDescriptorProto'TYPE_FLOAT+        maybeToEnum 3 = Prelude.Just FieldDescriptorProto'TYPE_INT64+        maybeToEnum 4 = Prelude.Just FieldDescriptorProto'TYPE_UINT64+        maybeToEnum 5 = Prelude.Just FieldDescriptorProto'TYPE_INT32+        maybeToEnum 6 = Prelude.Just FieldDescriptorProto'TYPE_FIXED64+        maybeToEnum 7 = Prelude.Just FieldDescriptorProto'TYPE_FIXED32+        maybeToEnum 8 = Prelude.Just FieldDescriptorProto'TYPE_BOOL+        maybeToEnum 9 = Prelude.Just FieldDescriptorProto'TYPE_STRING+        maybeToEnum 10 = Prelude.Just FieldDescriptorProto'TYPE_GROUP+        maybeToEnum 11 = Prelude.Just FieldDescriptorProto'TYPE_MESSAGE+        maybeToEnum 12 = Prelude.Just FieldDescriptorProto'TYPE_BYTES+        maybeToEnum 13 = Prelude.Just FieldDescriptorProto'TYPE_UINT32+        maybeToEnum 14 = Prelude.Just FieldDescriptorProto'TYPE_ENUM+        maybeToEnum 15 = Prelude.Just FieldDescriptorProto'TYPE_SFIXED32+        maybeToEnum 16 = Prelude.Just FieldDescriptorProto'TYPE_SFIXED64+        maybeToEnum 17 = Prelude.Just FieldDescriptorProto'TYPE_SINT32+        maybeToEnum 18 = Prelude.Just FieldDescriptorProto'TYPE_SINT64+        maybeToEnum _ = Prelude.Nothing+        showEnum FieldDescriptorProto'TYPE_DOUBLE = "TYPE_DOUBLE"+        showEnum FieldDescriptorProto'TYPE_FLOAT = "TYPE_FLOAT"+        showEnum FieldDescriptorProto'TYPE_INT64 = "TYPE_INT64"+        showEnum FieldDescriptorProto'TYPE_UINT64 = "TYPE_UINT64"+        showEnum FieldDescriptorProto'TYPE_INT32 = "TYPE_INT32"+        showEnum FieldDescriptorProto'TYPE_FIXED64 = "TYPE_FIXED64"+        showEnum FieldDescriptorProto'TYPE_FIXED32 = "TYPE_FIXED32"+        showEnum FieldDescriptorProto'TYPE_BOOL = "TYPE_BOOL"+        showEnum FieldDescriptorProto'TYPE_STRING = "TYPE_STRING"+        showEnum FieldDescriptorProto'TYPE_GROUP = "TYPE_GROUP"+        showEnum FieldDescriptorProto'TYPE_MESSAGE = "TYPE_MESSAGE"+        showEnum FieldDescriptorProto'TYPE_BYTES = "TYPE_BYTES"+        showEnum FieldDescriptorProto'TYPE_UINT32 = "TYPE_UINT32"+        showEnum FieldDescriptorProto'TYPE_ENUM = "TYPE_ENUM"+        showEnum FieldDescriptorProto'TYPE_SFIXED32 = "TYPE_SFIXED32"+        showEnum FieldDescriptorProto'TYPE_SFIXED64 = "TYPE_SFIXED64"+        showEnum FieldDescriptorProto'TYPE_SINT32 = "TYPE_SINT32"+        showEnum FieldDescriptorProto'TYPE_SINT64 = "TYPE_SINT64"+        readEnum "TYPE_DOUBLE"+          = Prelude.Just FieldDescriptorProto'TYPE_DOUBLE+        readEnum "TYPE_FLOAT"+          = Prelude.Just FieldDescriptorProto'TYPE_FLOAT+        readEnum "TYPE_INT64"+          = Prelude.Just FieldDescriptorProto'TYPE_INT64+        readEnum "TYPE_UINT64"+          = Prelude.Just FieldDescriptorProto'TYPE_UINT64+        readEnum "TYPE_INT32"+          = Prelude.Just FieldDescriptorProto'TYPE_INT32+        readEnum "TYPE_FIXED64"+          = Prelude.Just FieldDescriptorProto'TYPE_FIXED64+        readEnum "TYPE_FIXED32"+          = Prelude.Just FieldDescriptorProto'TYPE_FIXED32+        readEnum "TYPE_BOOL" = Prelude.Just FieldDescriptorProto'TYPE_BOOL+        readEnum "TYPE_STRING"+          = Prelude.Just FieldDescriptorProto'TYPE_STRING+        readEnum "TYPE_GROUP"+          = Prelude.Just FieldDescriptorProto'TYPE_GROUP+        readEnum "TYPE_MESSAGE"+          = Prelude.Just FieldDescriptorProto'TYPE_MESSAGE+        readEnum "TYPE_BYTES"+          = Prelude.Just FieldDescriptorProto'TYPE_BYTES+        readEnum "TYPE_UINT32"+          = Prelude.Just FieldDescriptorProto'TYPE_UINT32+        readEnum "TYPE_ENUM" = Prelude.Just FieldDescriptorProto'TYPE_ENUM+        readEnum "TYPE_SFIXED32"+          = Prelude.Just FieldDescriptorProto'TYPE_SFIXED32+        readEnum "TYPE_SFIXED64"+          = Prelude.Just FieldDescriptorProto'TYPE_SFIXED64+        readEnum "TYPE_SINT32"+          = Prelude.Just FieldDescriptorProto'TYPE_SINT32+        readEnum "TYPE_SINT64"+          = Prelude.Just FieldDescriptorProto'TYPE_SINT64+        readEnum _ = Prelude.Nothing+instance Prelude.Enum FieldDescriptorProto'Type where+        toEnum k__+          = Prelude.maybe+              (Prelude.error+                 ((Prelude.++) "toEnum: unknown value for enum Type: "+                    (Prelude.show k__)))+              Prelude.id+              (Data.ProtoLens.maybeToEnum k__)+        fromEnum FieldDescriptorProto'TYPE_DOUBLE = 1+        fromEnum FieldDescriptorProto'TYPE_FLOAT = 2+        fromEnum FieldDescriptorProto'TYPE_INT64 = 3+        fromEnum FieldDescriptorProto'TYPE_UINT64 = 4+        fromEnum FieldDescriptorProto'TYPE_INT32 = 5+        fromEnum FieldDescriptorProto'TYPE_FIXED64 = 6+        fromEnum FieldDescriptorProto'TYPE_FIXED32 = 7+        fromEnum FieldDescriptorProto'TYPE_BOOL = 8+        fromEnum FieldDescriptorProto'TYPE_STRING = 9+        fromEnum FieldDescriptorProto'TYPE_GROUP = 10+        fromEnum FieldDescriptorProto'TYPE_MESSAGE = 11+        fromEnum FieldDescriptorProto'TYPE_BYTES = 12+        fromEnum FieldDescriptorProto'TYPE_UINT32 = 13+        fromEnum FieldDescriptorProto'TYPE_ENUM = 14+        fromEnum FieldDescriptorProto'TYPE_SFIXED32 = 15+        fromEnum FieldDescriptorProto'TYPE_SFIXED64 = 16+        fromEnum FieldDescriptorProto'TYPE_SINT32 = 17+        fromEnum FieldDescriptorProto'TYPE_SINT64 = 18+        succ FieldDescriptorProto'TYPE_SINT64+          = Prelude.error+              "FieldDescriptorProto'Type.succ: bad argument FieldDescriptorProto'TYPE_SINT64. This value would be out of bounds."+        succ FieldDescriptorProto'TYPE_DOUBLE+          = FieldDescriptorProto'TYPE_FLOAT+        succ FieldDescriptorProto'TYPE_FLOAT+          = FieldDescriptorProto'TYPE_INT64+        succ FieldDescriptorProto'TYPE_INT64+          = FieldDescriptorProto'TYPE_UINT64+        succ FieldDescriptorProto'TYPE_UINT64+          = FieldDescriptorProto'TYPE_INT32+        succ FieldDescriptorProto'TYPE_INT32+          = FieldDescriptorProto'TYPE_FIXED64+        succ FieldDescriptorProto'TYPE_FIXED64+          = FieldDescriptorProto'TYPE_FIXED32+        succ FieldDescriptorProto'TYPE_FIXED32+          = FieldDescriptorProto'TYPE_BOOL+        succ FieldDescriptorProto'TYPE_BOOL+          = FieldDescriptorProto'TYPE_STRING+        succ FieldDescriptorProto'TYPE_STRING+          = FieldDescriptorProto'TYPE_GROUP+        succ FieldDescriptorProto'TYPE_GROUP+          = FieldDescriptorProto'TYPE_MESSAGE+        succ FieldDescriptorProto'TYPE_MESSAGE+          = FieldDescriptorProto'TYPE_BYTES+        succ FieldDescriptorProto'TYPE_BYTES+          = FieldDescriptorProto'TYPE_UINT32+        succ FieldDescriptorProto'TYPE_UINT32+          = FieldDescriptorProto'TYPE_ENUM+        succ FieldDescriptorProto'TYPE_ENUM+          = FieldDescriptorProto'TYPE_SFIXED32+        succ FieldDescriptorProto'TYPE_SFIXED32+          = FieldDescriptorProto'TYPE_SFIXED64+        succ FieldDescriptorProto'TYPE_SFIXED64+          = FieldDescriptorProto'TYPE_SINT32+        succ FieldDescriptorProto'TYPE_SINT32+          = FieldDescriptorProto'TYPE_SINT64+        pred FieldDescriptorProto'TYPE_DOUBLE+          = Prelude.error+              "FieldDescriptorProto'Type.pred: bad argument FieldDescriptorProto'TYPE_DOUBLE. This value would be out of bounds."+        pred FieldDescriptorProto'TYPE_FLOAT+          = FieldDescriptorProto'TYPE_DOUBLE+        pred FieldDescriptorProto'TYPE_INT64+          = FieldDescriptorProto'TYPE_FLOAT+        pred FieldDescriptorProto'TYPE_UINT64+          = FieldDescriptorProto'TYPE_INT64+        pred FieldDescriptorProto'TYPE_INT32+          = FieldDescriptorProto'TYPE_UINT64+        pred FieldDescriptorProto'TYPE_FIXED64+          = FieldDescriptorProto'TYPE_INT32+        pred FieldDescriptorProto'TYPE_FIXED32+          = FieldDescriptorProto'TYPE_FIXED64+        pred FieldDescriptorProto'TYPE_BOOL+          = FieldDescriptorProto'TYPE_FIXED32+        pred FieldDescriptorProto'TYPE_STRING+          = FieldDescriptorProto'TYPE_BOOL+        pred FieldDescriptorProto'TYPE_GROUP+          = FieldDescriptorProto'TYPE_STRING+        pred FieldDescriptorProto'TYPE_MESSAGE+          = FieldDescriptorProto'TYPE_GROUP+        pred FieldDescriptorProto'TYPE_BYTES+          = FieldDescriptorProto'TYPE_MESSAGE+        pred FieldDescriptorProto'TYPE_UINT32+          = FieldDescriptorProto'TYPE_BYTES+        pred FieldDescriptorProto'TYPE_ENUM+          = FieldDescriptorProto'TYPE_UINT32+        pred FieldDescriptorProto'TYPE_SFIXED32+          = FieldDescriptorProto'TYPE_ENUM+        pred FieldDescriptorProto'TYPE_SFIXED64+          = FieldDescriptorProto'TYPE_SFIXED32+        pred FieldDescriptorProto'TYPE_SINT32+          = FieldDescriptorProto'TYPE_SFIXED64+        pred FieldDescriptorProto'TYPE_SINT64+          = FieldDescriptorProto'TYPE_SINT32+        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 Prelude.Bounded FieldDescriptorProto'Type where+        minBound = FieldDescriptorProto'TYPE_DOUBLE+        maxBound = FieldDescriptorProto'TYPE_SINT64+{- | Fields :++    * 'Proto.Google.Protobuf.Descriptor_Fields.ctype' @:: Lens' FieldOptions FieldOptions'CType@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'ctype' @:: Lens' FieldOptions (Prelude.Maybe FieldOptions'CType)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.packed' @:: Lens' FieldOptions Prelude.Bool@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'packed' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.jstype' @:: Lens' FieldOptions FieldOptions'JSType@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'jstype' @:: Lens' FieldOptions (Prelude.Maybe FieldOptions'JSType)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.lazy' @:: Lens' FieldOptions Prelude.Bool@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'lazy' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' FieldOptions Prelude.Bool@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.weak' @:: Lens' FieldOptions Prelude.Bool@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'weak' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' FieldOptions [UninterpretedOption]@+ -}+data FieldOptions = FieldOptions{_FieldOptions'ctype ::+                                 !(Prelude.Maybe FieldOptions'CType),+                                 _FieldOptions'packed :: !(Prelude.Maybe Prelude.Bool),+                                 _FieldOptions'jstype :: !(Prelude.Maybe FieldOptions'JSType),+                                 _FieldOptions'lazy :: !(Prelude.Maybe Prelude.Bool),+                                 _FieldOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),+                                 _FieldOptions'weak :: !(Prelude.Maybe Prelude.Bool),+                                 _FieldOptions'uninterpretedOption :: ![UninterpretedOption],+                                 _FieldOptions'_unknownFields :: !Data.ProtoLens.FieldSet}+                  deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f FieldOptions x a, a ~ b) =>+         Lens.Labels.HasLens f FieldOptions FieldOptions x a b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldOptions "ctype" (FieldOptions'CType)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldOptions'ctype+                 (\ x__ y__ -> x__{_FieldOptions'ctype = y__}))+              (Data.ProtoLens.maybeLens FieldOptions'STRING)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldOptions "maybe'ctype"+           (Prelude.Maybe FieldOptions'CType)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldOptions'ctype+                 (\ x__ y__ -> x__{_FieldOptions'ctype = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldOptions "packed" (Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldOptions'packed+                 (\ x__ y__ -> x__{_FieldOptions'packed = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldOptions "maybe'packed"+           (Prelude.Maybe Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldOptions'packed+                 (\ x__ y__ -> x__{_FieldOptions'packed = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldOptions "jstype" (FieldOptions'JSType)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldOptions'jstype+                 (\ x__ y__ -> x__{_FieldOptions'jstype = y__}))+              (Data.ProtoLens.maybeLens FieldOptions'JS_NORMAL)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldOptions "maybe'jstype"+           (Prelude.Maybe FieldOptions'JSType)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldOptions'jstype+                 (\ x__ y__ -> x__{_FieldOptions'jstype = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldOptions "lazy" (Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldOptions'lazy+                 (\ x__ y__ -> x__{_FieldOptions'lazy = y__}))+              (Data.ProtoLens.maybeLens Prelude.False)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldOptions "maybe'lazy"+           (Prelude.Maybe Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldOptions'lazy+                 (\ x__ y__ -> x__{_FieldOptions'lazy = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldOptions "deprecated" (Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldOptions'deprecated+                 (\ x__ y__ -> x__{_FieldOptions'deprecated = y__}))+              (Data.ProtoLens.maybeLens Prelude.False)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldOptions "maybe'deprecated"+           (Prelude.Maybe Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldOptions'deprecated+                 (\ x__ y__ -> x__{_FieldOptions'deprecated = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldOptions "weak" (Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldOptions'weak+                 (\ x__ y__ -> x__{_FieldOptions'weak = y__}))+              (Data.ProtoLens.maybeLens Prelude.False)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldOptions "maybe'weak"+           (Prelude.Maybe Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldOptions'weak+                 (\ x__ y__ -> x__{_FieldOptions'weak = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FieldOptions "uninterpretedOption"+           ([UninterpretedOption])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FieldOptions'uninterpretedOption+                 (\ x__ y__ -> x__{_FieldOptions'uninterpretedOption = y__}))+              Prelude.id+instance Data.Default.Class.Default FieldOptions where+        def+          = FieldOptions{_FieldOptions'ctype = Prelude.Nothing,+                         _FieldOptions'packed = Prelude.Nothing,+                         _FieldOptions'jstype = Prelude.Nothing,+                         _FieldOptions'lazy = Prelude.Nothing,+                         _FieldOptions'deprecated = Prelude.Nothing,+                         _FieldOptions'weak = Prelude.Nothing,+                         _FieldOptions'uninterpretedOption = [],+                         _FieldOptions'_unknownFields = ([])}+instance Data.ProtoLens.Message FieldOptions where+        messageName _ = Data.Text.pack "google.protobuf.FieldOptions"+        fieldsByTag+          = let ctype__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "ctype"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+                         Data.ProtoLens.FieldTypeDescriptor FieldOptions'CType)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'ctype")))+                      :: Data.ProtoLens.FieldDescriptor FieldOptions+                packed__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "packed"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'packed")))+                      :: Data.ProtoLens.FieldDescriptor FieldOptions+                jstype__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "jstype"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+                         Data.ProtoLens.FieldTypeDescriptor FieldOptions'JSType)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'jstype")))+                      :: Data.ProtoLens.FieldDescriptor FieldOptions+                lazy__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "lazy"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'lazy")))+                      :: Data.ProtoLens.FieldDescriptor FieldOptions+                deprecated__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "deprecated"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))+                      :: Data.ProtoLens.FieldDescriptor FieldOptions+                weak__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "weak"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'weak")))+                      :: Data.ProtoLens.FieldDescriptor FieldOptions+                uninterpretedOption__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "uninterpretedOption")))+                      :: Data.ProtoLens.FieldDescriptor FieldOptions+              in+              Data.Map.fromList+                [(Data.ProtoLens.Tag 1, ctype__field_descriptor),+                 (Data.ProtoLens.Tag 2, packed__field_descriptor),+                 (Data.ProtoLens.Tag 6, jstype__field_descriptor),+                 (Data.ProtoLens.Tag 5, lazy__field_descriptor),+                 (Data.ProtoLens.Tag 3, deprecated__field_descriptor),+                 (Data.ProtoLens.Tag 10, weak__field_descriptor),+                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens _FieldOptions'_unknownFields+              (\ x__ y__ -> x__{_FieldOptions'_unknownFields = y__})+data FieldOptions'CType = FieldOptions'STRING+                        | FieldOptions'CORD+                        | FieldOptions'STRING_PIECE+                        deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.Default.Class.Default FieldOptions'CType where+        def = FieldOptions'STRING+instance Data.ProtoLens.FieldDefault FieldOptions'CType where+        fieldDefault = FieldOptions'STRING+instance Data.ProtoLens.MessageEnum FieldOptions'CType where+        maybeToEnum 0 = Prelude.Just FieldOptions'STRING+        maybeToEnum 1 = Prelude.Just FieldOptions'CORD+        maybeToEnum 2 = Prelude.Just FieldOptions'STRING_PIECE+        maybeToEnum _ = Prelude.Nothing+        showEnum FieldOptions'STRING = "STRING"+        showEnum FieldOptions'CORD = "CORD"+        showEnum FieldOptions'STRING_PIECE = "STRING_PIECE"+        readEnum "STRING" = Prelude.Just FieldOptions'STRING+        readEnum "CORD" = Prelude.Just FieldOptions'CORD+        readEnum "STRING_PIECE" = Prelude.Just FieldOptions'STRING_PIECE+        readEnum _ = Prelude.Nothing+instance Prelude.Enum FieldOptions'CType where+        toEnum k__+          = Prelude.maybe+              (Prelude.error+                 ((Prelude.++) "toEnum: unknown value for enum CType: "+                    (Prelude.show k__)))+              Prelude.id+              (Data.ProtoLens.maybeToEnum k__)+        fromEnum FieldOptions'STRING = 0+        fromEnum FieldOptions'CORD = 1+        fromEnum FieldOptions'STRING_PIECE = 2+        succ FieldOptions'STRING_PIECE+          = Prelude.error+              "FieldOptions'CType.succ: bad argument FieldOptions'STRING_PIECE. This value would be out of bounds."+        succ FieldOptions'STRING = FieldOptions'CORD+        succ FieldOptions'CORD = FieldOptions'STRING_PIECE+        pred FieldOptions'STRING+          = Prelude.error+              "FieldOptions'CType.pred: bad argument FieldOptions'STRING. This value would be out of bounds."+        pred FieldOptions'CORD = FieldOptions'STRING+        pred FieldOptions'STRING_PIECE = FieldOptions'CORD+        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 Prelude.Bounded FieldOptions'CType where+        minBound = FieldOptions'STRING+        maxBound = FieldOptions'STRING_PIECE+data FieldOptions'JSType = FieldOptions'JS_NORMAL+                         | FieldOptions'JS_STRING+                         | FieldOptions'JS_NUMBER+                         deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.Default.Class.Default FieldOptions'JSType where+        def = FieldOptions'JS_NORMAL+instance Data.ProtoLens.FieldDefault FieldOptions'JSType where+        fieldDefault = FieldOptions'JS_NORMAL+instance Data.ProtoLens.MessageEnum FieldOptions'JSType where+        maybeToEnum 0 = Prelude.Just FieldOptions'JS_NORMAL+        maybeToEnum 1 = Prelude.Just FieldOptions'JS_STRING+        maybeToEnum 2 = Prelude.Just FieldOptions'JS_NUMBER+        maybeToEnum _ = Prelude.Nothing+        showEnum FieldOptions'JS_NORMAL = "JS_NORMAL"+        showEnum FieldOptions'JS_STRING = "JS_STRING"+        showEnum FieldOptions'JS_NUMBER = "JS_NUMBER"+        readEnum "JS_NORMAL" = Prelude.Just FieldOptions'JS_NORMAL+        readEnum "JS_STRING" = Prelude.Just FieldOptions'JS_STRING+        readEnum "JS_NUMBER" = Prelude.Just FieldOptions'JS_NUMBER+        readEnum _ = Prelude.Nothing+instance Prelude.Enum FieldOptions'JSType where+        toEnum k__+          = Prelude.maybe+              (Prelude.error+                 ((Prelude.++) "toEnum: unknown value for enum JSType: "+                    (Prelude.show k__)))+              Prelude.id+              (Data.ProtoLens.maybeToEnum k__)+        fromEnum FieldOptions'JS_NORMAL = 0+        fromEnum FieldOptions'JS_STRING = 1+        fromEnum FieldOptions'JS_NUMBER = 2+        succ FieldOptions'JS_NUMBER+          = Prelude.error+              "FieldOptions'JSType.succ: bad argument FieldOptions'JS_NUMBER. This value would be out of bounds."+        succ FieldOptions'JS_NORMAL = FieldOptions'JS_STRING+        succ FieldOptions'JS_STRING = FieldOptions'JS_NUMBER+        pred FieldOptions'JS_NORMAL+          = Prelude.error+              "FieldOptions'JSType.pred: bad argument FieldOptions'JS_NORMAL. This value would be out of bounds."+        pred FieldOptions'JS_STRING = FieldOptions'JS_NORMAL+        pred FieldOptions'JS_NUMBER = FieldOptions'JS_STRING+        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 Prelude.Bounded FieldOptions'JSType where+        minBound = FieldOptions'JS_NORMAL+        maxBound = FieldOptions'JS_NUMBER+{- | Fields :++    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' FileDescriptorProto Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' FileDescriptorProto (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.package' @:: Lens' FileDescriptorProto Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'package' @:: Lens' FileDescriptorProto (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.dependency' @:: Lens' FileDescriptorProto [Data.Text.Text]@+    * 'Proto.Google.Protobuf.Descriptor_Fields.publicDependency' @:: Lens' FileDescriptorProto [Data.Int.Int32]@+    * 'Proto.Google.Protobuf.Descriptor_Fields.weakDependency' @:: Lens' FileDescriptorProto [Data.Int.Int32]@+    * 'Proto.Google.Protobuf.Descriptor_Fields.messageType' @:: Lens' FileDescriptorProto [DescriptorProto]@+    * 'Proto.Google.Protobuf.Descriptor_Fields.enumType' @:: Lens' FileDescriptorProto [EnumDescriptorProto]@+    * 'Proto.Google.Protobuf.Descriptor_Fields.service' @:: Lens' FileDescriptorProto [ServiceDescriptorProto]@+    * 'Proto.Google.Protobuf.Descriptor_Fields.extension' @:: Lens' FileDescriptorProto [FieldDescriptorProto]@+    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' FileDescriptorProto FileOptions@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' FileDescriptorProto (Prelude.Maybe FileOptions)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.sourceCodeInfo' @:: Lens' FileDescriptorProto SourceCodeInfo@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'sourceCodeInfo' @:: Lens' FileDescriptorProto (Prelude.Maybe SourceCodeInfo)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.syntax' @:: Lens' FileDescriptorProto Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'syntax' @:: Lens' FileDescriptorProto (Prelude.Maybe Data.Text.Text)@+ -}+data FileDescriptorProto = FileDescriptorProto{_FileDescriptorProto'name+                                               :: !(Prelude.Maybe Data.Text.Text),+                                               _FileDescriptorProto'package ::+                                               !(Prelude.Maybe Data.Text.Text),+                                               _FileDescriptorProto'dependency :: ![Data.Text.Text],+                                               _FileDescriptorProto'publicDependency ::+                                               ![Data.Int.Int32],+                                               _FileDescriptorProto'weakDependency ::+                                               ![Data.Int.Int32],+                                               _FileDescriptorProto'messageType ::+                                               ![DescriptorProto],+                                               _FileDescriptorProto'enumType ::+                                               ![EnumDescriptorProto],+                                               _FileDescriptorProto'service ::+                                               ![ServiceDescriptorProto],+                                               _FileDescriptorProto'extension ::+                                               ![FieldDescriptorProto],+                                               _FileDescriptorProto'options ::+                                               !(Prelude.Maybe FileOptions),+                                               _FileDescriptorProto'sourceCodeInfo ::+                                               !(Prelude.Maybe SourceCodeInfo),+                                               _FileDescriptorProto'syntax ::+                                               !(Prelude.Maybe Data.Text.Text),+                                               _FileDescriptorProto'_unknownFields ::+                                               !Data.ProtoLens.FieldSet}+                         deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f FileDescriptorProto x a, a ~ b) =>+         Lens.Labels.HasLens f FileDescriptorProto FileDescriptorProto x a b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileDescriptorProto "name" (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'name+                 (\ x__ y__ -> x__{_FileDescriptorProto'name = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileDescriptorProto "maybe'name"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'name+                 (\ x__ y__ -> x__{_FileDescriptorProto'name = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileDescriptorProto "package"+           (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'package+                 (\ x__ y__ -> x__{_FileDescriptorProto'package = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileDescriptorProto "maybe'package"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'package+                 (\ x__ y__ -> x__{_FileDescriptorProto'package = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileDescriptorProto "dependency"+           ([Data.Text.Text])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'dependency+                 (\ x__ y__ -> x__{_FileDescriptorProto'dependency = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileDescriptorProto "publicDependency"+           ([Data.Int.Int32])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'publicDependency+                 (\ x__ y__ -> x__{_FileDescriptorProto'publicDependency = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileDescriptorProto "weakDependency"+           ([Data.Int.Int32])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'weakDependency+                 (\ x__ y__ -> x__{_FileDescriptorProto'weakDependency = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileDescriptorProto "messageType"+           ([DescriptorProto])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'messageType+                 (\ x__ y__ -> x__{_FileDescriptorProto'messageType = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileDescriptorProto "enumType"+           ([EnumDescriptorProto])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'enumType+                 (\ x__ y__ -> x__{_FileDescriptorProto'enumType = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileDescriptorProto "service"+           ([ServiceDescriptorProto])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'service+                 (\ x__ y__ -> x__{_FileDescriptorProto'service = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileDescriptorProto "extension"+           ([FieldDescriptorProto])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'extension+                 (\ x__ y__ -> x__{_FileDescriptorProto'extension = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileDescriptorProto "options" (FileOptions)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'options+                 (\ x__ y__ -> x__{_FileDescriptorProto'options = y__}))+              (Data.ProtoLens.maybeLens Data.Default.Class.def)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileDescriptorProto "maybe'options"+           (Prelude.Maybe FileOptions)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'options+                 (\ x__ y__ -> x__{_FileDescriptorProto'options = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileDescriptorProto "sourceCodeInfo"+           (SourceCodeInfo)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'sourceCodeInfo+                 (\ x__ y__ -> x__{_FileDescriptorProto'sourceCodeInfo = y__}))+              (Data.ProtoLens.maybeLens Data.Default.Class.def)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileDescriptorProto "maybe'sourceCodeInfo"+           (Prelude.Maybe SourceCodeInfo)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'sourceCodeInfo+                 (\ x__ y__ -> x__{_FileDescriptorProto'sourceCodeInfo = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileDescriptorProto "syntax"+           (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'syntax+                 (\ x__ y__ -> x__{_FileDescriptorProto'syntax = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileDescriptorProto "maybe'syntax"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'syntax+                 (\ x__ y__ -> x__{_FileDescriptorProto'syntax = y__}))+              Prelude.id+instance Data.Default.Class.Default FileDescriptorProto where+        def+          = FileDescriptorProto{_FileDescriptorProto'name = Prelude.Nothing,+                                _FileDescriptorProto'package = Prelude.Nothing,+                                _FileDescriptorProto'dependency = [],+                                _FileDescriptorProto'publicDependency = [],+                                _FileDescriptorProto'weakDependency = [],+                                _FileDescriptorProto'messageType = [],+                                _FileDescriptorProto'enumType = [],+                                _FileDescriptorProto'service = [],+                                _FileDescriptorProto'extension = [],+                                _FileDescriptorProto'options = Prelude.Nothing,+                                _FileDescriptorProto'sourceCodeInfo = Prelude.Nothing,+                                _FileDescriptorProto'syntax = Prelude.Nothing,+                                _FileDescriptorProto'_unknownFields = ([])}+instance Data.ProtoLens.Message FileDescriptorProto where+        messageName _+          = Data.Text.pack "google.protobuf.FileDescriptorProto"+        fieldsByTag+          = let name__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "name"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto+                package__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "package"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'package")))+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto+                dependency__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "dependency"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "dependency")))+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto+                publicDependency__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "public_dependency"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "publicDependency")))+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto+                weakDependency__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "weak_dependency"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "weakDependency")))+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto+                messageType__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "message_type"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor DescriptorProto)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "messageType")))+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto+                enumType__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "enum_type"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor EnumDescriptorProto)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "enumType")))+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto+                service__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "service"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor ServiceDescriptorProto)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "service")))+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto+                extension__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "extension"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "extension")))+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto+                options__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "options"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor FileOptions)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto+                sourceCodeInfo__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "source_code_info"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor SourceCodeInfo)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'sourceCodeInfo")))+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto+                syntax__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "syntax"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'syntax")))+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto+              in+              Data.Map.fromList+                [(Data.ProtoLens.Tag 1, name__field_descriptor),+                 (Data.ProtoLens.Tag 2, package__field_descriptor),+                 (Data.ProtoLens.Tag 3, dependency__field_descriptor),+                 (Data.ProtoLens.Tag 10, publicDependency__field_descriptor),+                 (Data.ProtoLens.Tag 11, weakDependency__field_descriptor),+                 (Data.ProtoLens.Tag 4, messageType__field_descriptor),+                 (Data.ProtoLens.Tag 5, enumType__field_descriptor),+                 (Data.ProtoLens.Tag 6, service__field_descriptor),+                 (Data.ProtoLens.Tag 7, extension__field_descriptor),+                 (Data.ProtoLens.Tag 8, options__field_descriptor),+                 (Data.ProtoLens.Tag 9, sourceCodeInfo__field_descriptor),+                 (Data.ProtoLens.Tag 12, syntax__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens _FileDescriptorProto'_unknownFields+              (\ x__ y__ -> x__{_FileDescriptorProto'_unknownFields = y__})+{- | Fields :++    * 'Proto.Google.Protobuf.Descriptor_Fields.file' @:: Lens' FileDescriptorSet [FileDescriptorProto]@+ -}+data FileDescriptorSet = FileDescriptorSet{_FileDescriptorSet'file+                                           :: ![FileDescriptorProto],+                                           _FileDescriptorSet'_unknownFields ::+                                           !Data.ProtoLens.FieldSet}+                       deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f FileDescriptorSet x a, a ~ b) =>+         Lens.Labels.HasLens f FileDescriptorSet FileDescriptorSet x a b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileDescriptorSet "file"+           ([FileDescriptorProto])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileDescriptorSet'file+                 (\ x__ y__ -> x__{_FileDescriptorSet'file = y__}))+              Prelude.id+instance Data.Default.Class.Default FileDescriptorSet where+        def+          = FileDescriptorSet{_FileDescriptorSet'file = [],+                              _FileDescriptorSet'_unknownFields = ([])}+instance Data.ProtoLens.Message FileDescriptorSet where+        messageName _ = Data.Text.pack "google.protobuf.FileDescriptorSet"+        fieldsByTag+          = let file__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "file"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor FileDescriptorProto)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "file")))+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorSet+              in+              Data.Map.fromList [(Data.ProtoLens.Tag 1, file__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens _FileDescriptorSet'_unknownFields+              (\ x__ y__ -> x__{_FileDescriptorSet'_unknownFields = y__})+{- | Fields :++    * 'Proto.Google.Protobuf.Descriptor_Fields.javaPackage' @:: Lens' FileOptions Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaPackage' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.javaOuterClassname' @:: Lens' FileOptions Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaOuterClassname' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.javaMultipleFiles' @:: Lens' FileOptions Prelude.Bool@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaMultipleFiles' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.javaGenerateEqualsAndHash' @:: Lens' FileOptions Prelude.Bool@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaGenerateEqualsAndHash' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.javaStringCheckUtf8' @:: Lens' FileOptions Prelude.Bool@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaStringCheckUtf8' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.optimizeFor' @:: Lens' FileOptions FileOptions'OptimizeMode@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'optimizeFor' @:: Lens' FileOptions (Prelude.Maybe FileOptions'OptimizeMode)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.goPackage' @:: Lens' FileOptions Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'goPackage' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.ccGenericServices' @:: Lens' FileOptions Prelude.Bool@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'ccGenericServices' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.javaGenericServices' @:: Lens' FileOptions Prelude.Bool@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaGenericServices' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.pyGenericServices' @:: Lens' FileOptions Prelude.Bool@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'pyGenericServices' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' FileOptions Prelude.Bool@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.ccEnableArenas' @:: Lens' FileOptions Prelude.Bool@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'ccEnableArenas' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.objcClassPrefix' @:: Lens' FileOptions Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'objcClassPrefix' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.csharpNamespace' @:: Lens' FileOptions Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'csharpNamespace' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' FileOptions [UninterpretedOption]@+ -}+data FileOptions = FileOptions{_FileOptions'javaPackage ::+                               !(Prelude.Maybe Data.Text.Text),+                               _FileOptions'javaOuterClassname :: !(Prelude.Maybe Data.Text.Text),+                               _FileOptions'javaMultipleFiles :: !(Prelude.Maybe Prelude.Bool),+                               _FileOptions'javaGenerateEqualsAndHash ::+                               !(Prelude.Maybe Prelude.Bool),+                               _FileOptions'javaStringCheckUtf8 :: !(Prelude.Maybe Prelude.Bool),+                               _FileOptions'optimizeFor ::+                               !(Prelude.Maybe FileOptions'OptimizeMode),+                               _FileOptions'goPackage :: !(Prelude.Maybe Data.Text.Text),+                               _FileOptions'ccGenericServices :: !(Prelude.Maybe Prelude.Bool),+                               _FileOptions'javaGenericServices :: !(Prelude.Maybe Prelude.Bool),+                               _FileOptions'pyGenericServices :: !(Prelude.Maybe Prelude.Bool),+                               _FileOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),+                               _FileOptions'ccEnableArenas :: !(Prelude.Maybe Prelude.Bool),+                               _FileOptions'objcClassPrefix :: !(Prelude.Maybe Data.Text.Text),+                               _FileOptions'csharpNamespace :: !(Prelude.Maybe Data.Text.Text),+                               _FileOptions'uninterpretedOption :: ![UninterpretedOption],+                               _FileOptions'_unknownFields :: !Data.ProtoLens.FieldSet}+                 deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f FileOptions x a, a ~ b) =>+         Lens.Labels.HasLens f FileOptions FileOptions x a b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "javaPackage" (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'javaPackage+                 (\ x__ y__ -> x__{_FileOptions'javaPackage = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "maybe'javaPackage"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'javaPackage+                 (\ x__ y__ -> x__{_FileOptions'javaPackage = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "javaOuterClassname"+           (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'javaOuterClassname+                 (\ x__ y__ -> x__{_FileOptions'javaOuterClassname = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "maybe'javaOuterClassname"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'javaOuterClassname+                 (\ x__ y__ -> x__{_FileOptions'javaOuterClassname = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "javaMultipleFiles"+           (Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'javaMultipleFiles+                 (\ x__ y__ -> x__{_FileOptions'javaMultipleFiles = y__}))+              (Data.ProtoLens.maybeLens Prelude.False)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "maybe'javaMultipleFiles"+           (Prelude.Maybe Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'javaMultipleFiles+                 (\ x__ y__ -> x__{_FileOptions'javaMultipleFiles = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "javaGenerateEqualsAndHash"+           (Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'javaGenerateEqualsAndHash+                 (\ x__ y__ -> x__{_FileOptions'javaGenerateEqualsAndHash = y__}))+              (Data.ProtoLens.maybeLens Prelude.False)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions+           "maybe'javaGenerateEqualsAndHash"+           (Prelude.Maybe Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'javaGenerateEqualsAndHash+                 (\ x__ y__ -> x__{_FileOptions'javaGenerateEqualsAndHash = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "javaStringCheckUtf8"+           (Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'javaStringCheckUtf8+                 (\ x__ y__ -> x__{_FileOptions'javaStringCheckUtf8 = y__}))+              (Data.ProtoLens.maybeLens Prelude.False)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "maybe'javaStringCheckUtf8"+           (Prelude.Maybe Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'javaStringCheckUtf8+                 (\ x__ y__ -> x__{_FileOptions'javaStringCheckUtf8 = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "optimizeFor"+           (FileOptions'OptimizeMode)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'optimizeFor+                 (\ x__ y__ -> x__{_FileOptions'optimizeFor = y__}))+              (Data.ProtoLens.maybeLens FileOptions'SPEED)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "maybe'optimizeFor"+           (Prelude.Maybe FileOptions'OptimizeMode)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'optimizeFor+                 (\ x__ y__ -> x__{_FileOptions'optimizeFor = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "goPackage" (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'goPackage+                 (\ x__ y__ -> x__{_FileOptions'goPackage = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "maybe'goPackage"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'goPackage+                 (\ x__ y__ -> x__{_FileOptions'goPackage = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "ccGenericServices"+           (Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'ccGenericServices+                 (\ x__ y__ -> x__{_FileOptions'ccGenericServices = y__}))+              (Data.ProtoLens.maybeLens Prelude.False)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "maybe'ccGenericServices"+           (Prelude.Maybe Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'ccGenericServices+                 (\ x__ y__ -> x__{_FileOptions'ccGenericServices = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "javaGenericServices"+           (Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'javaGenericServices+                 (\ x__ y__ -> x__{_FileOptions'javaGenericServices = y__}))+              (Data.ProtoLens.maybeLens Prelude.False)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "maybe'javaGenericServices"+           (Prelude.Maybe Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'javaGenericServices+                 (\ x__ y__ -> x__{_FileOptions'javaGenericServices = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "pyGenericServices"+           (Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'pyGenericServices+                 (\ x__ y__ -> x__{_FileOptions'pyGenericServices = y__}))+              (Data.ProtoLens.maybeLens Prelude.False)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "maybe'pyGenericServices"+           (Prelude.Maybe Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'pyGenericServices+                 (\ x__ y__ -> x__{_FileOptions'pyGenericServices = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "deprecated" (Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'deprecated+                 (\ x__ y__ -> x__{_FileOptions'deprecated = y__}))+              (Data.ProtoLens.maybeLens Prelude.False)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "maybe'deprecated"+           (Prelude.Maybe Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'deprecated+                 (\ x__ y__ -> x__{_FileOptions'deprecated = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "ccEnableArenas" (Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'ccEnableArenas+                 (\ x__ y__ -> x__{_FileOptions'ccEnableArenas = y__}))+              (Data.ProtoLens.maybeLens Prelude.False)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "maybe'ccEnableArenas"+           (Prelude.Maybe Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'ccEnableArenas+                 (\ x__ y__ -> x__{_FileOptions'ccEnableArenas = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "objcClassPrefix"+           (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'objcClassPrefix+                 (\ x__ y__ -> x__{_FileOptions'objcClassPrefix = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "maybe'objcClassPrefix"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'objcClassPrefix+                 (\ x__ y__ -> x__{_FileOptions'objcClassPrefix = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "csharpNamespace"+           (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'csharpNamespace+                 (\ x__ y__ -> x__{_FileOptions'csharpNamespace = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "maybe'csharpNamespace"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'csharpNamespace+                 (\ x__ y__ -> x__{_FileOptions'csharpNamespace = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f FileOptions "uninterpretedOption"+           ([UninterpretedOption])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _FileOptions'uninterpretedOption+                 (\ x__ y__ -> x__{_FileOptions'uninterpretedOption = y__}))+              Prelude.id+instance Data.Default.Class.Default FileOptions where+        def+          = FileOptions{_FileOptions'javaPackage = Prelude.Nothing,+                        _FileOptions'javaOuterClassname = Prelude.Nothing,+                        _FileOptions'javaMultipleFiles = Prelude.Nothing,+                        _FileOptions'javaGenerateEqualsAndHash = Prelude.Nothing,+                        _FileOptions'javaStringCheckUtf8 = Prelude.Nothing,+                        _FileOptions'optimizeFor = Prelude.Nothing,+                        _FileOptions'goPackage = Prelude.Nothing,+                        _FileOptions'ccGenericServices = Prelude.Nothing,+                        _FileOptions'javaGenericServices = Prelude.Nothing,+                        _FileOptions'pyGenericServices = Prelude.Nothing,+                        _FileOptions'deprecated = Prelude.Nothing,+                        _FileOptions'ccEnableArenas = Prelude.Nothing,+                        _FileOptions'objcClassPrefix = Prelude.Nothing,+                        _FileOptions'csharpNamespace = Prelude.Nothing,+                        _FileOptions'uninterpretedOption = [],+                        _FileOptions'_unknownFields = ([])}+instance Data.ProtoLens.Message FileOptions where+        messageName _ = Data.Text.pack "google.protobuf.FileOptions"+        fieldsByTag+          = let javaPackage__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "java_package"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'javaPackage")))+                      :: Data.ProtoLens.FieldDescriptor FileOptions+                javaOuterClassname__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "java_outer_classname"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'javaOuterClassname")))+                      :: Data.ProtoLens.FieldDescriptor FileOptions+                javaMultipleFiles__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "java_multiple_files"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'javaMultipleFiles")))+                      :: Data.ProtoLens.FieldDescriptor FileOptions+                javaGenerateEqualsAndHash__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "java_generate_equals_and_hash"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'javaGenerateEqualsAndHash")))+                      :: Data.ProtoLens.FieldDescriptor FileOptions+                javaStringCheckUtf8__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "java_string_check_utf8"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'javaStringCheckUtf8")))+                      :: Data.ProtoLens.FieldDescriptor FileOptions+                optimizeFor__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "optimize_for"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+                         Data.ProtoLens.FieldTypeDescriptor FileOptions'OptimizeMode)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'optimizeFor")))+                      :: Data.ProtoLens.FieldDescriptor FileOptions+                goPackage__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "go_package"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'goPackage")))+                      :: Data.ProtoLens.FieldDescriptor FileOptions+                ccGenericServices__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "cc_generic_services"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'ccGenericServices")))+                      :: Data.ProtoLens.FieldDescriptor FileOptions+                javaGenericServices__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "java_generic_services"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'javaGenericServices")))+                      :: Data.ProtoLens.FieldDescriptor FileOptions+                pyGenericServices__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "py_generic_services"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'pyGenericServices")))+                      :: Data.ProtoLens.FieldDescriptor FileOptions+                deprecated__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "deprecated"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))+                      :: Data.ProtoLens.FieldDescriptor FileOptions+                ccEnableArenas__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "cc_enable_arenas"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'ccEnableArenas")))+                      :: Data.ProtoLens.FieldDescriptor FileOptions+                objcClassPrefix__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "objc_class_prefix"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'objcClassPrefix")))+                      :: Data.ProtoLens.FieldDescriptor FileOptions+                csharpNamespace__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "csharp_namespace"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'csharpNamespace")))+                      :: Data.ProtoLens.FieldDescriptor FileOptions+                uninterpretedOption__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "uninterpretedOption")))+                      :: Data.ProtoLens.FieldDescriptor FileOptions+              in+              Data.Map.fromList+                [(Data.ProtoLens.Tag 1, javaPackage__field_descriptor),+                 (Data.ProtoLens.Tag 8, javaOuterClassname__field_descriptor),+                 (Data.ProtoLens.Tag 10, javaMultipleFiles__field_descriptor),+                 (Data.ProtoLens.Tag 20,+                  javaGenerateEqualsAndHash__field_descriptor),+                 (Data.ProtoLens.Tag 27, javaStringCheckUtf8__field_descriptor),+                 (Data.ProtoLens.Tag 9, optimizeFor__field_descriptor),+                 (Data.ProtoLens.Tag 11, goPackage__field_descriptor),+                 (Data.ProtoLens.Tag 16, ccGenericServices__field_descriptor),+                 (Data.ProtoLens.Tag 17, javaGenericServices__field_descriptor),+                 (Data.ProtoLens.Tag 18, pyGenericServices__field_descriptor),+                 (Data.ProtoLens.Tag 23, deprecated__field_descriptor),+                 (Data.ProtoLens.Tag 31, ccEnableArenas__field_descriptor),+                 (Data.ProtoLens.Tag 36, objcClassPrefix__field_descriptor),+                 (Data.ProtoLens.Tag 37, csharpNamespace__field_descriptor),+                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens _FileOptions'_unknownFields+              (\ x__ y__ -> x__{_FileOptions'_unknownFields = y__})+data FileOptions'OptimizeMode = FileOptions'SPEED+                              | FileOptions'CODE_SIZE+                              | FileOptions'LITE_RUNTIME+                              deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.Default.Class.Default FileOptions'OptimizeMode where+        def = FileOptions'SPEED+instance Data.ProtoLens.FieldDefault FileOptions'OptimizeMode where+        fieldDefault = FileOptions'SPEED+instance Data.ProtoLens.MessageEnum FileOptions'OptimizeMode where+        maybeToEnum 1 = Prelude.Just FileOptions'SPEED+        maybeToEnum 2 = Prelude.Just FileOptions'CODE_SIZE+        maybeToEnum 3 = Prelude.Just FileOptions'LITE_RUNTIME+        maybeToEnum _ = Prelude.Nothing+        showEnum FileOptions'SPEED = "SPEED"+        showEnum FileOptions'CODE_SIZE = "CODE_SIZE"+        showEnum FileOptions'LITE_RUNTIME = "LITE_RUNTIME"+        readEnum "SPEED" = Prelude.Just FileOptions'SPEED+        readEnum "CODE_SIZE" = Prelude.Just FileOptions'CODE_SIZE+        readEnum "LITE_RUNTIME" = Prelude.Just FileOptions'LITE_RUNTIME+        readEnum _ = Prelude.Nothing+instance Prelude.Enum FileOptions'OptimizeMode where+        toEnum k__+          = Prelude.maybe+              (Prelude.error+                 ((Prelude.++) "toEnum: unknown value for enum OptimizeMode: "+                    (Prelude.show k__)))+              Prelude.id+              (Data.ProtoLens.maybeToEnum k__)+        fromEnum FileOptions'SPEED = 1+        fromEnum FileOptions'CODE_SIZE = 2+        fromEnum FileOptions'LITE_RUNTIME = 3+        succ FileOptions'LITE_RUNTIME+          = Prelude.error+              "FileOptions'OptimizeMode.succ: bad argument FileOptions'LITE_RUNTIME. This value would be out of bounds."+        succ FileOptions'SPEED = FileOptions'CODE_SIZE+        succ FileOptions'CODE_SIZE = FileOptions'LITE_RUNTIME+        pred FileOptions'SPEED+          = Prelude.error+              "FileOptions'OptimizeMode.pred: bad argument FileOptions'SPEED. This value would be out of bounds."+        pred FileOptions'CODE_SIZE = FileOptions'SPEED+        pred FileOptions'LITE_RUNTIME = FileOptions'CODE_SIZE+        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 Prelude.Bounded FileOptions'OptimizeMode where+        minBound = FileOptions'SPEED+        maxBound = FileOptions'LITE_RUNTIME+{- | Fields :++    * 'Proto.Google.Protobuf.Descriptor_Fields.annotation' @:: Lens' GeneratedCodeInfo [GeneratedCodeInfo'Annotation]@+ -}+data GeneratedCodeInfo = GeneratedCodeInfo{_GeneratedCodeInfo'annotation+                                           :: ![GeneratedCodeInfo'Annotation],+                                           _GeneratedCodeInfo'_unknownFields ::+                                           !Data.ProtoLens.FieldSet}+                       deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f GeneratedCodeInfo x a, a ~ b) =>+         Lens.Labels.HasLens f GeneratedCodeInfo GeneratedCodeInfo x a b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f GeneratedCodeInfo "annotation"+           ([GeneratedCodeInfo'Annotation])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'annotation+                 (\ x__ y__ -> x__{_GeneratedCodeInfo'annotation = y__}))+              Prelude.id+instance Data.Default.Class.Default GeneratedCodeInfo where+        def+          = GeneratedCodeInfo{_GeneratedCodeInfo'annotation = [],+                              _GeneratedCodeInfo'_unknownFields = ([])}+instance Data.ProtoLens.Message GeneratedCodeInfo where+        messageName _ = Data.Text.pack "google.protobuf.GeneratedCodeInfo"+        fieldsByTag+          = let annotation__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "annotation"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor GeneratedCodeInfo'Annotation)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "annotation")))+                      :: Data.ProtoLens.FieldDescriptor GeneratedCodeInfo+              in+              Data.Map.fromList+                [(Data.ProtoLens.Tag 1, annotation__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens _GeneratedCodeInfo'_unknownFields+              (\ x__ y__ -> x__{_GeneratedCodeInfo'_unknownFields = y__})+{- | Fields :++    * 'Proto.Google.Protobuf.Descriptor_Fields.path' @:: Lens' GeneratedCodeInfo'Annotation [Data.Int.Int32]@+    * 'Proto.Google.Protobuf.Descriptor_Fields.sourceFile' @:: Lens' GeneratedCodeInfo'Annotation Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'sourceFile' @:: Lens' GeneratedCodeInfo'Annotation (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.begin' @:: Lens' GeneratedCodeInfo'Annotation Data.Int.Int32@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'begin' @:: Lens' GeneratedCodeInfo'Annotation (Prelude.Maybe Data.Int.Int32)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.end' @:: Lens' GeneratedCodeInfo'Annotation Data.Int.Int32@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'end' @:: Lens' GeneratedCodeInfo'Annotation (Prelude.Maybe Data.Int.Int32)@+ -}+data GeneratedCodeInfo'Annotation = GeneratedCodeInfo'Annotation{_GeneratedCodeInfo'Annotation'path+                                                                 :: ![Data.Int.Int32],+                                                                 _GeneratedCodeInfo'Annotation'sourceFile+                                                                 :: !(Prelude.Maybe Data.Text.Text),+                                                                 _GeneratedCodeInfo'Annotation'begin+                                                                 :: !(Prelude.Maybe Data.Int.Int32),+                                                                 _GeneratedCodeInfo'Annotation'end+                                                                 :: !(Prelude.Maybe Data.Int.Int32),+                                                                 _GeneratedCodeInfo'Annotation'_unknownFields+                                                                 :: !Data.ProtoLens.FieldSet}+                                  deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f GeneratedCodeInfo'Annotation x a,+          a ~ b) =>+         Lens.Labels.HasLens f GeneratedCodeInfo'Annotation+           GeneratedCodeInfo'Annotation+           x+           a+           b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f GeneratedCodeInfo'Annotation "path"+           ([Data.Int.Int32])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'path+                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'path = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f GeneratedCodeInfo'Annotation "sourceFile"+           (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens+                 _GeneratedCodeInfo'Annotation'sourceFile+                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'sourceFile = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f GeneratedCodeInfo'Annotation+           "maybe'sourceFile"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens+                 _GeneratedCodeInfo'Annotation'sourceFile+                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'sourceFile = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f GeneratedCodeInfo'Annotation "begin"+           (Data.Int.Int32)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'begin+                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'begin = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f GeneratedCodeInfo'Annotation "maybe'begin"+           (Prelude.Maybe Data.Int.Int32)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'begin+                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'begin = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f GeneratedCodeInfo'Annotation "end"+           (Data.Int.Int32)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'end+                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'end = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f GeneratedCodeInfo'Annotation "maybe'end"+           (Prelude.Maybe Data.Int.Int32)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'end+                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'end = y__}))+              Prelude.id+instance Data.Default.Class.Default GeneratedCodeInfo'Annotation+         where+        def+          = GeneratedCodeInfo'Annotation{_GeneratedCodeInfo'Annotation'path =+                                           [],+                                         _GeneratedCodeInfo'Annotation'sourceFile = Prelude.Nothing,+                                         _GeneratedCodeInfo'Annotation'begin = Prelude.Nothing,+                                         _GeneratedCodeInfo'Annotation'end = Prelude.Nothing,+                                         _GeneratedCodeInfo'Annotation'_unknownFields = ([])}+instance Data.ProtoLens.Message GeneratedCodeInfo'Annotation where+        messageName _+          = Data.Text.pack "google.protobuf.GeneratedCodeInfo.Annotation"+        fieldsByTag+          = let path__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "path"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Packed+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "path")))+                      :: Data.ProtoLens.FieldDescriptor GeneratedCodeInfo'Annotation+                sourceFile__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "source_file"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'sourceFile")))+                      :: Data.ProtoLens.FieldDescriptor GeneratedCodeInfo'Annotation+                begin__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "begin"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'begin")))+                      :: Data.ProtoLens.FieldDescriptor GeneratedCodeInfo'Annotation+                end__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "end"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'end")))+                      :: Data.ProtoLens.FieldDescriptor GeneratedCodeInfo'Annotation+              in+              Data.Map.fromList+                [(Data.ProtoLens.Tag 1, path__field_descriptor),+                 (Data.ProtoLens.Tag 2, sourceFile__field_descriptor),+                 (Data.ProtoLens.Tag 3, begin__field_descriptor),+                 (Data.ProtoLens.Tag 4, end__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens+              _GeneratedCodeInfo'Annotation'_unknownFields+              (\ x__ y__ ->+                 x__{_GeneratedCodeInfo'Annotation'_unknownFields = y__})+{- | Fields :++    * 'Proto.Google.Protobuf.Descriptor_Fields.messageSetWireFormat' @:: Lens' MessageOptions Prelude.Bool@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'messageSetWireFormat' @:: Lens' MessageOptions (Prelude.Maybe Prelude.Bool)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.noStandardDescriptorAccessor' @:: Lens' MessageOptions Prelude.Bool@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'noStandardDescriptorAccessor' @:: Lens' MessageOptions (Prelude.Maybe Prelude.Bool)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' MessageOptions Prelude.Bool@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' MessageOptions (Prelude.Maybe Prelude.Bool)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.mapEntry' @:: Lens' MessageOptions Prelude.Bool@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'mapEntry' @:: Lens' MessageOptions (Prelude.Maybe Prelude.Bool)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' MessageOptions [UninterpretedOption]@+ -}+data MessageOptions = MessageOptions{_MessageOptions'messageSetWireFormat+                                     :: !(Prelude.Maybe Prelude.Bool),+                                     _MessageOptions'noStandardDescriptorAccessor ::+                                     !(Prelude.Maybe Prelude.Bool),+                                     _MessageOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),+                                     _MessageOptions'mapEntry :: !(Prelude.Maybe Prelude.Bool),+                                     _MessageOptions'uninterpretedOption :: ![UninterpretedOption],+                                     _MessageOptions'_unknownFields :: !Data.ProtoLens.FieldSet}+                    deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f MessageOptions x a, a ~ b) =>+         Lens.Labels.HasLens f MessageOptions MessageOptions x a b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f MessageOptions "messageSetWireFormat"+           (Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _MessageOptions'messageSetWireFormat+                 (\ x__ y__ -> x__{_MessageOptions'messageSetWireFormat = y__}))+              (Data.ProtoLens.maybeLens Prelude.False)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f MessageOptions "maybe'messageSetWireFormat"+           (Prelude.Maybe Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _MessageOptions'messageSetWireFormat+                 (\ x__ y__ -> x__{_MessageOptions'messageSetWireFormat = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f MessageOptions+           "noStandardDescriptorAccessor"+           (Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens+                 _MessageOptions'noStandardDescriptorAccessor+                 (\ x__ y__ ->+                    x__{_MessageOptions'noStandardDescriptorAccessor = y__}))+              (Data.ProtoLens.maybeLens Prelude.False)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f MessageOptions+           "maybe'noStandardDescriptorAccessor"+           (Prelude.Maybe Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens+                 _MessageOptions'noStandardDescriptorAccessor+                 (\ x__ y__ ->+                    x__{_MessageOptions'noStandardDescriptorAccessor = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f MessageOptions "deprecated" (Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _MessageOptions'deprecated+                 (\ x__ y__ -> x__{_MessageOptions'deprecated = y__}))+              (Data.ProtoLens.maybeLens Prelude.False)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f MessageOptions "maybe'deprecated"+           (Prelude.Maybe Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _MessageOptions'deprecated+                 (\ x__ y__ -> x__{_MessageOptions'deprecated = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f MessageOptions "mapEntry" (Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _MessageOptions'mapEntry+                 (\ x__ y__ -> x__{_MessageOptions'mapEntry = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f MessageOptions "maybe'mapEntry"+           (Prelude.Maybe Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _MessageOptions'mapEntry+                 (\ x__ y__ -> x__{_MessageOptions'mapEntry = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f MessageOptions "uninterpretedOption"+           ([UninterpretedOption])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _MessageOptions'uninterpretedOption+                 (\ x__ y__ -> x__{_MessageOptions'uninterpretedOption = y__}))+              Prelude.id+instance Data.Default.Class.Default MessageOptions where+        def+          = MessageOptions{_MessageOptions'messageSetWireFormat =+                             Prelude.Nothing,+                           _MessageOptions'noStandardDescriptorAccessor = Prelude.Nothing,+                           _MessageOptions'deprecated = Prelude.Nothing,+                           _MessageOptions'mapEntry = Prelude.Nothing,+                           _MessageOptions'uninterpretedOption = [],+                           _MessageOptions'_unknownFields = ([])}+instance Data.ProtoLens.Message MessageOptions where+        messageName _ = Data.Text.pack "google.protobuf.MessageOptions"+        fieldsByTag+          = let messageSetWireFormat__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "message_set_wire_format"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'messageSetWireFormat")))+                      :: Data.ProtoLens.FieldDescriptor MessageOptions+                noStandardDescriptorAccessor__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "no_standard_descriptor_accessor"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'noStandardDescriptorAccessor")))+                      :: Data.ProtoLens.FieldDescriptor MessageOptions+                deprecated__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "deprecated"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))+                      :: Data.ProtoLens.FieldDescriptor MessageOptions+                mapEntry__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "map_entry"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'mapEntry")))+                      :: Data.ProtoLens.FieldDescriptor MessageOptions+                uninterpretedOption__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "uninterpretedOption")))+                      :: Data.ProtoLens.FieldDescriptor MessageOptions+              in+              Data.Map.fromList+                [(Data.ProtoLens.Tag 1, messageSetWireFormat__field_descriptor),+                 (Data.ProtoLens.Tag 2,+                  noStandardDescriptorAccessor__field_descriptor),+                 (Data.ProtoLens.Tag 3, deprecated__field_descriptor),+                 (Data.ProtoLens.Tag 7, mapEntry__field_descriptor),+                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens _MessageOptions'_unknownFields+              (\ x__ y__ -> x__{_MessageOptions'_unknownFields = y__})+{- | Fields :++    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' MethodDescriptorProto Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' MethodDescriptorProto (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.inputType' @:: Lens' MethodDescriptorProto Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'inputType' @:: Lens' MethodDescriptorProto (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.outputType' @:: Lens' MethodDescriptorProto Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'outputType' @:: Lens' MethodDescriptorProto (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' MethodDescriptorProto MethodOptions@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' MethodDescriptorProto (Prelude.Maybe MethodOptions)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.clientStreaming' @:: Lens' MethodDescriptorProto Prelude.Bool@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'clientStreaming' @:: Lens' MethodDescriptorProto (Prelude.Maybe Prelude.Bool)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.serverStreaming' @:: Lens' MethodDescriptorProto Prelude.Bool@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'serverStreaming' @:: Lens' MethodDescriptorProto (Prelude.Maybe Prelude.Bool)@+ -}+data MethodDescriptorProto = MethodDescriptorProto{_MethodDescriptorProto'name+                                                   :: !(Prelude.Maybe Data.Text.Text),+                                                   _MethodDescriptorProto'inputType ::+                                                   !(Prelude.Maybe Data.Text.Text),+                                                   _MethodDescriptorProto'outputType ::+                                                   !(Prelude.Maybe Data.Text.Text),+                                                   _MethodDescriptorProto'options ::+                                                   !(Prelude.Maybe MethodOptions),+                                                   _MethodDescriptorProto'clientStreaming ::+                                                   !(Prelude.Maybe Prelude.Bool),+                                                   _MethodDescriptorProto'serverStreaming ::+                                                   !(Prelude.Maybe Prelude.Bool),+                                                   _MethodDescriptorProto'_unknownFields ::+                                                   !Data.ProtoLens.FieldSet}+                           deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f MethodDescriptorProto x a,+          a ~ b) =>+         Lens.Labels.HasLens f MethodDescriptorProto MethodDescriptorProto x+           a+           b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f MethodDescriptorProto "name"+           (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'name+                 (\ x__ y__ -> x__{_MethodDescriptorProto'name = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f MethodDescriptorProto "maybe'name"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'name+                 (\ x__ y__ -> x__{_MethodDescriptorProto'name = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f MethodDescriptorProto "inputType"+           (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'inputType+                 (\ x__ y__ -> x__{_MethodDescriptorProto'inputType = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f MethodDescriptorProto "maybe'inputType"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'inputType+                 (\ x__ y__ -> x__{_MethodDescriptorProto'inputType = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f MethodDescriptorProto "outputType"+           (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'outputType+                 (\ x__ y__ -> x__{_MethodDescriptorProto'outputType = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f MethodDescriptorProto "maybe'outputType"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'outputType+                 (\ x__ y__ -> x__{_MethodDescriptorProto'outputType = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f MethodDescriptorProto "options"+           (MethodOptions)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'options+                 (\ x__ y__ -> x__{_MethodDescriptorProto'options = y__}))+              (Data.ProtoLens.maybeLens Data.Default.Class.def)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f MethodDescriptorProto "maybe'options"+           (Prelude.Maybe MethodOptions)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'options+                 (\ x__ y__ -> x__{_MethodDescriptorProto'options = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f MethodDescriptorProto "clientStreaming"+           (Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'clientStreaming+                 (\ x__ y__ -> x__{_MethodDescriptorProto'clientStreaming = y__}))+              (Data.ProtoLens.maybeLens Prelude.False)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f MethodDescriptorProto+           "maybe'clientStreaming"+           (Prelude.Maybe Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'clientStreaming+                 (\ x__ y__ -> x__{_MethodDescriptorProto'clientStreaming = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f MethodDescriptorProto "serverStreaming"+           (Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'serverStreaming+                 (\ x__ y__ -> x__{_MethodDescriptorProto'serverStreaming = y__}))+              (Data.ProtoLens.maybeLens Prelude.False)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f MethodDescriptorProto+           "maybe'serverStreaming"+           (Prelude.Maybe Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'serverStreaming+                 (\ x__ y__ -> x__{_MethodDescriptorProto'serverStreaming = y__}))+              Prelude.id+instance Data.Default.Class.Default MethodDescriptorProto where+        def+          = MethodDescriptorProto{_MethodDescriptorProto'name =+                                    Prelude.Nothing,+                                  _MethodDescriptorProto'inputType = Prelude.Nothing,+                                  _MethodDescriptorProto'outputType = Prelude.Nothing,+                                  _MethodDescriptorProto'options = Prelude.Nothing,+                                  _MethodDescriptorProto'clientStreaming = Prelude.Nothing,+                                  _MethodDescriptorProto'serverStreaming = Prelude.Nothing,+                                  _MethodDescriptorProto'_unknownFields = ([])}+instance Data.ProtoLens.Message MethodDescriptorProto where+        messageName _+          = Data.Text.pack "google.protobuf.MethodDescriptorProto"+        fieldsByTag+          = let name__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "name"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))+                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto+                inputType__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "input_type"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'inputType")))+                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto+                outputType__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "output_type"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'outputType")))+                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto+                options__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "options"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor MethodOptions)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))+                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto+                clientStreaming__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "client_streaming"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'clientStreaming")))+                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto+                serverStreaming__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "server_streaming"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'serverStreaming")))+                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto+              in+              Data.Map.fromList+                [(Data.ProtoLens.Tag 1, name__field_descriptor),+                 (Data.ProtoLens.Tag 2, inputType__field_descriptor),+                 (Data.ProtoLens.Tag 3, outputType__field_descriptor),+                 (Data.ProtoLens.Tag 4, options__field_descriptor),+                 (Data.ProtoLens.Tag 5, clientStreaming__field_descriptor),+                 (Data.ProtoLens.Tag 6, serverStreaming__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens _MethodDescriptorProto'_unknownFields+              (\ x__ y__ -> x__{_MethodDescriptorProto'_unknownFields = y__})+{- | Fields :++    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' MethodOptions Prelude.Bool@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' MethodOptions (Prelude.Maybe Prelude.Bool)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' MethodOptions [UninterpretedOption]@+ -}+data MethodOptions = MethodOptions{_MethodOptions'deprecated ::+                                   !(Prelude.Maybe Prelude.Bool),+                                   _MethodOptions'uninterpretedOption :: ![UninterpretedOption],+                                   _MethodOptions'_unknownFields :: !Data.ProtoLens.FieldSet}+                   deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f MethodOptions x a, a ~ b) =>+         Lens.Labels.HasLens f MethodOptions MethodOptions x a b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f MethodOptions "deprecated" (Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _MethodOptions'deprecated+                 (\ x__ y__ -> x__{_MethodOptions'deprecated = y__}))+              (Data.ProtoLens.maybeLens Prelude.False)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f MethodOptions "maybe'deprecated"+           (Prelude.Maybe Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _MethodOptions'deprecated+                 (\ x__ y__ -> x__{_MethodOptions'deprecated = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f MethodOptions "uninterpretedOption"+           ([UninterpretedOption])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _MethodOptions'uninterpretedOption+                 (\ x__ y__ -> x__{_MethodOptions'uninterpretedOption = y__}))+              Prelude.id+instance Data.Default.Class.Default MethodOptions where+        def+          = MethodOptions{_MethodOptions'deprecated = Prelude.Nothing,+                          _MethodOptions'uninterpretedOption = [],+                          _MethodOptions'_unknownFields = ([])}+instance Data.ProtoLens.Message MethodOptions where+        messageName _ = Data.Text.pack "google.protobuf.MethodOptions"+        fieldsByTag+          = let deprecated__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "deprecated"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))+                      :: Data.ProtoLens.FieldDescriptor MethodOptions+                uninterpretedOption__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "uninterpretedOption")))+                      :: Data.ProtoLens.FieldDescriptor MethodOptions+              in+              Data.Map.fromList+                [(Data.ProtoLens.Tag 33, deprecated__field_descriptor),+                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens _MethodOptions'_unknownFields+              (\ x__ y__ -> x__{_MethodOptions'_unknownFields = y__})+{- | Fields :++    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' OneofDescriptorProto Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' OneofDescriptorProto (Prelude.Maybe Data.Text.Text)@+ -}+data OneofDescriptorProto = OneofDescriptorProto{_OneofDescriptorProto'name+                                                 :: !(Prelude.Maybe Data.Text.Text),+                                                 _OneofDescriptorProto'_unknownFields ::+                                                 !Data.ProtoLens.FieldSet}+                          deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f OneofDescriptorProto x a,+          a ~ b) =>+         Lens.Labels.HasLens f OneofDescriptorProto OneofDescriptorProto x a+           b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f OneofDescriptorProto "name" (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _OneofDescriptorProto'name+                 (\ x__ y__ -> x__{_OneofDescriptorProto'name = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f OneofDescriptorProto "maybe'name"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _OneofDescriptorProto'name+                 (\ x__ y__ -> x__{_OneofDescriptorProto'name = y__}))+              Prelude.id+instance Data.Default.Class.Default OneofDescriptorProto where+        def+          = OneofDescriptorProto{_OneofDescriptorProto'name =+                                   Prelude.Nothing,+                                 _OneofDescriptorProto'_unknownFields = ([])}+instance Data.ProtoLens.Message OneofDescriptorProto where+        messageName _+          = Data.Text.pack "google.protobuf.OneofDescriptorProto"+        fieldsByTag+          = let name__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "name"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))+                      :: Data.ProtoLens.FieldDescriptor OneofDescriptorProto+              in+              Data.Map.fromList [(Data.ProtoLens.Tag 1, name__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens _OneofDescriptorProto'_unknownFields+              (\ x__ y__ -> x__{_OneofDescriptorProto'_unknownFields = y__})+{- | Fields :++    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' ServiceDescriptorProto Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' ServiceDescriptorProto (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.method' @:: Lens' ServiceDescriptorProto [MethodDescriptorProto]@+    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' ServiceDescriptorProto ServiceOptions@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' ServiceDescriptorProto (Prelude.Maybe ServiceOptions)@+ -}+data ServiceDescriptorProto = ServiceDescriptorProto{_ServiceDescriptorProto'name+                                                     :: !(Prelude.Maybe Data.Text.Text),+                                                     _ServiceDescriptorProto'method ::+                                                     ![MethodDescriptorProto],+                                                     _ServiceDescriptorProto'options ::+                                                     !(Prelude.Maybe ServiceOptions),+                                                     _ServiceDescriptorProto'_unknownFields ::+                                                     !Data.ProtoLens.FieldSet}+                            deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f ServiceDescriptorProto x a,+          a ~ b) =>+         Lens.Labels.HasLens f ServiceDescriptorProto ServiceDescriptorProto+           x+           a+           b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f ServiceDescriptorProto "name"+           (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'name+                 (\ x__ y__ -> x__{_ServiceDescriptorProto'name = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f ServiceDescriptorProto "maybe'name"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'name+                 (\ x__ y__ -> x__{_ServiceDescriptorProto'name = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f ServiceDescriptorProto "method"+           ([MethodDescriptorProto])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'method+                 (\ x__ y__ -> x__{_ServiceDescriptorProto'method = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f ServiceDescriptorProto "options"+           (ServiceOptions)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'options+                 (\ x__ y__ -> x__{_ServiceDescriptorProto'options = y__}))+              (Data.ProtoLens.maybeLens Data.Default.Class.def)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f ServiceDescriptorProto "maybe'options"+           (Prelude.Maybe ServiceOptions)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'options+                 (\ x__ y__ -> x__{_ServiceDescriptorProto'options = y__}))+              Prelude.id+instance Data.Default.Class.Default ServiceDescriptorProto where+        def+          = ServiceDescriptorProto{_ServiceDescriptorProto'name =+                                     Prelude.Nothing,+                                   _ServiceDescriptorProto'method = [],+                                   _ServiceDescriptorProto'options = Prelude.Nothing,+                                   _ServiceDescriptorProto'_unknownFields = ([])}+instance Data.ProtoLens.Message ServiceDescriptorProto where+        messageName _+          = Data.Text.pack "google.protobuf.ServiceDescriptorProto"+        fieldsByTag+          = let name__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "name"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))+                      :: Data.ProtoLens.FieldDescriptor ServiceDescriptorProto+                method__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "method"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor MethodDescriptorProto)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "method")))+                      :: Data.ProtoLens.FieldDescriptor ServiceDescriptorProto+                options__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "options"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor ServiceOptions)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))+                      :: Data.ProtoLens.FieldDescriptor ServiceDescriptorProto+              in+              Data.Map.fromList+                [(Data.ProtoLens.Tag 1, name__field_descriptor),+                 (Data.ProtoLens.Tag 2, method__field_descriptor),+                 (Data.ProtoLens.Tag 3, options__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens+              _ServiceDescriptorProto'_unknownFields+              (\ x__ y__ -> x__{_ServiceDescriptorProto'_unknownFields = y__})+{- | Fields :++    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' ServiceOptions Prelude.Bool@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' ServiceOptions (Prelude.Maybe Prelude.Bool)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' ServiceOptions [UninterpretedOption]@+ -}+data ServiceOptions = ServiceOptions{_ServiceOptions'deprecated ::+                                     !(Prelude.Maybe Prelude.Bool),+                                     _ServiceOptions'uninterpretedOption :: ![UninterpretedOption],+                                     _ServiceOptions'_unknownFields :: !Data.ProtoLens.FieldSet}+                    deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f ServiceOptions x a, a ~ b) =>+         Lens.Labels.HasLens f ServiceOptions ServiceOptions x a b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f ServiceOptions "deprecated" (Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _ServiceOptions'deprecated+                 (\ x__ y__ -> x__{_ServiceOptions'deprecated = y__}))+              (Data.ProtoLens.maybeLens Prelude.False)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f ServiceOptions "maybe'deprecated"+           (Prelude.Maybe Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _ServiceOptions'deprecated+                 (\ x__ y__ -> x__{_ServiceOptions'deprecated = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f ServiceOptions "uninterpretedOption"+           ([UninterpretedOption])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _ServiceOptions'uninterpretedOption+                 (\ x__ y__ -> x__{_ServiceOptions'uninterpretedOption = y__}))+              Prelude.id+instance Data.Default.Class.Default ServiceOptions where+        def+          = ServiceOptions{_ServiceOptions'deprecated = Prelude.Nothing,+                           _ServiceOptions'uninterpretedOption = [],+                           _ServiceOptions'_unknownFields = ([])}+instance Data.ProtoLens.Message ServiceOptions where+        messageName _ = Data.Text.pack "google.protobuf.ServiceOptions"+        fieldsByTag+          = let deprecated__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "deprecated"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))+                      :: Data.ProtoLens.FieldDescriptor ServiceOptions+                uninterpretedOption__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "uninterpretedOption")))+                      :: Data.ProtoLens.FieldDescriptor ServiceOptions+              in+              Data.Map.fromList+                [(Data.ProtoLens.Tag 33, deprecated__field_descriptor),+                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens _ServiceOptions'_unknownFields+              (\ x__ y__ -> x__{_ServiceOptions'_unknownFields = y__})+{- | Fields :++    * 'Proto.Google.Protobuf.Descriptor_Fields.location' @:: Lens' SourceCodeInfo [SourceCodeInfo'Location]@+ -}+data SourceCodeInfo = SourceCodeInfo{_SourceCodeInfo'location ::+                                     ![SourceCodeInfo'Location],+                                     _SourceCodeInfo'_unknownFields :: !Data.ProtoLens.FieldSet}+                    deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f SourceCodeInfo x a, a ~ b) =>+         Lens.Labels.HasLens f SourceCodeInfo SourceCodeInfo x a b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f SourceCodeInfo "location"+           ([SourceCodeInfo'Location])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _SourceCodeInfo'location+                 (\ x__ y__ -> x__{_SourceCodeInfo'location = y__}))+              Prelude.id+instance Data.Default.Class.Default SourceCodeInfo where+        def+          = SourceCodeInfo{_SourceCodeInfo'location = [],+                           _SourceCodeInfo'_unknownFields = ([])}+instance Data.ProtoLens.Message SourceCodeInfo where+        messageName _ = Data.Text.pack "google.protobuf.SourceCodeInfo"+        fieldsByTag+          = let location__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "location"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor SourceCodeInfo'Location)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "location")))+                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo+              in+              Data.Map.fromList+                [(Data.ProtoLens.Tag 1, location__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens _SourceCodeInfo'_unknownFields+              (\ x__ y__ -> x__{_SourceCodeInfo'_unknownFields = y__})+{- | Fields :++    * 'Proto.Google.Protobuf.Descriptor_Fields.path' @:: Lens' SourceCodeInfo'Location [Data.Int.Int32]@+    * 'Proto.Google.Protobuf.Descriptor_Fields.span' @:: Lens' SourceCodeInfo'Location [Data.Int.Int32]@+    * 'Proto.Google.Protobuf.Descriptor_Fields.leadingComments' @:: Lens' SourceCodeInfo'Location Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'leadingComments' @:: Lens' SourceCodeInfo'Location (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.trailingComments' @:: Lens' SourceCodeInfo'Location Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'trailingComments' @:: Lens' SourceCodeInfo'Location (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.leadingDetachedComments' @:: Lens' SourceCodeInfo'Location [Data.Text.Text]@+ -}+data SourceCodeInfo'Location = SourceCodeInfo'Location{_SourceCodeInfo'Location'path+                                                       :: ![Data.Int.Int32],+                                                       _SourceCodeInfo'Location'span ::+                                                       ![Data.Int.Int32],+                                                       _SourceCodeInfo'Location'leadingComments ::+                                                       !(Prelude.Maybe Data.Text.Text),+                                                       _SourceCodeInfo'Location'trailingComments ::+                                                       !(Prelude.Maybe Data.Text.Text),+                                                       _SourceCodeInfo'Location'leadingDetachedComments+                                                       :: ![Data.Text.Text],+                                                       _SourceCodeInfo'Location'_unknownFields ::+                                                       !Data.ProtoLens.FieldSet}+                             deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f SourceCodeInfo'Location x a,+          a ~ b) =>+         Lens.Labels.HasLens f SourceCodeInfo'Location+           SourceCodeInfo'Location+           x+           a+           b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f SourceCodeInfo'Location "path"+           ([Data.Int.Int32])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _SourceCodeInfo'Location'path+                 (\ x__ y__ -> x__{_SourceCodeInfo'Location'path = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f SourceCodeInfo'Location "span"+           ([Data.Int.Int32])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _SourceCodeInfo'Location'span+                 (\ x__ y__ -> x__{_SourceCodeInfo'Location'span = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f SourceCodeInfo'Location "leadingComments"+           (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens+                 _SourceCodeInfo'Location'leadingComments+                 (\ x__ y__ -> x__{_SourceCodeInfo'Location'leadingComments = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f SourceCodeInfo'Location+           "maybe'leadingComments"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens+                 _SourceCodeInfo'Location'leadingComments+                 (\ x__ y__ -> x__{_SourceCodeInfo'Location'leadingComments = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f SourceCodeInfo'Location "trailingComments"+           (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens+                 _SourceCodeInfo'Location'trailingComments+                 (\ x__ y__ ->+                    x__{_SourceCodeInfo'Location'trailingComments = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f SourceCodeInfo'Location+           "maybe'trailingComments"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens+                 _SourceCodeInfo'Location'trailingComments+                 (\ x__ y__ ->+                    x__{_SourceCodeInfo'Location'trailingComments = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f SourceCodeInfo'Location+           "leadingDetachedComments"+           ([Data.Text.Text])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens+                 _SourceCodeInfo'Location'leadingDetachedComments+                 (\ x__ y__ ->+                    x__{_SourceCodeInfo'Location'leadingDetachedComments = y__}))+              Prelude.id+instance Data.Default.Class.Default SourceCodeInfo'Location where+        def+          = SourceCodeInfo'Location{_SourceCodeInfo'Location'path = [],+                                    _SourceCodeInfo'Location'span = [],+                                    _SourceCodeInfo'Location'leadingComments = Prelude.Nothing,+                                    _SourceCodeInfo'Location'trailingComments = Prelude.Nothing,+                                    _SourceCodeInfo'Location'leadingDetachedComments = [],+                                    _SourceCodeInfo'Location'_unknownFields = ([])}+instance Data.ProtoLens.Message SourceCodeInfo'Location where+        messageName _+          = Data.Text.pack "google.protobuf.SourceCodeInfo.Location"+        fieldsByTag+          = let path__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "path"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Packed+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "path")))+                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location+                span__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "span"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Packed+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "span")))+                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location+                leadingComments__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "leading_comments"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'leadingComments")))+                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location+                trailingComments__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "trailing_comments"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'trailingComments")))+                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location+                leadingDetachedComments__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "leading_detached_comments"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "leadingDetachedComments")))+                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location+              in+              Data.Map.fromList+                [(Data.ProtoLens.Tag 1, path__field_descriptor),+                 (Data.ProtoLens.Tag 2, span__field_descriptor),+                 (Data.ProtoLens.Tag 3, leadingComments__field_descriptor),+                 (Data.ProtoLens.Tag 4, trailingComments__field_descriptor),+                 (Data.ProtoLens.Tag 6, leadingDetachedComments__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens+              _SourceCodeInfo'Location'_unknownFields+              (\ x__ y__ -> x__{_SourceCodeInfo'Location'_unknownFields = y__})+{- | Fields :++    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' UninterpretedOption [UninterpretedOption'NamePart]@+    * 'Proto.Google.Protobuf.Descriptor_Fields.identifierValue' @:: Lens' UninterpretedOption Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'identifierValue' @:: Lens' UninterpretedOption (Prelude.Maybe Data.Text.Text)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.positiveIntValue' @:: Lens' UninterpretedOption Data.Word.Word64@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'positiveIntValue' @:: Lens' UninterpretedOption (Prelude.Maybe Data.Word.Word64)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.negativeIntValue' @:: Lens' UninterpretedOption Data.Int.Int64@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'negativeIntValue' @:: Lens' UninterpretedOption (Prelude.Maybe Data.Int.Int64)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.doubleValue' @:: Lens' UninterpretedOption Prelude.Double@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'doubleValue' @:: Lens' UninterpretedOption (Prelude.Maybe Prelude.Double)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.stringValue' @:: Lens' UninterpretedOption Data.ByteString.ByteString@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'stringValue' @:: Lens' UninterpretedOption+  (Prelude.Maybe Data.ByteString.ByteString)@+    * 'Proto.Google.Protobuf.Descriptor_Fields.aggregateValue' @:: Lens' UninterpretedOption Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'aggregateValue' @:: Lens' UninterpretedOption (Prelude.Maybe Data.Text.Text)@+ -}+data UninterpretedOption = UninterpretedOption{_UninterpretedOption'name+                                               :: ![UninterpretedOption'NamePart],+                                               _UninterpretedOption'identifierValue ::+                                               !(Prelude.Maybe Data.Text.Text),+                                               _UninterpretedOption'positiveIntValue ::+                                               !(Prelude.Maybe Data.Word.Word64),+                                               _UninterpretedOption'negativeIntValue ::+                                               !(Prelude.Maybe Data.Int.Int64),+                                               _UninterpretedOption'doubleValue ::+                                               !(Prelude.Maybe Prelude.Double),+                                               _UninterpretedOption'stringValue ::+                                               !(Prelude.Maybe Data.ByteString.ByteString),+                                               _UninterpretedOption'aggregateValue ::+                                               !(Prelude.Maybe Data.Text.Text),+                                               _UninterpretedOption'_unknownFields ::+                                               !Data.ProtoLens.FieldSet}+                         deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f UninterpretedOption x a, a ~ b) =>+         Lens.Labels.HasLens f UninterpretedOption UninterpretedOption x a b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f UninterpretedOption "name"+           ([UninterpretedOption'NamePart])+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _UninterpretedOption'name+                 (\ x__ y__ -> x__{_UninterpretedOption'name = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f UninterpretedOption "identifierValue"+           (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _UninterpretedOption'identifierValue+                 (\ x__ y__ -> x__{_UninterpretedOption'identifierValue = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f UninterpretedOption "maybe'identifierValue"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _UninterpretedOption'identifierValue+                 (\ x__ y__ -> x__{_UninterpretedOption'identifierValue = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f UninterpretedOption "positiveIntValue"+           (Data.Word.Word64)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _UninterpretedOption'positiveIntValue+                 (\ x__ y__ -> x__{_UninterpretedOption'positiveIntValue = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f UninterpretedOption "maybe'positiveIntValue"+           (Prelude.Maybe Data.Word.Word64)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _UninterpretedOption'positiveIntValue+                 (\ x__ y__ -> x__{_UninterpretedOption'positiveIntValue = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f UninterpretedOption "negativeIntValue"+           (Data.Int.Int64)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _UninterpretedOption'negativeIntValue+                 (\ x__ y__ -> x__{_UninterpretedOption'negativeIntValue = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f UninterpretedOption "maybe'negativeIntValue"+           (Prelude.Maybe Data.Int.Int64)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _UninterpretedOption'negativeIntValue+                 (\ x__ y__ -> x__{_UninterpretedOption'negativeIntValue = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f UninterpretedOption "doubleValue"+           (Prelude.Double)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _UninterpretedOption'doubleValue+                 (\ x__ y__ -> x__{_UninterpretedOption'doubleValue = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f UninterpretedOption "maybe'doubleValue"+           (Prelude.Maybe Prelude.Double)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _UninterpretedOption'doubleValue+                 (\ x__ y__ -> x__{_UninterpretedOption'doubleValue = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f UninterpretedOption "stringValue"+           (Data.ByteString.ByteString)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _UninterpretedOption'stringValue+                 (\ x__ y__ -> x__{_UninterpretedOption'stringValue = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f UninterpretedOption "maybe'stringValue"+           (Prelude.Maybe Data.ByteString.ByteString)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _UninterpretedOption'stringValue+                 (\ x__ y__ -> x__{_UninterpretedOption'stringValue = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f UninterpretedOption "aggregateValue"+           (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _UninterpretedOption'aggregateValue+                 (\ x__ y__ -> x__{_UninterpretedOption'aggregateValue = y__}))+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f UninterpretedOption "maybe'aggregateValue"+           (Prelude.Maybe Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _UninterpretedOption'aggregateValue+                 (\ x__ y__ -> x__{_UninterpretedOption'aggregateValue = y__}))+              Prelude.id+instance Data.Default.Class.Default UninterpretedOption where+        def+          = UninterpretedOption{_UninterpretedOption'name = [],+                                _UninterpretedOption'identifierValue = Prelude.Nothing,+                                _UninterpretedOption'positiveIntValue = Prelude.Nothing,+                                _UninterpretedOption'negativeIntValue = Prelude.Nothing,+                                _UninterpretedOption'doubleValue = Prelude.Nothing,+                                _UninterpretedOption'stringValue = Prelude.Nothing,+                                _UninterpretedOption'aggregateValue = Prelude.Nothing,+                                _UninterpretedOption'_unknownFields = ([])}+instance Data.ProtoLens.Message UninterpretedOption where+        messageName _+          = Data.Text.pack "google.protobuf.UninterpretedOption"+        fieldsByTag+          = let name__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "name"+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption'NamePart)+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "name")))+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption+                identifierValue__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "identifier_value"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'identifierValue")))+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption+                positiveIntValue__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "positive_int_value"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'positiveIntValue")))+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption+                negativeIntValue__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "negative_int_value"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'negativeIntValue")))+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption+                doubleValue__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "double_value"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.DoubleField ::+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Double)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'doubleValue")))+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption+                stringValue__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "string_value"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'stringValue")))+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption+                aggregateValue__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "aggregate_value"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.OptionalField+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) ::+                               (Lens.Labels.Proxy#) "maybe'aggregateValue")))+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption+              in+              Data.Map.fromList+                [(Data.ProtoLens.Tag 2, name__field_descriptor),+                 (Data.ProtoLens.Tag 3, identifierValue__field_descriptor),+                 (Data.ProtoLens.Tag 4, positiveIntValue__field_descriptor),+                 (Data.ProtoLens.Tag 5, negativeIntValue__field_descriptor),+                 (Data.ProtoLens.Tag 6, doubleValue__field_descriptor),+                 (Data.ProtoLens.Tag 7, stringValue__field_descriptor),+                 (Data.ProtoLens.Tag 8, aggregateValue__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens _UninterpretedOption'_unknownFields+              (\ x__ y__ -> x__{_UninterpretedOption'_unknownFields = y__})+{- | Fields :++    * 'Proto.Google.Protobuf.Descriptor_Fields.namePart' @:: Lens' UninterpretedOption'NamePart Data.Text.Text@+    * 'Proto.Google.Protobuf.Descriptor_Fields.isExtension' @:: Lens' UninterpretedOption'NamePart Prelude.Bool@+ -}+data UninterpretedOption'NamePart = UninterpretedOption'NamePart{_UninterpretedOption'NamePart'namePart+                                                                 :: !Data.Text.Text,+                                                                 _UninterpretedOption'NamePart'isExtension+                                                                 :: !Prelude.Bool,+                                                                 _UninterpretedOption'NamePart'_unknownFields+                                                                 :: !Data.ProtoLens.FieldSet}+                                  deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance (Lens.Labels.HasLens' f UninterpretedOption'NamePart x a,+          a ~ b) =>+         Lens.Labels.HasLens f UninterpretedOption'NamePart+           UninterpretedOption'NamePart+           x+           a+           b+         where+        lensOf = Lens.Labels.lensOf'+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f UninterpretedOption'NamePart "namePart"+           (Data.Text.Text)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens _UninterpretedOption'NamePart'namePart+                 (\ x__ y__ -> x__{_UninterpretedOption'NamePart'namePart = y__}))+              Prelude.id+instance Prelude.Functor f =>+         Lens.Labels.HasLens' f UninterpretedOption'NamePart "isExtension"+           (Prelude.Bool)+         where+        lensOf' _+          = (Prelude..)+              (Lens.Family2.Unchecked.lens+                 _UninterpretedOption'NamePart'isExtension+                 (\ x__ y__ ->+                    x__{_UninterpretedOption'NamePart'isExtension = y__}))+              Prelude.id+instance Data.Default.Class.Default UninterpretedOption'NamePart+         where+        def+          = UninterpretedOption'NamePart{_UninterpretedOption'NamePart'namePart+                                           = Data.ProtoLens.fieldDefault,+                                         _UninterpretedOption'NamePart'isExtension =+                                           Data.ProtoLens.fieldDefault,+                                         _UninterpretedOption'NamePart'_unknownFields = ([])}+instance Data.ProtoLens.Message UninterpretedOption'NamePart where+        messageName _+          = Data.Text.pack "google.protobuf.UninterpretedOption.NamePart"+        fieldsByTag+          = let namePart__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "name_part"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+                      (Data.ProtoLens.PlainField Data.ProtoLens.Required+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "namePart")))+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption'NamePart+                isExtension__field_descriptor+                  = Data.ProtoLens.FieldDescriptor "is_extension"+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+                      (Data.ProtoLens.PlainField Data.ProtoLens.Required+                         (Lens.Labels.lensOf+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "isExtension")))+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption'NamePart+              in+              Data.Map.fromList+                [(Data.ProtoLens.Tag 1, namePart__field_descriptor),+                 (Data.ProtoLens.Tag 2, isExtension__field_descriptor)]+        unknownFields+          = Lens.Family2.Unchecked.lens+              _UninterpretedOption'NamePart'_unknownFields+              (\ x__ y__ ->+                 x__{_UninterpretedOption'NamePart'_unknownFields = y__})
+ src/Proto/Google/Protobuf/Descriptor_Fields.hs view
@@ -0,0 +1,894 @@+{- This file was auto-generated from google/protobuf/descriptor.proto by the proto-lens-protoc program. -}+{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,+  UndecidableInstances, GeneralizedNewtypeDeriving,+  MultiParamTypeClasses, FlexibleContexts, FlexibleInstances,+  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports#-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports#-}+module Proto.Google.Protobuf.Descriptor_Fields where+import qualified Prelude+import qualified Data.Int+import qualified Data.Word+import qualified Data.ProtoLens+import qualified Data.ProtoLens.Message.Enum+import qualified Data.ProtoLens.Service.Types+import qualified Lens.Family2+import qualified Lens.Family2.Unchecked+import qualified Data.Default.Class+import qualified Data.Text+import qualified Data.Map+import qualified Data.ByteString+import qualified Data.ByteString.Char8+import qualified Lens.Labels+import qualified Text.Read++aggregateValue ::+               forall f s t a b .+                 (Lens.Labels.HasLens f s t "aggregateValue" a b) =>+                 Lens.Family2.LensLike f s t a b+aggregateValue+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "aggregateValue")+allowAlias ::+           forall f s t a b . (Lens.Labels.HasLens f s t "allowAlias" a b) =>+             Lens.Family2.LensLike f s t a b+allowAlias+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "allowAlias")+annotation ::+           forall f s t a b . (Lens.Labels.HasLens f s t "annotation" a b) =>+             Lens.Family2.LensLike f s t a b+annotation+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "annotation")+begin ::+      forall f s t a b . (Lens.Labels.HasLens f s t "begin" a b) =>+        Lens.Family2.LensLike f s t a b+begin+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "begin")+ccEnableArenas ::+               forall f s t a b .+                 (Lens.Labels.HasLens f s t "ccEnableArenas" a b) =>+                 Lens.Family2.LensLike f s t a b+ccEnableArenas+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "ccEnableArenas")+ccGenericServices ::+                  forall f s t a b .+                    (Lens.Labels.HasLens f s t "ccGenericServices" a b) =>+                    Lens.Family2.LensLike f s t a b+ccGenericServices+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "ccGenericServices")+clientStreaming ::+                forall f s t a b .+                  (Lens.Labels.HasLens f s t "clientStreaming" a b) =>+                  Lens.Family2.LensLike f s t a b+clientStreaming+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "clientStreaming")+csharpNamespace ::+                forall f s t a b .+                  (Lens.Labels.HasLens f s t "csharpNamespace" a b) =>+                  Lens.Family2.LensLike f s t a b+csharpNamespace+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "csharpNamespace")+ctype ::+      forall f s t a b . (Lens.Labels.HasLens f s t "ctype" a b) =>+        Lens.Family2.LensLike f s t a b+ctype+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "ctype")+defaultValue ::+             forall f s t a b .+               (Lens.Labels.HasLens f s t "defaultValue" a b) =>+               Lens.Family2.LensLike f s t a b+defaultValue+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "defaultValue")+dependency ::+           forall f s t a b . (Lens.Labels.HasLens f s t "dependency" a b) =>+             Lens.Family2.LensLike f s t a b+dependency+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "dependency")+deprecated ::+           forall f s t a b . (Lens.Labels.HasLens f s t "deprecated" a b) =>+             Lens.Family2.LensLike f s t a b+deprecated+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "deprecated")+doubleValue ::+            forall f s t a b . (Lens.Labels.HasLens f s t "doubleValue" a b) =>+              Lens.Family2.LensLike f s t a b+doubleValue+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "doubleValue")+end ::+    forall f s t a b . (Lens.Labels.HasLens f s t "end" a b) =>+      Lens.Family2.LensLike f s t a b+end+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "end")+enumType ::+         forall f s t a b . (Lens.Labels.HasLens f s t "enumType" a b) =>+           Lens.Family2.LensLike f s t a b+enumType+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "enumType")+extendee ::+         forall f s t a b . (Lens.Labels.HasLens f s t "extendee" a b) =>+           Lens.Family2.LensLike f s t a b+extendee+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "extendee")+extension ::+          forall f s t a b . (Lens.Labels.HasLens f s t "extension" a b) =>+            Lens.Family2.LensLike f s t a b+extension+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "extension")+extensionRange ::+               forall f s t a b .+                 (Lens.Labels.HasLens f s t "extensionRange" a b) =>+                 Lens.Family2.LensLike f s t a b+extensionRange+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "extensionRange")+field ::+      forall f s t a b . (Lens.Labels.HasLens f s t "field" a b) =>+        Lens.Family2.LensLike f s t a b+field+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "field")+file ::+     forall f s t a b . (Lens.Labels.HasLens f s t "file" a b) =>+       Lens.Family2.LensLike f s t a b+file+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "file")+goPackage ::+          forall f s t a b . (Lens.Labels.HasLens f s t "goPackage" a b) =>+            Lens.Family2.LensLike f s t a b+goPackage+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "goPackage")+identifierValue ::+                forall f s t a b .+                  (Lens.Labels.HasLens f s t "identifierValue" a b) =>+                  Lens.Family2.LensLike f s t a b+identifierValue+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "identifierValue")+inputType ::+          forall f s t a b . (Lens.Labels.HasLens f s t "inputType" a b) =>+            Lens.Family2.LensLike f s t a b+inputType+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "inputType")+isExtension ::+            forall f s t a b . (Lens.Labels.HasLens f s t "isExtension" a b) =>+              Lens.Family2.LensLike f s t a b+isExtension+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "isExtension")+javaGenerateEqualsAndHash ::+                          forall f s t a b .+                            (Lens.Labels.HasLens f s t "javaGenerateEqualsAndHash" a b) =>+                            Lens.Family2.LensLike f s t a b+javaGenerateEqualsAndHash+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "javaGenerateEqualsAndHash")+javaGenericServices ::+                    forall f s t a b .+                      (Lens.Labels.HasLens f s t "javaGenericServices" a b) =>+                      Lens.Family2.LensLike f s t a b+javaGenericServices+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "javaGenericServices")+javaMultipleFiles ::+                  forall f s t a b .+                    (Lens.Labels.HasLens f s t "javaMultipleFiles" a b) =>+                    Lens.Family2.LensLike f s t a b+javaMultipleFiles+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "javaMultipleFiles")+javaOuterClassname ::+                   forall f s t a b .+                     (Lens.Labels.HasLens f s t "javaOuterClassname" a b) =>+                     Lens.Family2.LensLike f s t a b+javaOuterClassname+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "javaOuterClassname")+javaPackage ::+            forall f s t a b . (Lens.Labels.HasLens f s t "javaPackage" a b) =>+              Lens.Family2.LensLike f s t a b+javaPackage+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "javaPackage")+javaStringCheckUtf8 ::+                    forall f s t a b .+                      (Lens.Labels.HasLens f s t "javaStringCheckUtf8" a b) =>+                      Lens.Family2.LensLike f s t a b+javaStringCheckUtf8+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "javaStringCheckUtf8")+jsonName ::+         forall f s t a b . (Lens.Labels.HasLens f s t "jsonName" a b) =>+           Lens.Family2.LensLike f s t a b+jsonName+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "jsonName")+jstype ::+       forall f s t a b . (Lens.Labels.HasLens f s t "jstype" a b) =>+         Lens.Family2.LensLike f s t a b+jstype+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "jstype")+label ::+      forall f s t a b . (Lens.Labels.HasLens f s t "label" a b) =>+        Lens.Family2.LensLike f s t a b+label+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "label")+lazy ::+     forall f s t a b . (Lens.Labels.HasLens f s t "lazy" a b) =>+       Lens.Family2.LensLike f s t a b+lazy+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "lazy")+leadingComments ::+                forall f s t a b .+                  (Lens.Labels.HasLens f s t "leadingComments" a b) =>+                  Lens.Family2.LensLike f s t a b+leadingComments+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "leadingComments")+leadingDetachedComments ::+                        forall f s t a b .+                          (Lens.Labels.HasLens f s t "leadingDetachedComments" a b) =>+                          Lens.Family2.LensLike f s t a b+leadingDetachedComments+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "leadingDetachedComments")+location ::+         forall f s t a b . (Lens.Labels.HasLens f s t "location" a b) =>+           Lens.Family2.LensLike f s t a b+location+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "location")+mapEntry ::+         forall f s t a b . (Lens.Labels.HasLens f s t "mapEntry" a b) =>+           Lens.Family2.LensLike f s t a b+mapEntry+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "mapEntry")+maybe'aggregateValue ::+                     forall f s t a b .+                       (Lens.Labels.HasLens f s t "maybe'aggregateValue" a b) =>+                       Lens.Family2.LensLike f s t a b+maybe'aggregateValue+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "maybe'aggregateValue")+maybe'allowAlias ::+                 forall f s t a b .+                   (Lens.Labels.HasLens f s t "maybe'allowAlias" a b) =>+                   Lens.Family2.LensLike f s t a b+maybe'allowAlias+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'allowAlias")+maybe'begin ::+            forall f s t a b . (Lens.Labels.HasLens f s t "maybe'begin" a b) =>+              Lens.Family2.LensLike f s t a b+maybe'begin+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'begin")+maybe'ccEnableArenas ::+                     forall f s t a b .+                       (Lens.Labels.HasLens f s t "maybe'ccEnableArenas" a b) =>+                       Lens.Family2.LensLike f s t a b+maybe'ccEnableArenas+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "maybe'ccEnableArenas")+maybe'ccGenericServices ::+                        forall f s t a b .+                          (Lens.Labels.HasLens f s t "maybe'ccGenericServices" a b) =>+                          Lens.Family2.LensLike f s t a b+maybe'ccGenericServices+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "maybe'ccGenericServices")+maybe'clientStreaming ::+                      forall f s t a b .+                        (Lens.Labels.HasLens f s t "maybe'clientStreaming" a b) =>+                        Lens.Family2.LensLike f s t a b+maybe'clientStreaming+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "maybe'clientStreaming")+maybe'csharpNamespace ::+                      forall f s t a b .+                        (Lens.Labels.HasLens f s t "maybe'csharpNamespace" a b) =>+                        Lens.Family2.LensLike f s t a b+maybe'csharpNamespace+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "maybe'csharpNamespace")+maybe'ctype ::+            forall f s t a b . (Lens.Labels.HasLens f s t "maybe'ctype" a b) =>+              Lens.Family2.LensLike f s t a b+maybe'ctype+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'ctype")+maybe'defaultValue ::+                   forall f s t a b .+                     (Lens.Labels.HasLens f s t "maybe'defaultValue" a b) =>+                     Lens.Family2.LensLike f s t a b+maybe'defaultValue+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'defaultValue")+maybe'deprecated ::+                 forall f s t a b .+                   (Lens.Labels.HasLens f s t "maybe'deprecated" a b) =>+                   Lens.Family2.LensLike f s t a b+maybe'deprecated+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")+maybe'doubleValue ::+                  forall f s t a b .+                    (Lens.Labels.HasLens f s t "maybe'doubleValue" a b) =>+                    Lens.Family2.LensLike f s t a b+maybe'doubleValue+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'doubleValue")+maybe'end ::+          forall f s t a b . (Lens.Labels.HasLens f s t "maybe'end" a b) =>+            Lens.Family2.LensLike f s t a b+maybe'end+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'end")+maybe'extendee ::+               forall f s t a b .+                 (Lens.Labels.HasLens f s t "maybe'extendee" a b) =>+                 Lens.Family2.LensLike f s t a b+maybe'extendee+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'extendee")+maybe'goPackage ::+                forall f s t a b .+                  (Lens.Labels.HasLens f s t "maybe'goPackage" a b) =>+                  Lens.Family2.LensLike f s t a b+maybe'goPackage+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'goPackage")+maybe'identifierValue ::+                      forall f s t a b .+                        (Lens.Labels.HasLens f s t "maybe'identifierValue" a b) =>+                        Lens.Family2.LensLike f s t a b+maybe'identifierValue+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "maybe'identifierValue")+maybe'inputType ::+                forall f s t a b .+                  (Lens.Labels.HasLens f s t "maybe'inputType" a b) =>+                  Lens.Family2.LensLike f s t a b+maybe'inputType+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'inputType")+maybe'javaGenerateEqualsAndHash ::+                                forall f s t a b .+                                  (Lens.Labels.HasLens f s t "maybe'javaGenerateEqualsAndHash" a+                                     b) =>+                                  Lens.Family2.LensLike f s t a b+maybe'javaGenerateEqualsAndHash+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "maybe'javaGenerateEqualsAndHash")+maybe'javaGenericServices ::+                          forall f s t a b .+                            (Lens.Labels.HasLens f s t "maybe'javaGenericServices" a b) =>+                            Lens.Family2.LensLike f s t a b+maybe'javaGenericServices+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "maybe'javaGenericServices")+maybe'javaMultipleFiles ::+                        forall f s t a b .+                          (Lens.Labels.HasLens f s t "maybe'javaMultipleFiles" a b) =>+                          Lens.Family2.LensLike f s t a b+maybe'javaMultipleFiles+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "maybe'javaMultipleFiles")+maybe'javaOuterClassname ::+                         forall f s t a b .+                           (Lens.Labels.HasLens f s t "maybe'javaOuterClassname" a b) =>+                           Lens.Family2.LensLike f s t a b+maybe'javaOuterClassname+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "maybe'javaOuterClassname")+maybe'javaPackage ::+                  forall f s t a b .+                    (Lens.Labels.HasLens f s t "maybe'javaPackage" a b) =>+                    Lens.Family2.LensLike f s t a b+maybe'javaPackage+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'javaPackage")+maybe'javaStringCheckUtf8 ::+                          forall f s t a b .+                            (Lens.Labels.HasLens f s t "maybe'javaStringCheckUtf8" a b) =>+                            Lens.Family2.LensLike f s t a b+maybe'javaStringCheckUtf8+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "maybe'javaStringCheckUtf8")+maybe'jsonName ::+               forall f s t a b .+                 (Lens.Labels.HasLens f s t "maybe'jsonName" a b) =>+                 Lens.Family2.LensLike f s t a b+maybe'jsonName+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'jsonName")+maybe'jstype ::+             forall f s t a b .+               (Lens.Labels.HasLens f s t "maybe'jstype" a b) =>+               Lens.Family2.LensLike f s t a b+maybe'jstype+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'jstype")+maybe'label ::+            forall f s t a b . (Lens.Labels.HasLens f s t "maybe'label" a b) =>+              Lens.Family2.LensLike f s t a b+maybe'label+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'label")+maybe'lazy ::+           forall f s t a b . (Lens.Labels.HasLens f s t "maybe'lazy" a b) =>+             Lens.Family2.LensLike f s t a b+maybe'lazy+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'lazy")+maybe'leadingComments ::+                      forall f s t a b .+                        (Lens.Labels.HasLens f s t "maybe'leadingComments" a b) =>+                        Lens.Family2.LensLike f s t a b+maybe'leadingComments+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "maybe'leadingComments")+maybe'mapEntry ::+               forall f s t a b .+                 (Lens.Labels.HasLens f s t "maybe'mapEntry" a b) =>+                 Lens.Family2.LensLike f s t a b+maybe'mapEntry+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'mapEntry")+maybe'messageSetWireFormat ::+                           forall f s t a b .+                             (Lens.Labels.HasLens f s t "maybe'messageSetWireFormat" a b) =>+                             Lens.Family2.LensLike f s t a b+maybe'messageSetWireFormat+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "maybe'messageSetWireFormat")+maybe'name ::+           forall f s t a b . (Lens.Labels.HasLens f s t "maybe'name" a b) =>+             Lens.Family2.LensLike f s t a b+maybe'name+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")+maybe'negativeIntValue ::+                       forall f s t a b .+                         (Lens.Labels.HasLens f s t "maybe'negativeIntValue" a b) =>+                         Lens.Family2.LensLike f s t a b+maybe'negativeIntValue+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "maybe'negativeIntValue")+maybe'noStandardDescriptorAccessor ::+                                   forall f s t a b .+                                     (Lens.Labels.HasLens f s t "maybe'noStandardDescriptorAccessor"+                                        a b) =>+                                     Lens.Family2.LensLike f s t a b+maybe'noStandardDescriptorAccessor+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "maybe'noStandardDescriptorAccessor")+maybe'number ::+             forall f s t a b .+               (Lens.Labels.HasLens f s t "maybe'number" a b) =>+               Lens.Family2.LensLike f s t a b+maybe'number+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'number")+maybe'objcClassPrefix ::+                      forall f s t a b .+                        (Lens.Labels.HasLens f s t "maybe'objcClassPrefix" a b) =>+                        Lens.Family2.LensLike f s t a b+maybe'objcClassPrefix+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "maybe'objcClassPrefix")+maybe'oneofIndex ::+                 forall f s t a b .+                   (Lens.Labels.HasLens f s t "maybe'oneofIndex" a b) =>+                   Lens.Family2.LensLike f s t a b+maybe'oneofIndex+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'oneofIndex")+maybe'optimizeFor ::+                  forall f s t a b .+                    (Lens.Labels.HasLens f s t "maybe'optimizeFor" a b) =>+                    Lens.Family2.LensLike f s t a b+maybe'optimizeFor+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'optimizeFor")+maybe'options ::+              forall f s t a b .+                (Lens.Labels.HasLens f s t "maybe'options" a b) =>+                Lens.Family2.LensLike f s t a b+maybe'options+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")+maybe'outputType ::+                 forall f s t a b .+                   (Lens.Labels.HasLens f s t "maybe'outputType" a b) =>+                   Lens.Family2.LensLike f s t a b+maybe'outputType+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'outputType")+maybe'package ::+              forall f s t a b .+                (Lens.Labels.HasLens f s t "maybe'package" a b) =>+                Lens.Family2.LensLike f s t a b+maybe'package+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'package")+maybe'packed ::+             forall f s t a b .+               (Lens.Labels.HasLens f s t "maybe'packed" a b) =>+               Lens.Family2.LensLike f s t a b+maybe'packed+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'packed")+maybe'positiveIntValue ::+                       forall f s t a b .+                         (Lens.Labels.HasLens f s t "maybe'positiveIntValue" a b) =>+                         Lens.Family2.LensLike f s t a b+maybe'positiveIntValue+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "maybe'positiveIntValue")+maybe'pyGenericServices ::+                        forall f s t a b .+                          (Lens.Labels.HasLens f s t "maybe'pyGenericServices" a b) =>+                          Lens.Family2.LensLike f s t a b+maybe'pyGenericServices+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "maybe'pyGenericServices")+maybe'serverStreaming ::+                      forall f s t a b .+                        (Lens.Labels.HasLens f s t "maybe'serverStreaming" a b) =>+                        Lens.Family2.LensLike f s t a b+maybe'serverStreaming+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "maybe'serverStreaming")+maybe'sourceCodeInfo ::+                     forall f s t a b .+                       (Lens.Labels.HasLens f s t "maybe'sourceCodeInfo" a b) =>+                       Lens.Family2.LensLike f s t a b+maybe'sourceCodeInfo+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "maybe'sourceCodeInfo")+maybe'sourceFile ::+                 forall f s t a b .+                   (Lens.Labels.HasLens f s t "maybe'sourceFile" a b) =>+                   Lens.Family2.LensLike f s t a b+maybe'sourceFile+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'sourceFile")+maybe'start ::+            forall f s t a b . (Lens.Labels.HasLens f s t "maybe'start" a b) =>+              Lens.Family2.LensLike f s t a b+maybe'start+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'start")+maybe'stringValue ::+                  forall f s t a b .+                    (Lens.Labels.HasLens f s t "maybe'stringValue" a b) =>+                    Lens.Family2.LensLike f s t a b+maybe'stringValue+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'stringValue")+maybe'syntax ::+             forall f s t a b .+               (Lens.Labels.HasLens f s t "maybe'syntax" a b) =>+               Lens.Family2.LensLike f s t a b+maybe'syntax+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'syntax")+maybe'trailingComments ::+                       forall f s t a b .+                         (Lens.Labels.HasLens f s t "maybe'trailingComments" a b) =>+                         Lens.Family2.LensLike f s t a b+maybe'trailingComments+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "maybe'trailingComments")+maybe'type' ::+            forall f s t a b . (Lens.Labels.HasLens f s t "maybe'type'" a b) =>+              Lens.Family2.LensLike f s t a b+maybe'type'+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'type'")+maybe'typeName ::+               forall f s t a b .+                 (Lens.Labels.HasLens f s t "maybe'typeName" a b) =>+                 Lens.Family2.LensLike f s t a b+maybe'typeName+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'typeName")+maybe'weak ::+           forall f s t a b . (Lens.Labels.HasLens f s t "maybe'weak" a b) =>+             Lens.Family2.LensLike f s t a b+maybe'weak+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'weak")+messageSetWireFormat ::+                     forall f s t a b .+                       (Lens.Labels.HasLens f s t "messageSetWireFormat" a b) =>+                       Lens.Family2.LensLike f s t a b+messageSetWireFormat+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "messageSetWireFormat")+messageType ::+            forall f s t a b . (Lens.Labels.HasLens f s t "messageType" a b) =>+              Lens.Family2.LensLike f s t a b+messageType+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "messageType")+method ::+       forall f s t a b . (Lens.Labels.HasLens f s t "method" a b) =>+         Lens.Family2.LensLike f s t a b+method+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "method")+name ::+     forall f s t a b . (Lens.Labels.HasLens f s t "name" a b) =>+       Lens.Family2.LensLike f s t a b+name+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "name")+namePart ::+         forall f s t a b . (Lens.Labels.HasLens f s t "namePart" a b) =>+           Lens.Family2.LensLike f s t a b+namePart+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "namePart")+negativeIntValue ::+                 forall f s t a b .+                   (Lens.Labels.HasLens f s t "negativeIntValue" a b) =>+                   Lens.Family2.LensLike f s t a b+negativeIntValue+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "negativeIntValue")+nestedType ::+           forall f s t a b . (Lens.Labels.HasLens f s t "nestedType" a b) =>+             Lens.Family2.LensLike f s t a b+nestedType+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "nestedType")+noStandardDescriptorAccessor ::+                             forall f s t a b .+                               (Lens.Labels.HasLens f s t "noStandardDescriptorAccessor" a b) =>+                               Lens.Family2.LensLike f s t a b+noStandardDescriptorAccessor+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "noStandardDescriptorAccessor")+number ::+       forall f s t a b . (Lens.Labels.HasLens f s t "number" a b) =>+         Lens.Family2.LensLike f s t a b+number+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "number")+objcClassPrefix ::+                forall f s t a b .+                  (Lens.Labels.HasLens f s t "objcClassPrefix" a b) =>+                  Lens.Family2.LensLike f s t a b+objcClassPrefix+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "objcClassPrefix")+oneofDecl ::+          forall f s t a b . (Lens.Labels.HasLens f s t "oneofDecl" a b) =>+            Lens.Family2.LensLike f s t a b+oneofDecl+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "oneofDecl")+oneofIndex ::+           forall f s t a b . (Lens.Labels.HasLens f s t "oneofIndex" a b) =>+             Lens.Family2.LensLike f s t a b+oneofIndex+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "oneofIndex")+optimizeFor ::+            forall f s t a b . (Lens.Labels.HasLens f s t "optimizeFor" a b) =>+              Lens.Family2.LensLike f s t a b+optimizeFor+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "optimizeFor")+options ::+        forall f s t a b . (Lens.Labels.HasLens f s t "options" a b) =>+          Lens.Family2.LensLike f s t a b+options+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "options")+outputType ::+           forall f s t a b . (Lens.Labels.HasLens f s t "outputType" a b) =>+             Lens.Family2.LensLike f s t a b+outputType+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "outputType")+package ::+        forall f s t a b . (Lens.Labels.HasLens f s t "package" a b) =>+          Lens.Family2.LensLike f s t a b+package+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "package")+packed ::+       forall f s t a b . (Lens.Labels.HasLens f s t "packed" a b) =>+         Lens.Family2.LensLike f s t a b+packed+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "packed")+path ::+     forall f s t a b . (Lens.Labels.HasLens f s t "path" a b) =>+       Lens.Family2.LensLike f s t a b+path+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "path")+positiveIntValue ::+                 forall f s t a b .+                   (Lens.Labels.HasLens f s t "positiveIntValue" a b) =>+                   Lens.Family2.LensLike f s t a b+positiveIntValue+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "positiveIntValue")+publicDependency ::+                 forall f s t a b .+                   (Lens.Labels.HasLens f s t "publicDependency" a b) =>+                   Lens.Family2.LensLike f s t a b+publicDependency+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "publicDependency")+pyGenericServices ::+                  forall f s t a b .+                    (Lens.Labels.HasLens f s t "pyGenericServices" a b) =>+                    Lens.Family2.LensLike f s t a b+pyGenericServices+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "pyGenericServices")+reservedName ::+             forall f s t a b .+               (Lens.Labels.HasLens f s t "reservedName" a b) =>+               Lens.Family2.LensLike f s t a b+reservedName+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "reservedName")+reservedRange ::+              forall f s t a b .+                (Lens.Labels.HasLens f s t "reservedRange" a b) =>+                Lens.Family2.LensLike f s t a b+reservedRange+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "reservedRange")+serverStreaming ::+                forall f s t a b .+                  (Lens.Labels.HasLens f s t "serverStreaming" a b) =>+                  Lens.Family2.LensLike f s t a b+serverStreaming+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "serverStreaming")+service ::+        forall f s t a b . (Lens.Labels.HasLens f s t "service" a b) =>+          Lens.Family2.LensLike f s t a b+service+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "service")+sourceCodeInfo ::+               forall f s t a b .+                 (Lens.Labels.HasLens f s t "sourceCodeInfo" a b) =>+                 Lens.Family2.LensLike f s t a b+sourceCodeInfo+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "sourceCodeInfo")+sourceFile ::+           forall f s t a b . (Lens.Labels.HasLens f s t "sourceFile" a b) =>+             Lens.Family2.LensLike f s t a b+sourceFile+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "sourceFile")+span ::+     forall f s t a b . (Lens.Labels.HasLens f s t "span" a b) =>+       Lens.Family2.LensLike f s t a b+span+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "span")+start ::+      forall f s t a b . (Lens.Labels.HasLens f s t "start" a b) =>+        Lens.Family2.LensLike f s t a b+start+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "start")+stringValue ::+            forall f s t a b . (Lens.Labels.HasLens f s t "stringValue" a b) =>+              Lens.Family2.LensLike f s t a b+stringValue+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "stringValue")+syntax ::+       forall f s t a b . (Lens.Labels.HasLens f s t "syntax" a b) =>+         Lens.Family2.LensLike f s t a b+syntax+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "syntax")+trailingComments ::+                 forall f s t a b .+                   (Lens.Labels.HasLens f s t "trailingComments" a b) =>+                   Lens.Family2.LensLike f s t a b+trailingComments+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "trailingComments")+type' ::+      forall f s t a b . (Lens.Labels.HasLens f s t "type'" a b) =>+        Lens.Family2.LensLike f s t a b+type'+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "type'")+typeName ::+         forall f s t a b . (Lens.Labels.HasLens f s t "typeName" a b) =>+           Lens.Family2.LensLike f s t a b+typeName+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "typeName")+uninterpretedOption ::+                    forall f s t a b .+                      (Lens.Labels.HasLens f s t "uninterpretedOption" a b) =>+                      Lens.Family2.LensLike f s t a b+uninterpretedOption+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) ::+         (Lens.Labels.Proxy#) "uninterpretedOption")+value ::+      forall f s t a b . (Lens.Labels.HasLens f s t "value" a b) =>+        Lens.Family2.LensLike f s t a b+value+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "value")+weak ::+     forall f s t a b . (Lens.Labels.HasLens f s t "weak" a b) =>+       Lens.Family2.LensLike f s t a b+weak+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "weak")+weakDependency ::+               forall f s t a b .+                 (Lens.Labels.HasLens f s t "weakDependency" a b) =>+                 Lens.Family2.LensLike f s t a b+weakDependency+  = Lens.Labels.lensOf+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "weakDependency")