// <auto-generated>
//   This file was generated by a tool; you should avoid making direct changes.
//   Consider using 'partial classes' to extend these types
//   Input: descriptor.proto
// </auto-generated>

#region Designer generated code
#pragma warning disable CS0612, CS0618, CS1591, CS3021, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192
namespace google.protobuf
{

    [global::ProtoBuf.ProtoContract()]
    public partial class FileDescriptorSet : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<FileDescriptorProto> file { get; } = new global::System.Collections.Generic.List<FileDescriptorProto>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class FileDescriptorProto : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string name
        {
            get => __pbn__name ?? "";
            set => __pbn__name = value;
        }
        public bool ShouldSerializename() => __pbn__name != null;
        public void Resetname() => __pbn__name = null;
        private string __pbn__name;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue("")]
        public string package
        {
            get => __pbn__package ?? "";
            set => __pbn__package = value;
        }
        public bool ShouldSerializepackage() => __pbn__package != null;
        public void Resetpackage() => __pbn__package = null;
        private string __pbn__package;

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<string> dependency { get; } = new global::System.Collections.Generic.List<string>();

        [global::ProtoBuf.ProtoMember(10)]
        public global::System.Collections.Generic.List<int> public_dependency { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(11)]
        public global::System.Collections.Generic.List<int> weak_dependency { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<DescriptorProto> message_type { get; } = new global::System.Collections.Generic.List<DescriptorProto>();

        [global::ProtoBuf.ProtoMember(5)]
        public global::System.Collections.Generic.List<EnumDescriptorProto> enum_type { get; } = new global::System.Collections.Generic.List<EnumDescriptorProto>();

        [global::ProtoBuf.ProtoMember(6)]
        public global::System.Collections.Generic.List<ServiceDescriptorProto> service { get; } = new global::System.Collections.Generic.List<ServiceDescriptorProto>();

        [global::ProtoBuf.ProtoMember(7)]
        public global::System.Collections.Generic.List<FieldDescriptorProto> extension { get; } = new global::System.Collections.Generic.List<FieldDescriptorProto>();

        [global::ProtoBuf.ProtoMember(8)]
        public FileOptions options { get; set; }

        [global::ProtoBuf.ProtoMember(9)]
        public SourceCodeInfo source_code_info { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class DescriptorProto : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string name
        {
            get => __pbn__name ?? "";
            set => __pbn__name = value;
        }
        public bool ShouldSerializename() => __pbn__name != null;
        public void Resetname() => __pbn__name = null;
        private string __pbn__name;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<FieldDescriptorProto> field { get; } = new global::System.Collections.Generic.List<FieldDescriptorProto>();

        [global::ProtoBuf.ProtoMember(6)]
        public global::System.Collections.Generic.List<FieldDescriptorProto> extension { get; } = new global::System.Collections.Generic.List<FieldDescriptorProto>();

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<DescriptorProto> nested_type { get; } = new global::System.Collections.Generic.List<DescriptorProto>();

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<EnumDescriptorProto> enum_type { get; } = new global::System.Collections.Generic.List<EnumDescriptorProto>();

        [global::ProtoBuf.ProtoMember(5)]
        public global::System.Collections.Generic.List<ExtensionRange> extension_range { get; } = new global::System.Collections.Generic.List<ExtensionRange>();

        [global::ProtoBuf.ProtoMember(8)]
        public global::System.Collections.Generic.List<OneofDescriptorProto> oneof_decl { get; } = new global::System.Collections.Generic.List<OneofDescriptorProto>();

        [global::ProtoBuf.ProtoMember(7)]
        public MessageOptions options { get; set; }

        [global::ProtoBuf.ProtoContract()]
        public partial class ExtensionRange : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public int start
            {
                get => __pbn__start.GetValueOrDefault();
                set => __pbn__start = value;
            }
            public bool ShouldSerializestart() => __pbn__start != null;
            public void Resetstart() => __pbn__start = null;
            private int? __pbn__start;

            [global::ProtoBuf.ProtoMember(2)]
            public int end
            {
                get => __pbn__end.GetValueOrDefault();
                set => __pbn__end = value;
            }
            public bool ShouldSerializeend() => __pbn__end != null;
            public void Resetend() => __pbn__end = null;
            private int? __pbn__end;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class FieldDescriptorProto : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string name
        {
            get => __pbn__name ?? "";
            set => __pbn__name = value;
        }
        public bool ShouldSerializename() => __pbn__name != null;
        public void Resetname() => __pbn__name = null;
        private string __pbn__name;

        [global::ProtoBuf.ProtoMember(3)]
        public int number
        {
            get => __pbn__number.GetValueOrDefault();
            set => __pbn__number = value;
        }
        public bool ShouldSerializenumber() => __pbn__number != null;
        public void Resetnumber() => __pbn__number = null;
        private int? __pbn__number;

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue(Label.LABEL_OPTIONAL)]
        public Label label
        {
            get => __pbn__label ?? Label.LABEL_OPTIONAL;
            set => __pbn__label = value;
        }
        public bool ShouldSerializelabel() => __pbn__label != null;
        public void Resetlabel() => __pbn__label = null;
        private Label? __pbn__label;

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue(Type.TYPE_DOUBLE)]
        public Type type
        {
            get => __pbn__type ?? Type.TYPE_DOUBLE;
            set => __pbn__type = value;
        }
        public bool ShouldSerializetype() => __pbn__type != null;
        public void Resettype() => __pbn__type = null;
        private Type? __pbn__type;

        [global::ProtoBuf.ProtoMember(6)]
        [global::System.ComponentModel.DefaultValue("")]
        public string type_name
        {
            get => __pbn__type_name ?? "";
            set => __pbn__type_name = value;
        }
        public bool ShouldSerializetype_name() => __pbn__type_name != null;
        public void Resettype_name() => __pbn__type_name = null;
        private string __pbn__type_name;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue("")]
        public string extendee
        {
            get => __pbn__extendee ?? "";
            set => __pbn__extendee = value;
        }
        public bool ShouldSerializeextendee() => __pbn__extendee != null;
        public void Resetextendee() => __pbn__extendee = null;
        private string __pbn__extendee;

        [global::ProtoBuf.ProtoMember(7)]
        [global::System.ComponentModel.DefaultValue("")]
        public string default_value
        {
            get => __pbn__default_value ?? "";
            set => __pbn__default_value = value;
        }
        public bool ShouldSerializedefault_value() => __pbn__default_value != null;
        public void Resetdefault_value() => __pbn__default_value = null;
        private string __pbn__default_value;

        [global::ProtoBuf.ProtoMember(9)]
        public int oneof_index
        {
            get => __pbn__oneof_index.GetValueOrDefault();
            set => __pbn__oneof_index = value;
        }
        public bool ShouldSerializeoneof_index() => __pbn__oneof_index != null;
        public void Resetoneof_index() => __pbn__oneof_index = null;
        private int? __pbn__oneof_index;

        [global::ProtoBuf.ProtoMember(8)]
        public FieldOptions options { get; set; }

        [global::ProtoBuf.ProtoContract()]
        public enum Type
        {
            TYPE_DOUBLE = 1,
            TYPE_FLOAT = 2,
            TYPE_INT64 = 3,
            TYPE_UINT64 = 4,
            TYPE_INT32 = 5,
            TYPE_FIXED64 = 6,
            TYPE_FIXED32 = 7,
            TYPE_BOOL = 8,
            TYPE_STRING = 9,
            TYPE_GROUP = 10,
            TYPE_MESSAGE = 11,
            TYPE_BYTES = 12,
            TYPE_UINT32 = 13,
            TYPE_ENUM = 14,
            TYPE_SFIXED32 = 15,
            TYPE_SFIXED64 = 16,
            TYPE_SINT32 = 17,
            TYPE_SINT64 = 18,
        }

        [global::ProtoBuf.ProtoContract()]
        public enum Label
        {
            LABEL_OPTIONAL = 1,
            LABEL_REQUIRED = 2,
            LABEL_REPEATED = 3,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class OneofDescriptorProto : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string name
        {
            get => __pbn__name ?? "";
            set => __pbn__name = value;
        }
        public bool ShouldSerializename() => __pbn__name != null;
        public void Resetname() => __pbn__name = null;
        private string __pbn__name;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class EnumDescriptorProto : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string name
        {
            get => __pbn__name ?? "";
            set => __pbn__name = value;
        }
        public bool ShouldSerializename() => __pbn__name != null;
        public void Resetname() => __pbn__name = null;
        private string __pbn__name;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<EnumValueDescriptorProto> value { get; } = new global::System.Collections.Generic.List<EnumValueDescriptorProto>();

        [global::ProtoBuf.ProtoMember(3)]
        public EnumOptions options { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class EnumValueDescriptorProto : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string name
        {
            get => __pbn__name ?? "";
            set => __pbn__name = value;
        }
        public bool ShouldSerializename() => __pbn__name != null;
        public void Resetname() => __pbn__name = null;
        private string __pbn__name;

        [global::ProtoBuf.ProtoMember(2)]
        public int number
        {
            get => __pbn__number.GetValueOrDefault();
            set => __pbn__number = value;
        }
        public bool ShouldSerializenumber() => __pbn__number != null;
        public void Resetnumber() => __pbn__number = null;
        private int? __pbn__number;

        [global::ProtoBuf.ProtoMember(3)]
        public EnumValueOptions options { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class ServiceDescriptorProto : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string name
        {
            get => __pbn__name ?? "";
            set => __pbn__name = value;
        }
        public bool ShouldSerializename() => __pbn__name != null;
        public void Resetname() => __pbn__name = null;
        private string __pbn__name;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<MethodDescriptorProto> method { get; } = new global::System.Collections.Generic.List<MethodDescriptorProto>();

        [global::ProtoBuf.ProtoMember(3)]
        public ServiceOptions options { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class MethodDescriptorProto : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string name
        {
            get => __pbn__name ?? "";
            set => __pbn__name = value;
        }
        public bool ShouldSerializename() => __pbn__name != null;
        public void Resetname() => __pbn__name = null;
        private string __pbn__name;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue("")]
        public string input_type
        {
            get => __pbn__input_type ?? "";
            set => __pbn__input_type = value;
        }
        public bool ShouldSerializeinput_type() => __pbn__input_type != null;
        public void Resetinput_type() => __pbn__input_type = null;
        private string __pbn__input_type;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue("")]
        public string output_type
        {
            get => __pbn__output_type ?? "";
            set => __pbn__output_type = value;
        }
        public bool ShouldSerializeoutput_type() => __pbn__output_type != null;
        public void Resetoutput_type() => __pbn__output_type = null;
        private string __pbn__output_type;

        [global::ProtoBuf.ProtoMember(4)]
        public MethodOptions options { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class FileOptions : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string java_package
        {
            get => __pbn__java_package ?? "";
            set => __pbn__java_package = value;
        }
        public bool ShouldSerializejava_package() => __pbn__java_package != null;
        public void Resetjava_package() => __pbn__java_package = null;
        private string __pbn__java_package;

        [global::ProtoBuf.ProtoMember(8)]
        [global::System.ComponentModel.DefaultValue("")]
        public string java_outer_classname
        {
            get => __pbn__java_outer_classname ?? "";
            set => __pbn__java_outer_classname = value;
        }
        public bool ShouldSerializejava_outer_classname() => __pbn__java_outer_classname != null;
        public void Resetjava_outer_classname() => __pbn__java_outer_classname = null;
        private string __pbn__java_outer_classname;

        [global::ProtoBuf.ProtoMember(10)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool java_multiple_files
        {
            get => __pbn__java_multiple_files ?? false;
            set => __pbn__java_multiple_files = value;
        }
        public bool ShouldSerializejava_multiple_files() => __pbn__java_multiple_files != null;
        public void Resetjava_multiple_files() => __pbn__java_multiple_files = null;
        private bool? __pbn__java_multiple_files;

        [global::ProtoBuf.ProtoMember(20)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool java_generate_equals_and_hash
        {
            get => __pbn__java_generate_equals_and_hash ?? false;
            set => __pbn__java_generate_equals_and_hash = value;
        }
        public bool ShouldSerializejava_generate_equals_and_hash() => __pbn__java_generate_equals_and_hash != null;
        public void Resetjava_generate_equals_and_hash() => __pbn__java_generate_equals_and_hash = null;
        private bool? __pbn__java_generate_equals_and_hash;

        [global::ProtoBuf.ProtoMember(27)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool java_string_check_utf8
        {
            get => __pbn__java_string_check_utf8 ?? false;
            set => __pbn__java_string_check_utf8 = value;
        }
        public bool ShouldSerializejava_string_check_utf8() => __pbn__java_string_check_utf8 != null;
        public void Resetjava_string_check_utf8() => __pbn__java_string_check_utf8 = null;
        private bool? __pbn__java_string_check_utf8;

        [global::ProtoBuf.ProtoMember(9)]
        [global::System.ComponentModel.DefaultValue(OptimizeMode.SPEED)]
        public OptimizeMode optimize_for
        {
            get => __pbn__optimize_for ?? OptimizeMode.SPEED;
            set => __pbn__optimize_for = value;
        }
        public bool ShouldSerializeoptimize_for() => __pbn__optimize_for != null;
        public void Resetoptimize_for() => __pbn__optimize_for = null;
        private OptimizeMode? __pbn__optimize_for;

        [global::ProtoBuf.ProtoMember(11)]
        [global::System.ComponentModel.DefaultValue("")]
        public string go_package
        {
            get => __pbn__go_package ?? "";
            set => __pbn__go_package = value;
        }
        public bool ShouldSerializego_package() => __pbn__go_package != null;
        public void Resetgo_package() => __pbn__go_package = null;
        private string __pbn__go_package;

        [global::ProtoBuf.ProtoMember(16)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool cc_generic_services
        {
            get => __pbn__cc_generic_services ?? false;
            set => __pbn__cc_generic_services = value;
        }
        public bool ShouldSerializecc_generic_services() => __pbn__cc_generic_services != null;
        public void Resetcc_generic_services() => __pbn__cc_generic_services = null;
        private bool? __pbn__cc_generic_services;

        [global::ProtoBuf.ProtoMember(17)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool java_generic_services
        {
            get => __pbn__java_generic_services ?? false;
            set => __pbn__java_generic_services = value;
        }
        public bool ShouldSerializejava_generic_services() => __pbn__java_generic_services != null;
        public void Resetjava_generic_services() => __pbn__java_generic_services = null;
        private bool? __pbn__java_generic_services;

        [global::ProtoBuf.ProtoMember(18)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool py_generic_services
        {
            get => __pbn__py_generic_services ?? false;
            set => __pbn__py_generic_services = value;
        }
        public bool ShouldSerializepy_generic_services() => __pbn__py_generic_services != null;
        public void Resetpy_generic_services() => __pbn__py_generic_services = null;
        private bool? __pbn__py_generic_services;

        [global::ProtoBuf.ProtoMember(23)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool deprecated
        {
            get => __pbn__deprecated ?? false;
            set => __pbn__deprecated = value;
        }
        public bool ShouldSerializedeprecated() => __pbn__deprecated != null;
        public void Resetdeprecated() => __pbn__deprecated = null;
        private bool? __pbn__deprecated;

        [global::ProtoBuf.ProtoMember(999)]
        public global::System.Collections.Generic.List<UninterpretedOption> uninterpreted_option { get; } = new global::System.Collections.Generic.List<UninterpretedOption>();

        [global::ProtoBuf.ProtoContract()]
        public enum OptimizeMode
        {
            SPEED = 1,
            CODE_SIZE = 2,
            LITE_RUNTIME = 3,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class MessageOptions : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool message_set_wire_format
        {
            get => __pbn__message_set_wire_format ?? false;
            set => __pbn__message_set_wire_format = value;
        }
        public bool ShouldSerializemessage_set_wire_format() => __pbn__message_set_wire_format != null;
        public void Resetmessage_set_wire_format() => __pbn__message_set_wire_format = null;
        private bool? __pbn__message_set_wire_format;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool no_standard_descriptor_accessor
        {
            get => __pbn__no_standard_descriptor_accessor ?? false;
            set => __pbn__no_standard_descriptor_accessor = value;
        }
        public bool ShouldSerializeno_standard_descriptor_accessor() => __pbn__no_standard_descriptor_accessor != null;
        public void Resetno_standard_descriptor_accessor() => __pbn__no_standard_descriptor_accessor = null;
        private bool? __pbn__no_standard_descriptor_accessor;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool deprecated
        {
            get => __pbn__deprecated ?? false;
            set => __pbn__deprecated = value;
        }
        public bool ShouldSerializedeprecated() => __pbn__deprecated != null;
        public void Resetdeprecated() => __pbn__deprecated = null;
        private bool? __pbn__deprecated;

        [global::ProtoBuf.ProtoMember(999)]
        public global::System.Collections.Generic.List<UninterpretedOption> uninterpreted_option { get; } = new global::System.Collections.Generic.List<UninterpretedOption>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class FieldOptions : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(CType.STRING)]
        public CType ctype
        {
            get => __pbn__ctype ?? CType.STRING;
            set => __pbn__ctype = value;
        }
        public bool ShouldSerializectype() => __pbn__ctype != null;
        public void Resetctype() => __pbn__ctype = null;
        private CType? __pbn__ctype;

        [global::ProtoBuf.ProtoMember(2)]
        public bool packed
        {
            get => __pbn__packed.GetValueOrDefault();
            set => __pbn__packed = value;
        }
        public bool ShouldSerializepacked() => __pbn__packed != null;
        public void Resetpacked() => __pbn__packed = null;
        private bool? __pbn__packed;

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool lazy
        {
            get => __pbn__lazy ?? false;
            set => __pbn__lazy = value;
        }
        public bool ShouldSerializelazy() => __pbn__lazy != null;
        public void Resetlazy() => __pbn__lazy = null;
        private bool? __pbn__lazy;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool deprecated
        {
            get => __pbn__deprecated ?? false;
            set => __pbn__deprecated = value;
        }
        public bool ShouldSerializedeprecated() => __pbn__deprecated != null;
        public void Resetdeprecated() => __pbn__deprecated = null;
        private bool? __pbn__deprecated;

        [global::ProtoBuf.ProtoMember(9)]
        [global::System.ComponentModel.DefaultValue("")]
        public string experimental_map_key
        {
            get => __pbn__experimental_map_key ?? "";
            set => __pbn__experimental_map_key = value;
        }
        public bool ShouldSerializeexperimental_map_key() => __pbn__experimental_map_key != null;
        public void Resetexperimental_map_key() => __pbn__experimental_map_key = null;
        private string __pbn__experimental_map_key;

        [global::ProtoBuf.ProtoMember(10)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool weak
        {
            get => __pbn__weak ?? false;
            set => __pbn__weak = value;
        }
        public bool ShouldSerializeweak() => __pbn__weak != null;
        public void Resetweak() => __pbn__weak = null;
        private bool? __pbn__weak;

        [global::ProtoBuf.ProtoMember(999)]
        public global::System.Collections.Generic.List<UninterpretedOption> uninterpreted_option { get; } = new global::System.Collections.Generic.List<UninterpretedOption>();

        [global::ProtoBuf.ProtoContract()]
        public enum CType
        {
            STRING = 0,
            CORD = 1,
            STRING_PIECE = 2,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class EnumOptions : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(2)]
        public bool allow_alias
        {
            get => __pbn__allow_alias.GetValueOrDefault();
            set => __pbn__allow_alias = value;
        }
        public bool ShouldSerializeallow_alias() => __pbn__allow_alias != null;
        public void Resetallow_alias() => __pbn__allow_alias = null;
        private bool? __pbn__allow_alias;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool deprecated
        {
            get => __pbn__deprecated ?? false;
            set => __pbn__deprecated = value;
        }
        public bool ShouldSerializedeprecated() => __pbn__deprecated != null;
        public void Resetdeprecated() => __pbn__deprecated = null;
        private bool? __pbn__deprecated;

        [global::ProtoBuf.ProtoMember(999)]
        public global::System.Collections.Generic.List<UninterpretedOption> uninterpreted_option { get; } = new global::System.Collections.Generic.List<UninterpretedOption>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class EnumValueOptions : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool deprecated
        {
            get => __pbn__deprecated ?? false;
            set => __pbn__deprecated = value;
        }
        public bool ShouldSerializedeprecated() => __pbn__deprecated != null;
        public void Resetdeprecated() => __pbn__deprecated = null;
        private bool? __pbn__deprecated;

        [global::ProtoBuf.ProtoMember(999)]
        public global::System.Collections.Generic.List<UninterpretedOption> uninterpreted_option { get; } = new global::System.Collections.Generic.List<UninterpretedOption>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class ServiceOptions : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(33)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool deprecated
        {
            get => __pbn__deprecated ?? false;
            set => __pbn__deprecated = value;
        }
        public bool ShouldSerializedeprecated() => __pbn__deprecated != null;
        public void Resetdeprecated() => __pbn__deprecated = null;
        private bool? __pbn__deprecated;

        [global::ProtoBuf.ProtoMember(999)]
        public global::System.Collections.Generic.List<UninterpretedOption> uninterpreted_option { get; } = new global::System.Collections.Generic.List<UninterpretedOption>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class MethodOptions : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(33)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool deprecated
        {
            get => __pbn__deprecated ?? false;
            set => __pbn__deprecated = value;
        }
        public bool ShouldSerializedeprecated() => __pbn__deprecated != null;
        public void Resetdeprecated() => __pbn__deprecated = null;
        private bool? __pbn__deprecated;

        [global::ProtoBuf.ProtoMember(999)]
        public global::System.Collections.Generic.List<UninterpretedOption> uninterpreted_option { get; } = new global::System.Collections.Generic.List<UninterpretedOption>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class UninterpretedOption : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<NamePart> name { get; } = new global::System.Collections.Generic.List<NamePart>();

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue("")]
        public string identifier_value
        {
            get => __pbn__identifier_value ?? "";
            set => __pbn__identifier_value = value;
        }
        public bool ShouldSerializeidentifier_value() => __pbn__identifier_value != null;
        public void Resetidentifier_value() => __pbn__identifier_value = null;
        private string __pbn__identifier_value;

        [global::ProtoBuf.ProtoMember(4)]
        public ulong positive_int_value
        {
            get => __pbn__positive_int_value.GetValueOrDefault();
            set => __pbn__positive_int_value = value;
        }
        public bool ShouldSerializepositive_int_value() => __pbn__positive_int_value != null;
        public void Resetpositive_int_value() => __pbn__positive_int_value = null;
        private ulong? __pbn__positive_int_value;

        [global::ProtoBuf.ProtoMember(5)]
        public long negative_int_value
        {
            get => __pbn__negative_int_value.GetValueOrDefault();
            set => __pbn__negative_int_value = value;
        }
        public bool ShouldSerializenegative_int_value() => __pbn__negative_int_value != null;
        public void Resetnegative_int_value() => __pbn__negative_int_value = null;
        private long? __pbn__negative_int_value;

        [global::ProtoBuf.ProtoMember(6)]
        public double double_value
        {
            get => __pbn__double_value.GetValueOrDefault();
            set => __pbn__double_value = value;
        }
        public bool ShouldSerializedouble_value() => __pbn__double_value != null;
        public void Resetdouble_value() => __pbn__double_value = null;
        private double? __pbn__double_value;

        [global::ProtoBuf.ProtoMember(7)]
        public byte[] string_value
        {
            get => __pbn__string_value;
            set => __pbn__string_value = value;
        }
        public bool ShouldSerializestring_value() => __pbn__string_value != null;
        public void Resetstring_value() => __pbn__string_value = null;
        private byte[] __pbn__string_value;

        [global::ProtoBuf.ProtoMember(8)]
        [global::System.ComponentModel.DefaultValue("")]
        public string aggregate_value
        {
            get => __pbn__aggregate_value ?? "";
            set => __pbn__aggregate_value = value;
        }
        public bool ShouldSerializeaggregate_value() => __pbn__aggregate_value != null;
        public void Resetaggregate_value() => __pbn__aggregate_value = null;
        private string __pbn__aggregate_value;

        [global::ProtoBuf.ProtoContract()]
        public partial class NamePart : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
            public string name_part { get; set; }

            [global::ProtoBuf.ProtoMember(2, IsRequired = true)]
            public bool is_extension { get; set; }

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class SourceCodeInfo : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<Location> location { get; } = new global::System.Collections.Generic.List<Location>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Location : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1, IsPacked = true)]
            public global::System.Collections.Generic.List<int> path { get; } = new global::System.Collections.Generic.List<int>();

            [global::ProtoBuf.ProtoMember(2, IsPacked = true)]
            public global::System.Collections.Generic.List<int> span { get; } = new global::System.Collections.Generic.List<int>();

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue("")]
            public string leading_comments
            {
                get => __pbn__leading_comments ?? "";
                set => __pbn__leading_comments = value;
            }
            public bool ShouldSerializeleading_comments() => __pbn__leading_comments != null;
            public void Resetleading_comments() => __pbn__leading_comments = null;
            private string __pbn__leading_comments;

            [global::ProtoBuf.ProtoMember(4)]
            [global::System.ComponentModel.DefaultValue("")]
            public string trailing_comments
            {
                get => __pbn__trailing_comments ?? "";
                set => __pbn__trailing_comments = value;
            }
            public bool ShouldSerializetrailing_comments() => __pbn__trailing_comments != null;
            public void Resettrailing_comments() => __pbn__trailing_comments = null;
            private string __pbn__trailing_comments;

        }

    }

}

#pragma warning restore CS0612, CS0618, CS1591, CS3021, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192
#endregion
