One-off patch to convert Unix line endings to Windows ones for generated source. Currently not sure why they ended up as Unix line endings after Git to Mercurial conversion, but we may need to tweak some repository settings.
diff --git a/src/ProtocolBuffers/DescriptorProtos/CSharpOptions.cs b/src/ProtocolBuffers/DescriptorProtos/CSharpOptions.cs
index 61d52fd..e2211b2 100644
--- a/src/ProtocolBuffers/DescriptorProtos/CSharpOptions.cs
+++ b/src/ProtocolBuffers/DescriptorProtos/CSharpOptions.cs
@@ -1,966 +1,966 @@
-// Generated by ProtoGen, Version=0.9.0.0, Culture=neutral, PublicKeyToken=8fd7408b07f8d2cd.  DO NOT EDIT!
-
-using pb = global::Google.ProtocolBuffers;
-using pbc = global::Google.ProtocolBuffers.Collections;
-using pbd = global::Google.ProtocolBuffers.Descriptors;
-using scg = global::System.Collections.Generic;
-namespace Google.ProtocolBuffers.DescriptorProtos {
-  
-  public static partial class CSharpOptions {
-  
-    #region Extension registration
-    public static void RegisterAllExtensions(pb::ExtensionRegistry registry) {
-      registry.Add(global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.CSharpFileOptions);
-      registry.Add(global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.CSharpFieldOptions);
-    }
-    #endregion
-    #region Extensions
-    public const int CSharpFileOptionsFieldNumber = 1000;
-    public static pb::GeneratedExtensionBase<global::Google.ProtocolBuffers.DescriptorProtos.CSharpFileOptions> CSharpFileOptions;
-    public const int CSharpFieldOptionsFieldNumber = 1000;
-    public static pb::GeneratedExtensionBase<global::Google.ProtocolBuffers.DescriptorProtos.CSharpFieldOptions> CSharpFieldOptions;
-    #endregion
-    
-    #region Static variables
-    internal static pbd::MessageDescriptor internal__static_google_protobuf_CSharpFileOptions__Descriptor;
-    internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.CSharpFileOptions, global::Google.ProtocolBuffers.DescriptorProtos.CSharpFileOptions.Builder> internal__static_google_protobuf_CSharpFileOptions__FieldAccessorTable;
-    internal static pbd::MessageDescriptor internal__static_google_protobuf_CSharpFieldOptions__Descriptor;
-    internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.CSharpFieldOptions, global::Google.ProtocolBuffers.DescriptorProtos.CSharpFieldOptions.Builder> internal__static_google_protobuf_CSharpFieldOptions__FieldAccessorTable;
-    #endregion
-    #region Descriptor
-    public static pbd::FileDescriptor Descriptor {
-      get { return descriptor; }
-    }
-    private static pbd::FileDescriptor descriptor;
-    
-    static CSharpOptions() {
-      byte[] descriptorData = global::System.Convert.FromBase64String(
-          "CiRnb29nbGUvcHJvdG9idWYvY3NoYXJwX29wdGlvbnMucHJvdG8SD2dvb2ds" + 
-          "ZS5wcm90b2J1ZhogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG8i" + 
-          "6wIKEUNTaGFycEZpbGVPcHRpb25zEhEKCW5hbWVzcGFjZRgBIAEoCRIaChJ1" + 
-          "bWJyZWxsYV9jbGFzc25hbWUYAiABKAkSHAoOcHVibGljX2NsYXNzZXMYAyAB" + 
-          "KAg6BHRydWUSFgoObXVsdGlwbGVfZmlsZXMYBCABKAgSFAoMbmVzdF9jbGFz" + 
-          "c2VzGAUgASgIEhYKDmNvZGVfY29udHJhY3RzGAYgASgIEiQKHGV4cGFuZF9u" + 
-          "YW1lc3BhY2VfZGlyZWN0b3JpZXMYByABKAgSHAoOY2xzX2NvbXBsaWFuY2UY" + 
-          "CCABKAg6BHRydWUSHAoOZmlsZV9leHRlbnNpb24Y3QEgASgJOgMuY3MSGwoS" + 
-          "dW1icmVsbGFfbmFtZXNwYWNlGN4BIAEoCRIcChBvdXRwdXRfZGlyZWN0b3J5" + 
-          "GN8BIAEoCToBLhImChZpZ25vcmVfZ29vZ2xlX3Byb3RvYnVmGOABIAEoCDoF" + 
-          "ZmFsc2UiKwoSQ1NoYXJwRmllbGRPcHRpb25zEhUKDXByb3BlcnR5X25hbWUY" + 
-          "ASABKAk6XgoTY3NoYXJwX2ZpbGVfb3B0aW9ucxIcLmdvb2dsZS5wcm90b2J1" + 
-          "Zi5GaWxlT3B0aW9ucxjoByABKAsyIi5nb29nbGUucHJvdG9idWYuQ1NoYXJw" + 
-          "RmlsZU9wdGlvbnM6YQoUY3NoYXJwX2ZpZWxkX29wdGlvbnMSHS5nb29nbGUu" + 
-          "cHJvdG9idWYuRmllbGRPcHRpb25zGOgHIAEoCzIjLmdvb2dsZS5wcm90b2J1" + 
-          "Zi5DU2hhcnBGaWVsZE9wdGlvbnM=");
-      pbd::FileDescriptor.InternalDescriptorAssigner assigner = delegate(pbd::FileDescriptor root) {
-        descriptor = root;
-        internal__static_google_protobuf_CSharpFileOptions__Descriptor = Descriptor.MessageTypes[0];
-        internal__static_google_protobuf_CSharpFileOptions__FieldAccessorTable = 
-            new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.CSharpFileOptions, global::Google.ProtocolBuffers.DescriptorProtos.CSharpFileOptions.Builder>(internal__static_google_protobuf_CSharpFileOptions__Descriptor,
-                new string[] { "Namespace", "UmbrellaClassname", "PublicClasses", "MultipleFiles", "NestClasses", "CodeContracts", "ExpandNamespaceDirectories", "ClsCompliance", "FileExtension", "UmbrellaNamespace", "OutputDirectory", "IgnoreGoogleProtobuf", });
-        internal__static_google_protobuf_CSharpFieldOptions__Descriptor = Descriptor.MessageTypes[1];
-        internal__static_google_protobuf_CSharpFieldOptions__FieldAccessorTable = 
-            new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.CSharpFieldOptions, global::Google.ProtocolBuffers.DescriptorProtos.CSharpFieldOptions.Builder>(internal__static_google_protobuf_CSharpFieldOptions__Descriptor,
-                new string[] { "PropertyName", });
-        global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.CSharpFileOptions = pb::GeneratedSingleExtension<global::Google.ProtocolBuffers.DescriptorProtos.CSharpFileOptions>.CreateInstance(global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.Descriptor.Extensions[0]);
-        global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.CSharpFieldOptions = pb::GeneratedSingleExtension<global::Google.ProtocolBuffers.DescriptorProtos.CSharpFieldOptions>.CreateInstance(global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.Descriptor.Extensions[1]);
-        return null;
-      };
-      pbd::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,
-          new pbd::FileDescriptor[] {
-          global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.Descriptor, 
-          }, assigner);
-    }
-    #endregion
-    
-  }
-  #region Messages
-  public sealed partial class CSharpFileOptions : pb::GeneratedMessage<CSharpFileOptions, CSharpFileOptions.Builder> {
-    private static readonly CSharpFileOptions defaultInstance = new Builder().BuildPartial();
-    public static CSharpFileOptions DefaultInstance {
-      get { return defaultInstance; }
-    }
-    
-    public override CSharpFileOptions DefaultInstanceForType {
-      get { return defaultInstance; }
-    }
-    
-    protected override CSharpFileOptions ThisMessage {
-      get { return this; }
-    }
-    
-    public static pbd::MessageDescriptor Descriptor {
-      get { return global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.internal__static_google_protobuf_CSharpFileOptions__Descriptor; }
-    }
-    
-    protected override pb::FieldAccess.FieldAccessorTable<CSharpFileOptions, CSharpFileOptions.Builder> InternalFieldAccessors {
-      get { return global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.internal__static_google_protobuf_CSharpFileOptions__FieldAccessorTable; }
-    }
-    
-    public const int NamespaceFieldNumber = 1;
-    private bool hasNamespace;
-    private string namespace_ = "";
-    public bool HasNamespace {
-      get { return hasNamespace; }
-    }
-    public string Namespace {
-      get { return namespace_; }
-    }
-    
-    public const int UmbrellaClassnameFieldNumber = 2;
-    private bool hasUmbrellaClassname;
-    private string umbrellaClassname_ = "";
-    public bool HasUmbrellaClassname {
-      get { return hasUmbrellaClassname; }
-    }
-    public string UmbrellaClassname {
-      get { return umbrellaClassname_; }
-    }
-    
-    public const int PublicClassesFieldNumber = 3;
-    private bool hasPublicClasses;
-    private bool publicClasses_ = true;
-    public bool HasPublicClasses {
-      get { return hasPublicClasses; }
-    }
-    public bool PublicClasses {
-      get { return publicClasses_; }
-    }
-    
-    public const int MultipleFilesFieldNumber = 4;
-    private bool hasMultipleFiles;
-    private bool multipleFiles_ = false;
-    public bool HasMultipleFiles {
-      get { return hasMultipleFiles; }
-    }
-    public bool MultipleFiles {
-      get { return multipleFiles_; }
-    }
-    
-    public const int NestClassesFieldNumber = 5;
-    private bool hasNestClasses;
-    private bool nestClasses_ = false;
-    public bool HasNestClasses {
-      get { return hasNestClasses; }
-    }
-    public bool NestClasses {
-      get { return nestClasses_; }
-    }
-    
-    public const int CodeContractsFieldNumber = 6;
-    private bool hasCodeContracts;
-    private bool codeContracts_ = false;
-    public bool HasCodeContracts {
-      get { return hasCodeContracts; }
-    }
-    public bool CodeContracts {
-      get { return codeContracts_; }
-    }
-    
-    public const int ExpandNamespaceDirectoriesFieldNumber = 7;
-    private bool hasExpandNamespaceDirectories;
-    private bool expandNamespaceDirectories_ = false;
-    public bool HasExpandNamespaceDirectories {
-      get { return hasExpandNamespaceDirectories; }
-    }
-    public bool ExpandNamespaceDirectories {
-      get { return expandNamespaceDirectories_; }
-    }
-    
-    public const int ClsComplianceFieldNumber = 8;
-    private bool hasClsCompliance;
-    private bool clsCompliance_ = true;
-    public bool HasClsCompliance {
-      get { return hasClsCompliance; }
-    }
-    public bool ClsCompliance {
-      get { return clsCompliance_; }
-    }
-    
-    public const int FileExtensionFieldNumber = 221;
-    private bool hasFileExtension;
-    private string fileExtension_ = ".cs";
-    public bool HasFileExtension {
-      get { return hasFileExtension; }
-    }
-    public string FileExtension {
-      get { return fileExtension_; }
-    }
-    
-    public const int UmbrellaNamespaceFieldNumber = 222;
-    private bool hasUmbrellaNamespace;
-    private string umbrellaNamespace_ = "";
-    public bool HasUmbrellaNamespace {
-      get { return hasUmbrellaNamespace; }
-    }
-    public string UmbrellaNamespace {
-      get { return umbrellaNamespace_; }
-    }
-    
-    public const int OutputDirectoryFieldNumber = 223;
-    private bool hasOutputDirectory;
-    private string outputDirectory_ = ".";
-    public bool HasOutputDirectory {
-      get { return hasOutputDirectory; }
-    }
-    public string OutputDirectory {
-      get { return outputDirectory_; }
-    }
-    
-    public const int IgnoreGoogleProtobufFieldNumber = 224;
-    private bool hasIgnoreGoogleProtobuf;
-    private bool ignoreGoogleProtobuf_ = false;
-    public bool HasIgnoreGoogleProtobuf {
-      get { return hasIgnoreGoogleProtobuf; }
-    }
-    public bool IgnoreGoogleProtobuf {
-      get { return ignoreGoogleProtobuf_; }
-    }
-    
-    public override bool IsInitialized {
-      get {
-        return true;
-      }
-    }
-    
-    public override void WriteTo(pb::CodedOutputStream output) {
-      int size = SerializedSize;
-      if (HasNamespace) {
-        output.WriteString(1, Namespace);
-      }
-      if (HasUmbrellaClassname) {
-        output.WriteString(2, UmbrellaClassname);
-      }
-      if (HasPublicClasses) {
-        output.WriteBool(3, PublicClasses);
-      }
-      if (HasMultipleFiles) {
-        output.WriteBool(4, MultipleFiles);
-      }
-      if (HasNestClasses) {
-        output.WriteBool(5, NestClasses);
-      }
-      if (HasCodeContracts) {
-        output.WriteBool(6, CodeContracts);
-      }
-      if (HasExpandNamespaceDirectories) {
-        output.WriteBool(7, ExpandNamespaceDirectories);
-      }
-      if (HasClsCompliance) {
-        output.WriteBool(8, ClsCompliance);
-      }
-      if (HasFileExtension) {
-        output.WriteString(221, FileExtension);
-      }
-      if (HasUmbrellaNamespace) {
-        output.WriteString(222, UmbrellaNamespace);
-      }
-      if (HasOutputDirectory) {
-        output.WriteString(223, OutputDirectory);
-      }
-      if (HasIgnoreGoogleProtobuf) {
-        output.WriteBool(224, IgnoreGoogleProtobuf);
-      }
-      UnknownFields.WriteTo(output);
-    }
-    
-    private int memoizedSerializedSize = -1;
-    public override int SerializedSize {
-      get {
-        int size = memoizedSerializedSize;
-        if (size != -1) return size;
-        
-        size = 0;
-        if (HasNamespace) {
-          size += pb::CodedOutputStream.ComputeStringSize(1, Namespace);
-        }
-        if (HasUmbrellaClassname) {
-          size += pb::CodedOutputStream.ComputeStringSize(2, UmbrellaClassname);
-        }
-        if (HasPublicClasses) {
-          size += pb::CodedOutputStream.ComputeBoolSize(3, PublicClasses);
-        }
-        if (HasMultipleFiles) {
-          size += pb::CodedOutputStream.ComputeBoolSize(4, MultipleFiles);
-        }
-        if (HasNestClasses) {
-          size += pb::CodedOutputStream.ComputeBoolSize(5, NestClasses);
-        }
-        if (HasCodeContracts) {
-          size += pb::CodedOutputStream.ComputeBoolSize(6, CodeContracts);
-        }
-        if (HasExpandNamespaceDirectories) {
-          size += pb::CodedOutputStream.ComputeBoolSize(7, ExpandNamespaceDirectories);
-        }
-        if (HasClsCompliance) {
-          size += pb::CodedOutputStream.ComputeBoolSize(8, ClsCompliance);
-        }
-        if (HasFileExtension) {
-          size += pb::CodedOutputStream.ComputeStringSize(221, FileExtension);
-        }
-        if (HasUmbrellaNamespace) {
-          size += pb::CodedOutputStream.ComputeStringSize(222, UmbrellaNamespace);
-        }
-        if (HasOutputDirectory) {
-          size += pb::CodedOutputStream.ComputeStringSize(223, OutputDirectory);
-        }
-        if (HasIgnoreGoogleProtobuf) {
-          size += pb::CodedOutputStream.ComputeBoolSize(224, IgnoreGoogleProtobuf);
-        }
-        size += UnknownFields.SerializedSize;
-        memoizedSerializedSize = size;
-        return size;
-      }
-    }
-    
-    public static CSharpFileOptions ParseFrom(pb::ByteString data) {
-      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
-    }
-    public static CSharpFileOptions ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
-      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
-    }
-    public static CSharpFileOptions ParseFrom(byte[] data) {
-      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
-    }
-    public static CSharpFileOptions ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
-      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
-    }
-    public static CSharpFileOptions ParseFrom(global::System.IO.Stream input) {
-      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
-    }
-    public static CSharpFileOptions ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
-      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
-    }
-    public static CSharpFileOptions ParseDelimitedFrom(global::System.IO.Stream input) {
-      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
-    }
-    public static CSharpFileOptions ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
-      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
-    }
-    public static CSharpFileOptions ParseFrom(pb::CodedInputStream input) {
-      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
-    }
-    public static CSharpFileOptions ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
-      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
-    }
-    public static Builder CreateBuilder() { return new Builder(); }
-    public override Builder ToBuilder() { return CreateBuilder(this); }
-    public override Builder CreateBuilderForType() { return new Builder(); }
-    public static Builder CreateBuilder(CSharpFileOptions prototype) {
-      return (Builder) new Builder().MergeFrom(prototype);
-    }
-    
-    public sealed partial class Builder : pb::GeneratedBuilder<CSharpFileOptions, Builder> {
-      protected override Builder ThisBuilder {
-        get { return this; }
-      }
-      public Builder() {}
-      
-      CSharpFileOptions result = new CSharpFileOptions();
-      
-      protected override CSharpFileOptions MessageBeingBuilt {
-        get { return result; }
-      }
-      
-      public override Builder Clear() {
-        result = new CSharpFileOptions();
-        return this;
-      }
-      
-      public override Builder Clone() {
-        return new Builder().MergeFrom(result);
-      }
-      
-      public override pbd::MessageDescriptor DescriptorForType {
-        get { return global::Google.ProtocolBuffers.DescriptorProtos.CSharpFileOptions.Descriptor; }
-      }
-      
-      public override CSharpFileOptions DefaultInstanceForType {
-        get { return global::Google.ProtocolBuffers.DescriptorProtos.CSharpFileOptions.DefaultInstance; }
-      }
-      
-      public override CSharpFileOptions BuildPartial() {
-        if (result == null) {
-          throw new global::System.InvalidOperationException("build() has already been called on this Builder");
-        }
-        CSharpFileOptions returnMe = result;
-        result = null;
-        return returnMe;
-      }
-      
-      public override Builder MergeFrom(pb::IMessage other) {
-        if (other is CSharpFileOptions) {
-          return MergeFrom((CSharpFileOptions) other);
-        } else {
-          base.MergeFrom(other);
-          return this;
-        }
-      }
-      
-      public override Builder MergeFrom(CSharpFileOptions other) {
-        if (other == global::Google.ProtocolBuffers.DescriptorProtos.CSharpFileOptions.DefaultInstance) return this;
-        if (other.HasNamespace) {
-          Namespace = other.Namespace;
-        }
-        if (other.HasUmbrellaClassname) {
-          UmbrellaClassname = other.UmbrellaClassname;
-        }
-        if (other.HasPublicClasses) {
-          PublicClasses = other.PublicClasses;
-        }
-        if (other.HasMultipleFiles) {
-          MultipleFiles = other.MultipleFiles;
-        }
-        if (other.HasNestClasses) {
-          NestClasses = other.NestClasses;
-        }
-        if (other.HasCodeContracts) {
-          CodeContracts = other.CodeContracts;
-        }
-        if (other.HasExpandNamespaceDirectories) {
-          ExpandNamespaceDirectories = other.ExpandNamespaceDirectories;
-        }
-        if (other.HasClsCompliance) {
-          ClsCompliance = other.ClsCompliance;
-        }
-        if (other.HasFileExtension) {
-          FileExtension = other.FileExtension;
-        }
-        if (other.HasUmbrellaNamespace) {
-          UmbrellaNamespace = other.UmbrellaNamespace;
-        }
-        if (other.HasOutputDirectory) {
-          OutputDirectory = other.OutputDirectory;
-        }
-        if (other.HasIgnoreGoogleProtobuf) {
-          IgnoreGoogleProtobuf = other.IgnoreGoogleProtobuf;
-        }
-        this.MergeUnknownFields(other.UnknownFields);
-        return this;
-      }
-      
-      public override Builder MergeFrom(pb::CodedInputStream input) {
-        return MergeFrom(input, pb::ExtensionRegistry.Empty);
-      }
-      
-      public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
-        pb::UnknownFieldSet.Builder unknownFields = null;
-        while (true) {
-          uint tag = input.ReadTag();
-          switch (tag) {
-            case 0: {
-              if (unknownFields != null) {
-                this.UnknownFields = unknownFields.Build();
-              }
-              return this;
-            }
-            default: {
-              if (pb::WireFormat.IsEndGroupTag(tag)) {
-                if (unknownFields != null) {
-                  this.UnknownFields = unknownFields.Build();
-                }
-                return this;
-              }
-              if (unknownFields == null) {
-                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
-              }
-              ParseUnknownField(input, unknownFields, extensionRegistry, tag);
-              break;
-            }
-            case 10: {
-              Namespace = input.ReadString();
-              break;
-            }
-            case 18: {
-              UmbrellaClassname = input.ReadString();
-              break;
-            }
-            case 24: {
-              PublicClasses = input.ReadBool();
-              break;
-            }
-            case 32: {
-              MultipleFiles = input.ReadBool();
-              break;
-            }
-            case 40: {
-              NestClasses = input.ReadBool();
-              break;
-            }
-            case 48: {
-              CodeContracts = input.ReadBool();
-              break;
-            }
-            case 56: {
-              ExpandNamespaceDirectories = input.ReadBool();
-              break;
-            }
-            case 64: {
-              ClsCompliance = input.ReadBool();
-              break;
-            }
-            case 1770: {
-              FileExtension = input.ReadString();
-              break;
-            }
-            case 1778: {
-              UmbrellaNamespace = input.ReadString();
-              break;
-            }
-            case 1786: {
-              OutputDirectory = input.ReadString();
-              break;
-            }
-            case 1792: {
-              IgnoreGoogleProtobuf = input.ReadBool();
-              break;
-            }
-          }
-        }
-      }
-      
-      
-      public bool HasNamespace {
-        get { return result.HasNamespace; }
-      }
-      public string Namespace {
-        get { return result.Namespace; }
-        set { SetNamespace(value); }
-      }
-      public Builder SetNamespace(string value) {
-        pb::ThrowHelper.ThrowIfNull(value, "value");
-        result.hasNamespace = true;
-        result.namespace_ = value;
-        return this;
-      }
-      public Builder ClearNamespace() {
-        result.hasNamespace = false;
-        result.namespace_ = "";
-        return this;
-      }
-      
-      public bool HasUmbrellaClassname {
-        get { return result.HasUmbrellaClassname; }
-      }
-      public string UmbrellaClassname {
-        get { return result.UmbrellaClassname; }
-        set { SetUmbrellaClassname(value); }
-      }
-      public Builder SetUmbrellaClassname(string value) {
-        pb::ThrowHelper.ThrowIfNull(value, "value");
-        result.hasUmbrellaClassname = true;
-        result.umbrellaClassname_ = value;
-        return this;
-      }
-      public Builder ClearUmbrellaClassname() {
-        result.hasUmbrellaClassname = false;
-        result.umbrellaClassname_ = "";
-        return this;
-      }
-      
-      public bool HasPublicClasses {
-        get { return result.HasPublicClasses; }
-      }
-      public bool PublicClasses {
-        get { return result.PublicClasses; }
-        set { SetPublicClasses(value); }
-      }
-      public Builder SetPublicClasses(bool value) {
-        result.hasPublicClasses = true;
-        result.publicClasses_ = value;
-        return this;
-      }
-      public Builder ClearPublicClasses() {
-        result.hasPublicClasses = false;
-        result.publicClasses_ = true;
-        return this;
-      }
-      
-      public bool HasMultipleFiles {
-        get { return result.HasMultipleFiles; }
-      }
-      public bool MultipleFiles {
-        get { return result.MultipleFiles; }
-        set { SetMultipleFiles(value); }
-      }
-      public Builder SetMultipleFiles(bool value) {
-        result.hasMultipleFiles = true;
-        result.multipleFiles_ = value;
-        return this;
-      }
-      public Builder ClearMultipleFiles() {
-        result.hasMultipleFiles = false;
-        result.multipleFiles_ = false;
-        return this;
-      }
-      
-      public bool HasNestClasses {
-        get { return result.HasNestClasses; }
-      }
-      public bool NestClasses {
-        get { return result.NestClasses; }
-        set { SetNestClasses(value); }
-      }
-      public Builder SetNestClasses(bool value) {
-        result.hasNestClasses = true;
-        result.nestClasses_ = value;
-        return this;
-      }
-      public Builder ClearNestClasses() {
-        result.hasNestClasses = false;
-        result.nestClasses_ = false;
-        return this;
-      }
-      
-      public bool HasCodeContracts {
-        get { return result.HasCodeContracts; }
-      }
-      public bool CodeContracts {
-        get { return result.CodeContracts; }
-        set { SetCodeContracts(value); }
-      }
-      public Builder SetCodeContracts(bool value) {
-        result.hasCodeContracts = true;
-        result.codeContracts_ = value;
-        return this;
-      }
-      public Builder ClearCodeContracts() {
-        result.hasCodeContracts = false;
-        result.codeContracts_ = false;
-        return this;
-      }
-      
-      public bool HasExpandNamespaceDirectories {
-        get { return result.HasExpandNamespaceDirectories; }
-      }
-      public bool ExpandNamespaceDirectories {
-        get { return result.ExpandNamespaceDirectories; }
-        set { SetExpandNamespaceDirectories(value); }
-      }
-      public Builder SetExpandNamespaceDirectories(bool value) {
-        result.hasExpandNamespaceDirectories = true;
-        result.expandNamespaceDirectories_ = value;
-        return this;
-      }
-      public Builder ClearExpandNamespaceDirectories() {
-        result.hasExpandNamespaceDirectories = false;
-        result.expandNamespaceDirectories_ = false;
-        return this;
-      }
-      
-      public bool HasClsCompliance {
-        get { return result.HasClsCompliance; }
-      }
-      public bool ClsCompliance {
-        get { return result.ClsCompliance; }
-        set { SetClsCompliance(value); }
-      }
-      public Builder SetClsCompliance(bool value) {
-        result.hasClsCompliance = true;
-        result.clsCompliance_ = value;
-        return this;
-      }
-      public Builder ClearClsCompliance() {
-        result.hasClsCompliance = false;
-        result.clsCompliance_ = true;
-        return this;
-      }
-      
-      public bool HasFileExtension {
-        get { return result.HasFileExtension; }
-      }
-      public string FileExtension {
-        get { return result.FileExtension; }
-        set { SetFileExtension(value); }
-      }
-      public Builder SetFileExtension(string value) {
-        pb::ThrowHelper.ThrowIfNull(value, "value");
-        result.hasFileExtension = true;
-        result.fileExtension_ = value;
-        return this;
-      }
-      public Builder ClearFileExtension() {
-        result.hasFileExtension = false;
-        result.fileExtension_ = ".cs";
-        return this;
-      }
-      
-      public bool HasUmbrellaNamespace {
-        get { return result.HasUmbrellaNamespace; }
-      }
-      public string UmbrellaNamespace {
-        get { return result.UmbrellaNamespace; }
-        set { SetUmbrellaNamespace(value); }
-      }
-      public Builder SetUmbrellaNamespace(string value) {
-        pb::ThrowHelper.ThrowIfNull(value, "value");
-        result.hasUmbrellaNamespace = true;
-        result.umbrellaNamespace_ = value;
-        return this;
-      }
-      public Builder ClearUmbrellaNamespace() {
-        result.hasUmbrellaNamespace = false;
-        result.umbrellaNamespace_ = "";
-        return this;
-      }
-      
-      public bool HasOutputDirectory {
-        get { return result.HasOutputDirectory; }
-      }
-      public string OutputDirectory {
-        get { return result.OutputDirectory; }
-        set { SetOutputDirectory(value); }
-      }
-      public Builder SetOutputDirectory(string value) {
-        pb::ThrowHelper.ThrowIfNull(value, "value");
-        result.hasOutputDirectory = true;
-        result.outputDirectory_ = value;
-        return this;
-      }
-      public Builder ClearOutputDirectory() {
-        result.hasOutputDirectory = false;
-        result.outputDirectory_ = ".";
-        return this;
-      }
-      
-      public bool HasIgnoreGoogleProtobuf {
-        get { return result.HasIgnoreGoogleProtobuf; }
-      }
-      public bool IgnoreGoogleProtobuf {
-        get { return result.IgnoreGoogleProtobuf; }
-        set { SetIgnoreGoogleProtobuf(value); }
-      }
-      public Builder SetIgnoreGoogleProtobuf(bool value) {
-        result.hasIgnoreGoogleProtobuf = true;
-        result.ignoreGoogleProtobuf_ = value;
-        return this;
-      }
-      public Builder ClearIgnoreGoogleProtobuf() {
-        result.hasIgnoreGoogleProtobuf = false;
-        result.ignoreGoogleProtobuf_ = false;
-        return this;
-      }
-    }
-    static CSharpFileOptions() {
-      object.ReferenceEquals(global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.Descriptor, null);
-    }
-  }
-  
-  public sealed partial class CSharpFieldOptions : pb::GeneratedMessage<CSharpFieldOptions, CSharpFieldOptions.Builder> {
-    private static readonly CSharpFieldOptions defaultInstance = new Builder().BuildPartial();
-    public static CSharpFieldOptions DefaultInstance {
-      get { return defaultInstance; }
-    }
-    
-    public override CSharpFieldOptions DefaultInstanceForType {
-      get { return defaultInstance; }
-    }
-    
-    protected override CSharpFieldOptions ThisMessage {
-      get { return this; }
-    }
-    
-    public static pbd::MessageDescriptor Descriptor {
-      get { return global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.internal__static_google_protobuf_CSharpFieldOptions__Descriptor; }
-    }
-    
-    protected override pb::FieldAccess.FieldAccessorTable<CSharpFieldOptions, CSharpFieldOptions.Builder> InternalFieldAccessors {
-      get { return global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.internal__static_google_protobuf_CSharpFieldOptions__FieldAccessorTable; }
-    }
-    
-    public const int PropertyNameFieldNumber = 1;
-    private bool hasPropertyName;
-    private string propertyName_ = "";
-    public bool HasPropertyName {
-      get { return hasPropertyName; }
-    }
-    public string PropertyName {
-      get { return propertyName_; }
-    }
-    
-    public override bool IsInitialized {
-      get {
-        return true;
-      }
-    }
-    
-    public override void WriteTo(pb::CodedOutputStream output) {
-      int size = SerializedSize;
-      if (HasPropertyName) {
-        output.WriteString(1, PropertyName);
-      }
-      UnknownFields.WriteTo(output);
-    }
-    
-    private int memoizedSerializedSize = -1;
-    public override int SerializedSize {
-      get {
-        int size = memoizedSerializedSize;
-        if (size != -1) return size;
-        
-        size = 0;
-        if (HasPropertyName) {
-          size += pb::CodedOutputStream.ComputeStringSize(1, PropertyName);
-        }
-        size += UnknownFields.SerializedSize;
-        memoizedSerializedSize = size;
-        return size;
-      }
-    }
-    
-    public static CSharpFieldOptions ParseFrom(pb::ByteString data) {
-      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
-    }
-    public static CSharpFieldOptions ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
-      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
-    }
-    public static CSharpFieldOptions ParseFrom(byte[] data) {
-      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
-    }
-    public static CSharpFieldOptions ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
-      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
-    }
-    public static CSharpFieldOptions ParseFrom(global::System.IO.Stream input) {
-      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
-    }
-    public static CSharpFieldOptions ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
-      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
-    }
-    public static CSharpFieldOptions ParseDelimitedFrom(global::System.IO.Stream input) {
-      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
-    }
-    public static CSharpFieldOptions ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
-      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
-    }
-    public static CSharpFieldOptions ParseFrom(pb::CodedInputStream input) {
-      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
-    }
-    public static CSharpFieldOptions ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
-      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
-    }
-    public static Builder CreateBuilder() { return new Builder(); }
-    public override Builder ToBuilder() { return CreateBuilder(this); }
-    public override Builder CreateBuilderForType() { return new Builder(); }
-    public static Builder CreateBuilder(CSharpFieldOptions prototype) {
-      return (Builder) new Builder().MergeFrom(prototype);
-    }
-    
-    public sealed partial class Builder : pb::GeneratedBuilder<CSharpFieldOptions, Builder> {
-      protected override Builder ThisBuilder {
-        get { return this; }
-      }
-      public Builder() {}
-      
-      CSharpFieldOptions result = new CSharpFieldOptions();
-      
-      protected override CSharpFieldOptions MessageBeingBuilt {
-        get { return result; }
-      }
-      
-      public override Builder Clear() {
-        result = new CSharpFieldOptions();
-        return this;
-      }
-      
-      public override Builder Clone() {
-        return new Builder().MergeFrom(result);
-      }
-      
-      public override pbd::MessageDescriptor DescriptorForType {
-        get { return global::Google.ProtocolBuffers.DescriptorProtos.CSharpFieldOptions.Descriptor; }
-      }
-      
-      public override CSharpFieldOptions DefaultInstanceForType {
-        get { return global::Google.ProtocolBuffers.DescriptorProtos.CSharpFieldOptions.DefaultInstance; }
-      }
-      
-      public override CSharpFieldOptions BuildPartial() {
-        if (result == null) {
-          throw new global::System.InvalidOperationException("build() has already been called on this Builder");
-        }
-        CSharpFieldOptions returnMe = result;
-        result = null;
-        return returnMe;
-      }
-      
-      public override Builder MergeFrom(pb::IMessage other) {
-        if (other is CSharpFieldOptions) {
-          return MergeFrom((CSharpFieldOptions) other);
-        } else {
-          base.MergeFrom(other);
-          return this;
-        }
-      }
-      
-      public override Builder MergeFrom(CSharpFieldOptions other) {
-        if (other == global::Google.ProtocolBuffers.DescriptorProtos.CSharpFieldOptions.DefaultInstance) return this;
-        if (other.HasPropertyName) {
-          PropertyName = other.PropertyName;
-        }
-        this.MergeUnknownFields(other.UnknownFields);
-        return this;
-      }
-      
-      public override Builder MergeFrom(pb::CodedInputStream input) {
-        return MergeFrom(input, pb::ExtensionRegistry.Empty);
-      }
-      
-      public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
-        pb::UnknownFieldSet.Builder unknownFields = null;
-        while (true) {
-          uint tag = input.ReadTag();
-          switch (tag) {
-            case 0: {
-              if (unknownFields != null) {
-                this.UnknownFields = unknownFields.Build();
-              }
-              return this;
-            }
-            default: {
-              if (pb::WireFormat.IsEndGroupTag(tag)) {
-                if (unknownFields != null) {
-                  this.UnknownFields = unknownFields.Build();
-                }
-                return this;
-              }
-              if (unknownFields == null) {
-                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
-              }
-              ParseUnknownField(input, unknownFields, extensionRegistry, tag);
-              break;
-            }
-            case 10: {
-              PropertyName = input.ReadString();
-              break;
-            }
-          }
-        }
-      }
-      
-      
-      public bool HasPropertyName {
-        get { return result.HasPropertyName; }
-      }
-      public string PropertyName {
-        get { return result.PropertyName; }
-        set { SetPropertyName(value); }
-      }
-      public Builder SetPropertyName(string value) {
-        pb::ThrowHelper.ThrowIfNull(value, "value");
-        result.hasPropertyName = true;
-        result.propertyName_ = value;
-        return this;
-      }
-      public Builder ClearPropertyName() {
-        result.hasPropertyName = false;
-        result.propertyName_ = "";
-        return this;
-      }
-    }
-    static CSharpFieldOptions() {
-      object.ReferenceEquals(global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.Descriptor, null);
-    }
-  }
-  
-  #endregion
-  
-}
+// Generated by ProtoGen, Version=0.9.0.0, Culture=neutral, PublicKeyToken=8fd7408b07f8d2cd.  DO NOT EDIT!

+

+using pb = global::Google.ProtocolBuffers;

+using pbc = global::Google.ProtocolBuffers.Collections;

+using pbd = global::Google.ProtocolBuffers.Descriptors;

+using scg = global::System.Collections.Generic;

+namespace Google.ProtocolBuffers.DescriptorProtos {

+  

+  public static partial class CSharpOptions {

+  

+    #region Extension registration

+    public static void RegisterAllExtensions(pb::ExtensionRegistry registry) {

+      registry.Add(global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.CSharpFileOptions);

+      registry.Add(global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.CSharpFieldOptions);

+    }

+    #endregion

+    #region Extensions

+    public const int CSharpFileOptionsFieldNumber = 1000;

+    public static pb::GeneratedExtensionBase<global::Google.ProtocolBuffers.DescriptorProtos.CSharpFileOptions> CSharpFileOptions;

+    public const int CSharpFieldOptionsFieldNumber = 1000;

+    public static pb::GeneratedExtensionBase<global::Google.ProtocolBuffers.DescriptorProtos.CSharpFieldOptions> CSharpFieldOptions;

+    #endregion

+    

+    #region Static variables

+    internal static pbd::MessageDescriptor internal__static_google_protobuf_CSharpFileOptions__Descriptor;

+    internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.CSharpFileOptions, global::Google.ProtocolBuffers.DescriptorProtos.CSharpFileOptions.Builder> internal__static_google_protobuf_CSharpFileOptions__FieldAccessorTable;

+    internal static pbd::MessageDescriptor internal__static_google_protobuf_CSharpFieldOptions__Descriptor;

+    internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.CSharpFieldOptions, global::Google.ProtocolBuffers.DescriptorProtos.CSharpFieldOptions.Builder> internal__static_google_protobuf_CSharpFieldOptions__FieldAccessorTable;

+    #endregion

+    #region Descriptor

+    public static pbd::FileDescriptor Descriptor {

+      get { return descriptor; }

+    }

+    private static pbd::FileDescriptor descriptor;

+    

+    static CSharpOptions() {

+      byte[] descriptorData = global::System.Convert.FromBase64String(

+          "CiRnb29nbGUvcHJvdG9idWYvY3NoYXJwX29wdGlvbnMucHJvdG8SD2dvb2ds" + 

+          "ZS5wcm90b2J1ZhogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG8i" + 

+          "6wIKEUNTaGFycEZpbGVPcHRpb25zEhEKCW5hbWVzcGFjZRgBIAEoCRIaChJ1" + 

+          "bWJyZWxsYV9jbGFzc25hbWUYAiABKAkSHAoOcHVibGljX2NsYXNzZXMYAyAB" + 

+          "KAg6BHRydWUSFgoObXVsdGlwbGVfZmlsZXMYBCABKAgSFAoMbmVzdF9jbGFz" + 

+          "c2VzGAUgASgIEhYKDmNvZGVfY29udHJhY3RzGAYgASgIEiQKHGV4cGFuZF9u" + 

+          "YW1lc3BhY2VfZGlyZWN0b3JpZXMYByABKAgSHAoOY2xzX2NvbXBsaWFuY2UY" + 

+          "CCABKAg6BHRydWUSHAoOZmlsZV9leHRlbnNpb24Y3QEgASgJOgMuY3MSGwoS" + 

+          "dW1icmVsbGFfbmFtZXNwYWNlGN4BIAEoCRIcChBvdXRwdXRfZGlyZWN0b3J5" + 

+          "GN8BIAEoCToBLhImChZpZ25vcmVfZ29vZ2xlX3Byb3RvYnVmGOABIAEoCDoF" + 

+          "ZmFsc2UiKwoSQ1NoYXJwRmllbGRPcHRpb25zEhUKDXByb3BlcnR5X25hbWUY" + 

+          "ASABKAk6XgoTY3NoYXJwX2ZpbGVfb3B0aW9ucxIcLmdvb2dsZS5wcm90b2J1" + 

+          "Zi5GaWxlT3B0aW9ucxjoByABKAsyIi5nb29nbGUucHJvdG9idWYuQ1NoYXJw" + 

+          "RmlsZU9wdGlvbnM6YQoUY3NoYXJwX2ZpZWxkX29wdGlvbnMSHS5nb29nbGUu" + 

+          "cHJvdG9idWYuRmllbGRPcHRpb25zGOgHIAEoCzIjLmdvb2dsZS5wcm90b2J1" + 

+          "Zi5DU2hhcnBGaWVsZE9wdGlvbnM=");

+      pbd::FileDescriptor.InternalDescriptorAssigner assigner = delegate(pbd::FileDescriptor root) {

+        descriptor = root;

+        internal__static_google_protobuf_CSharpFileOptions__Descriptor = Descriptor.MessageTypes[0];

+        internal__static_google_protobuf_CSharpFileOptions__FieldAccessorTable = 

+            new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.CSharpFileOptions, global::Google.ProtocolBuffers.DescriptorProtos.CSharpFileOptions.Builder>(internal__static_google_protobuf_CSharpFileOptions__Descriptor,

+                new string[] { "Namespace", "UmbrellaClassname", "PublicClasses", "MultipleFiles", "NestClasses", "CodeContracts", "ExpandNamespaceDirectories", "ClsCompliance", "FileExtension", "UmbrellaNamespace", "OutputDirectory", "IgnoreGoogleProtobuf", });

+        internal__static_google_protobuf_CSharpFieldOptions__Descriptor = Descriptor.MessageTypes[1];

+        internal__static_google_protobuf_CSharpFieldOptions__FieldAccessorTable = 

+            new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.CSharpFieldOptions, global::Google.ProtocolBuffers.DescriptorProtos.CSharpFieldOptions.Builder>(internal__static_google_protobuf_CSharpFieldOptions__Descriptor,

+                new string[] { "PropertyName", });

+        global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.CSharpFileOptions = pb::GeneratedSingleExtension<global::Google.ProtocolBuffers.DescriptorProtos.CSharpFileOptions>.CreateInstance(global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.Descriptor.Extensions[0]);

+        global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.CSharpFieldOptions = pb::GeneratedSingleExtension<global::Google.ProtocolBuffers.DescriptorProtos.CSharpFieldOptions>.CreateInstance(global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.Descriptor.Extensions[1]);

+        return null;

+      };

+      pbd::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,

+          new pbd::FileDescriptor[] {

+          global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.Descriptor, 

+          }, assigner);

+    }

+    #endregion

+    

+  }

+  #region Messages

+  public sealed partial class CSharpFileOptions : pb::GeneratedMessage<CSharpFileOptions, CSharpFileOptions.Builder> {

+    private static readonly CSharpFileOptions defaultInstance = new Builder().BuildPartial();

+    public static CSharpFileOptions DefaultInstance {

+      get { return defaultInstance; }

+    }

+    

+    public override CSharpFileOptions DefaultInstanceForType {

+      get { return defaultInstance; }

+    }

+    

+    protected override CSharpFileOptions ThisMessage {

+      get { return this; }

+    }

+    

+    public static pbd::MessageDescriptor Descriptor {

+      get { return global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.internal__static_google_protobuf_CSharpFileOptions__Descriptor; }

+    }

+    

+    protected override pb::FieldAccess.FieldAccessorTable<CSharpFileOptions, CSharpFileOptions.Builder> InternalFieldAccessors {

+      get { return global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.internal__static_google_protobuf_CSharpFileOptions__FieldAccessorTable; }

+    }

+    

+    public const int NamespaceFieldNumber = 1;

+    private bool hasNamespace;

+    private string namespace_ = "";

+    public bool HasNamespace {

+      get { return hasNamespace; }

+    }

+    public string Namespace {

+      get { return namespace_; }

+    }

+    

+    public const int UmbrellaClassnameFieldNumber = 2;

+    private bool hasUmbrellaClassname;

+    private string umbrellaClassname_ = "";

+    public bool HasUmbrellaClassname {

+      get { return hasUmbrellaClassname; }

+    }

+    public string UmbrellaClassname {

+      get { return umbrellaClassname_; }

+    }

+    

+    public const int PublicClassesFieldNumber = 3;

+    private bool hasPublicClasses;

+    private bool publicClasses_ = true;

+    public bool HasPublicClasses {

+      get { return hasPublicClasses; }

+    }

+    public bool PublicClasses {

+      get { return publicClasses_; }

+    }

+    

+    public const int MultipleFilesFieldNumber = 4;

+    private bool hasMultipleFiles;

+    private bool multipleFiles_ = false;

+    public bool HasMultipleFiles {

+      get { return hasMultipleFiles; }

+    }

+    public bool MultipleFiles {

+      get { return multipleFiles_; }

+    }

+    

+    public const int NestClassesFieldNumber = 5;

+    private bool hasNestClasses;

+    private bool nestClasses_ = false;

+    public bool HasNestClasses {

+      get { return hasNestClasses; }

+    }

+    public bool NestClasses {

+      get { return nestClasses_; }

+    }

+    

+    public const int CodeContractsFieldNumber = 6;

+    private bool hasCodeContracts;

+    private bool codeContracts_ = false;

+    public bool HasCodeContracts {

+      get { return hasCodeContracts; }

+    }

+    public bool CodeContracts {

+      get { return codeContracts_; }

+    }

+    

+    public const int ExpandNamespaceDirectoriesFieldNumber = 7;

+    private bool hasExpandNamespaceDirectories;

+    private bool expandNamespaceDirectories_ = false;

+    public bool HasExpandNamespaceDirectories {

+      get { return hasExpandNamespaceDirectories; }

+    }

+    public bool ExpandNamespaceDirectories {

+      get { return expandNamespaceDirectories_; }

+    }

+    

+    public const int ClsComplianceFieldNumber = 8;

+    private bool hasClsCompliance;

+    private bool clsCompliance_ = true;

+    public bool HasClsCompliance {

+      get { return hasClsCompliance; }

+    }

+    public bool ClsCompliance {

+      get { return clsCompliance_; }

+    }

+    

+    public const int FileExtensionFieldNumber = 221;

+    private bool hasFileExtension;

+    private string fileExtension_ = ".cs";

+    public bool HasFileExtension {

+      get { return hasFileExtension; }

+    }

+    public string FileExtension {

+      get { return fileExtension_; }

+    }

+    

+    public const int UmbrellaNamespaceFieldNumber = 222;

+    private bool hasUmbrellaNamespace;

+    private string umbrellaNamespace_ = "";

+    public bool HasUmbrellaNamespace {

+      get { return hasUmbrellaNamespace; }

+    }

+    public string UmbrellaNamespace {

+      get { return umbrellaNamespace_; }

+    }

+    

+    public const int OutputDirectoryFieldNumber = 223;

+    private bool hasOutputDirectory;

+    private string outputDirectory_ = ".";

+    public bool HasOutputDirectory {

+      get { return hasOutputDirectory; }

+    }

+    public string OutputDirectory {

+      get { return outputDirectory_; }

+    }

+    

+    public const int IgnoreGoogleProtobufFieldNumber = 224;

+    private bool hasIgnoreGoogleProtobuf;

+    private bool ignoreGoogleProtobuf_ = false;

+    public bool HasIgnoreGoogleProtobuf {

+      get { return hasIgnoreGoogleProtobuf; }

+    }

+    public bool IgnoreGoogleProtobuf {

+      get { return ignoreGoogleProtobuf_; }

+    }

+    

+    public override bool IsInitialized {

+      get {

+        return true;

+      }

+    }

+    

+    public override void WriteTo(pb::CodedOutputStream output) {

+      int size = SerializedSize;

+      if (HasNamespace) {

+        output.WriteString(1, Namespace);

+      }

+      if (HasUmbrellaClassname) {

+        output.WriteString(2, UmbrellaClassname);

+      }

+      if (HasPublicClasses) {

+        output.WriteBool(3, PublicClasses);

+      }

+      if (HasMultipleFiles) {

+        output.WriteBool(4, MultipleFiles);

+      }

+      if (HasNestClasses) {

+        output.WriteBool(5, NestClasses);

+      }

+      if (HasCodeContracts) {

+        output.WriteBool(6, CodeContracts);

+      }

+      if (HasExpandNamespaceDirectories) {

+        output.WriteBool(7, ExpandNamespaceDirectories);

+      }

+      if (HasClsCompliance) {

+        output.WriteBool(8, ClsCompliance);

+      }

+      if (HasFileExtension) {

+        output.WriteString(221, FileExtension);

+      }

+      if (HasUmbrellaNamespace) {

+        output.WriteString(222, UmbrellaNamespace);

+      }

+      if (HasOutputDirectory) {

+        output.WriteString(223, OutputDirectory);

+      }

+      if (HasIgnoreGoogleProtobuf) {

+        output.WriteBool(224, IgnoreGoogleProtobuf);

+      }

+      UnknownFields.WriteTo(output);

+    }

+    

+    private int memoizedSerializedSize = -1;

+    public override int SerializedSize {

+      get {

+        int size = memoizedSerializedSize;

+        if (size != -1) return size;

+        

+        size = 0;

+        if (HasNamespace) {

+          size += pb::CodedOutputStream.ComputeStringSize(1, Namespace);

+        }

+        if (HasUmbrellaClassname) {

+          size += pb::CodedOutputStream.ComputeStringSize(2, UmbrellaClassname);

+        }

+        if (HasPublicClasses) {

+          size += pb::CodedOutputStream.ComputeBoolSize(3, PublicClasses);

+        }

+        if (HasMultipleFiles) {

+          size += pb::CodedOutputStream.ComputeBoolSize(4, MultipleFiles);

+        }

+        if (HasNestClasses) {

+          size += pb::CodedOutputStream.ComputeBoolSize(5, NestClasses);

+        }

+        if (HasCodeContracts) {

+          size += pb::CodedOutputStream.ComputeBoolSize(6, CodeContracts);

+        }

+        if (HasExpandNamespaceDirectories) {

+          size += pb::CodedOutputStream.ComputeBoolSize(7, ExpandNamespaceDirectories);

+        }

+        if (HasClsCompliance) {

+          size += pb::CodedOutputStream.ComputeBoolSize(8, ClsCompliance);

+        }

+        if (HasFileExtension) {

+          size += pb::CodedOutputStream.ComputeStringSize(221, FileExtension);

+        }

+        if (HasUmbrellaNamespace) {

+          size += pb::CodedOutputStream.ComputeStringSize(222, UmbrellaNamespace);

+        }

+        if (HasOutputDirectory) {

+          size += pb::CodedOutputStream.ComputeStringSize(223, OutputDirectory);

+        }

+        if (HasIgnoreGoogleProtobuf) {

+          size += pb::CodedOutputStream.ComputeBoolSize(224, IgnoreGoogleProtobuf);

+        }

+        size += UnknownFields.SerializedSize;

+        memoizedSerializedSize = size;

+        return size;

+      }

+    }

+    

+    public static CSharpFileOptions ParseFrom(pb::ByteString data) {

+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();

+    }

+    public static CSharpFileOptions ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {

+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();

+    }

+    public static CSharpFileOptions ParseFrom(byte[] data) {

+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();

+    }

+    public static CSharpFileOptions ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {

+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();

+    }

+    public static CSharpFileOptions ParseFrom(global::System.IO.Stream input) {

+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();

+    }

+    public static CSharpFileOptions ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {

+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();

+    }

+    public static CSharpFileOptions ParseDelimitedFrom(global::System.IO.Stream input) {

+      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();

+    }

+    public static CSharpFileOptions ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {

+      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();

+    }

+    public static CSharpFileOptions ParseFrom(pb::CodedInputStream input) {

+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();

+    }

+    public static CSharpFileOptions ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {

+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();

+    }

+    public static Builder CreateBuilder() { return new Builder(); }

+    public override Builder ToBuilder() { return CreateBuilder(this); }

+    public override Builder CreateBuilderForType() { return new Builder(); }

+    public static Builder CreateBuilder(CSharpFileOptions prototype) {

+      return (Builder) new Builder().MergeFrom(prototype);

+    }

+    

+    public sealed partial class Builder : pb::GeneratedBuilder<CSharpFileOptions, Builder> {

+      protected override Builder ThisBuilder {

+        get { return this; }

+      }

+      public Builder() {}

+      

+      CSharpFileOptions result = new CSharpFileOptions();

+      

+      protected override CSharpFileOptions MessageBeingBuilt {

+        get { return result; }

+      }

+      

+      public override Builder Clear() {

+        result = new CSharpFileOptions();

+        return this;

+      }

+      

+      public override Builder Clone() {

+        return new Builder().MergeFrom(result);

+      }

+      

+      public override pbd::MessageDescriptor DescriptorForType {

+        get { return global::Google.ProtocolBuffers.DescriptorProtos.CSharpFileOptions.Descriptor; }

+      }

+      

+      public override CSharpFileOptions DefaultInstanceForType {

+        get { return global::Google.ProtocolBuffers.DescriptorProtos.CSharpFileOptions.DefaultInstance; }

+      }

+      

+      public override CSharpFileOptions BuildPartial() {

+        if (result == null) {

+          throw new global::System.InvalidOperationException("build() has already been called on this Builder");

+        }

+        CSharpFileOptions returnMe = result;

+        result = null;

+        return returnMe;

+      }

+      

+      public override Builder MergeFrom(pb::IMessage other) {

+        if (other is CSharpFileOptions) {

+          return MergeFrom((CSharpFileOptions) other);

+        } else {

+          base.MergeFrom(other);

+          return this;

+        }

+      }

+      

+      public override Builder MergeFrom(CSharpFileOptions other) {

+        if (other == global::Google.ProtocolBuffers.DescriptorProtos.CSharpFileOptions.DefaultInstance) return this;

+        if (other.HasNamespace) {

+          Namespace = other.Namespace;

+        }

+        if (other.HasUmbrellaClassname) {

+          UmbrellaClassname = other.UmbrellaClassname;

+        }

+        if (other.HasPublicClasses) {

+          PublicClasses = other.PublicClasses;

+        }

+        if (other.HasMultipleFiles) {

+          MultipleFiles = other.MultipleFiles;

+        }

+        if (other.HasNestClasses) {

+          NestClasses = other.NestClasses;

+        }

+        if (other.HasCodeContracts) {

+          CodeContracts = other.CodeContracts;

+        }

+        if (other.HasExpandNamespaceDirectories) {

+          ExpandNamespaceDirectories = other.ExpandNamespaceDirectories;

+        }

+        if (other.HasClsCompliance) {

+          ClsCompliance = other.ClsCompliance;

+        }

+        if (other.HasFileExtension) {

+          FileExtension = other.FileExtension;

+        }

+        if (other.HasUmbrellaNamespace) {

+          UmbrellaNamespace = other.UmbrellaNamespace;

+        }

+        if (other.HasOutputDirectory) {

+          OutputDirectory = other.OutputDirectory;

+        }

+        if (other.HasIgnoreGoogleProtobuf) {

+          IgnoreGoogleProtobuf = other.IgnoreGoogleProtobuf;

+        }

+        this.MergeUnknownFields(other.UnknownFields);

+        return this;

+      }

+      

+      public override Builder MergeFrom(pb::CodedInputStream input) {

+        return MergeFrom(input, pb::ExtensionRegistry.Empty);

+      }

+      

+      public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {

+        pb::UnknownFieldSet.Builder unknownFields = null;

+        while (true) {

+          uint tag = input.ReadTag();

+          switch (tag) {

+            case 0: {

+              if (unknownFields != null) {

+                this.UnknownFields = unknownFields.Build();

+              }

+              return this;

+            }

+            default: {

+              if (pb::WireFormat.IsEndGroupTag(tag)) {

+                if (unknownFields != null) {

+                  this.UnknownFields = unknownFields.Build();

+                }

+                return this;

+              }

+              if (unknownFields == null) {

+                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);

+              }

+              ParseUnknownField(input, unknownFields, extensionRegistry, tag);

+              break;

+            }

+            case 10: {

+              Namespace = input.ReadString();

+              break;

+            }

+            case 18: {

+              UmbrellaClassname = input.ReadString();

+              break;

+            }

+            case 24: {

+              PublicClasses = input.ReadBool();

+              break;

+            }

+            case 32: {

+              MultipleFiles = input.ReadBool();

+              break;

+            }

+            case 40: {

+              NestClasses = input.ReadBool();

+              break;

+            }

+            case 48: {

+              CodeContracts = input.ReadBool();

+              break;

+            }

+            case 56: {

+              ExpandNamespaceDirectories = input.ReadBool();

+              break;

+            }

+            case 64: {

+              ClsCompliance = input.ReadBool();

+              break;

+            }

+            case 1770: {

+              FileExtension = input.ReadString();

+              break;

+            }

+            case 1778: {

+              UmbrellaNamespace = input.ReadString();

+              break;

+            }

+            case 1786: {

+              OutputDirectory = input.ReadString();

+              break;

+            }

+            case 1792: {

+              IgnoreGoogleProtobuf = input.ReadBool();

+              break;

+            }

+          }

+        }

+      }

+      

+      

+      public bool HasNamespace {

+        get { return result.HasNamespace; }

+      }

+      public string Namespace {

+        get { return result.Namespace; }

+        set { SetNamespace(value); }

+      }

+      public Builder SetNamespace(string value) {

+        pb::ThrowHelper.ThrowIfNull(value, "value");

+        result.hasNamespace = true;

+        result.namespace_ = value;

+        return this;

+      }

+      public Builder ClearNamespace() {

+        result.hasNamespace = false;

+        result.namespace_ = "";

+        return this;

+      }

+      

+      public bool HasUmbrellaClassname {

+        get { return result.HasUmbrellaClassname; }

+      }

+      public string UmbrellaClassname {

+        get { return result.UmbrellaClassname; }

+        set { SetUmbrellaClassname(value); }

+      }

+      public Builder SetUmbrellaClassname(string value) {

+        pb::ThrowHelper.ThrowIfNull(value, "value");

+        result.hasUmbrellaClassname = true;

+        result.umbrellaClassname_ = value;

+        return this;

+      }

+      public Builder ClearUmbrellaClassname() {

+        result.hasUmbrellaClassname = false;

+        result.umbrellaClassname_ = "";

+        return this;

+      }

+      

+      public bool HasPublicClasses {

+        get { return result.HasPublicClasses; }

+      }

+      public bool PublicClasses {

+        get { return result.PublicClasses; }

+        set { SetPublicClasses(value); }

+      }

+      public Builder SetPublicClasses(bool value) {

+        result.hasPublicClasses = true;

+        result.publicClasses_ = value;

+        return this;

+      }

+      public Builder ClearPublicClasses() {

+        result.hasPublicClasses = false;

+        result.publicClasses_ = true;

+        return this;

+      }

+      

+      public bool HasMultipleFiles {

+        get { return result.HasMultipleFiles; }

+      }

+      public bool MultipleFiles {

+        get { return result.MultipleFiles; }

+        set { SetMultipleFiles(value); }

+      }

+      public Builder SetMultipleFiles(bool value) {

+        result.hasMultipleFiles = true;

+        result.multipleFiles_ = value;

+        return this;

+      }

+      public Builder ClearMultipleFiles() {

+        result.hasMultipleFiles = false;

+        result.multipleFiles_ = false;

+        return this;

+      }

+      

+      public bool HasNestClasses {

+        get { return result.HasNestClasses; }

+      }

+      public bool NestClasses {

+        get { return result.NestClasses; }

+        set { SetNestClasses(value); }

+      }

+      public Builder SetNestClasses(bool value) {

+        result.hasNestClasses = true;

+        result.nestClasses_ = value;

+        return this;

+      }

+      public Builder ClearNestClasses() {

+        result.hasNestClasses = false;

+        result.nestClasses_ = false;

+        return this;

+      }

+      

+      public bool HasCodeContracts {

+        get { return result.HasCodeContracts; }

+      }

+      public bool CodeContracts {

+        get { return result.CodeContracts; }

+        set { SetCodeContracts(value); }

+      }

+      public Builder SetCodeContracts(bool value) {

+        result.hasCodeContracts = true;

+        result.codeContracts_ = value;

+        return this;

+      }

+      public Builder ClearCodeContracts() {

+        result.hasCodeContracts = false;

+        result.codeContracts_ = false;

+        return this;

+      }

+      

+      public bool HasExpandNamespaceDirectories {

+        get { return result.HasExpandNamespaceDirectories; }

+      }

+      public bool ExpandNamespaceDirectories {

+        get { return result.ExpandNamespaceDirectories; }

+        set { SetExpandNamespaceDirectories(value); }

+      }

+      public Builder SetExpandNamespaceDirectories(bool value) {

+        result.hasExpandNamespaceDirectories = true;

+        result.expandNamespaceDirectories_ = value;

+        return this;

+      }

+      public Builder ClearExpandNamespaceDirectories() {

+        result.hasExpandNamespaceDirectories = false;

+        result.expandNamespaceDirectories_ = false;

+        return this;

+      }

+      

+      public bool HasClsCompliance {

+        get { return result.HasClsCompliance; }

+      }

+      public bool ClsCompliance {

+        get { return result.ClsCompliance; }

+        set { SetClsCompliance(value); }

+      }

+      public Builder SetClsCompliance(bool value) {

+        result.hasClsCompliance = true;

+        result.clsCompliance_ = value;

+        return this;

+      }

+      public Builder ClearClsCompliance() {

+        result.hasClsCompliance = false;

+        result.clsCompliance_ = true;

+        return this;

+      }

+      

+      public bool HasFileExtension {

+        get { return result.HasFileExtension; }

+      }

+      public string FileExtension {

+        get { return result.FileExtension; }

+        set { SetFileExtension(value); }

+      }

+      public Builder SetFileExtension(string value) {

+        pb::ThrowHelper.ThrowIfNull(value, "value");

+        result.hasFileExtension = true;

+        result.fileExtension_ = value;

+        return this;

+      }

+      public Builder ClearFileExtension() {

+        result.hasFileExtension = false;

+        result.fileExtension_ = ".cs";

+        return this;

+      }

+      

+      public bool HasUmbrellaNamespace {

+        get { return result.HasUmbrellaNamespace; }

+      }

+      public string UmbrellaNamespace {

+        get { return result.UmbrellaNamespace; }

+        set { SetUmbrellaNamespace(value); }

+      }

+      public Builder SetUmbrellaNamespace(string value) {

+        pb::ThrowHelper.ThrowIfNull(value, "value");

+        result.hasUmbrellaNamespace = true;

+        result.umbrellaNamespace_ = value;

+        return this;

+      }

+      public Builder ClearUmbrellaNamespace() {

+        result.hasUmbrellaNamespace = false;

+        result.umbrellaNamespace_ = "";

+        return this;

+      }

+      

+      public bool HasOutputDirectory {

+        get { return result.HasOutputDirectory; }

+      }

+      public string OutputDirectory {

+        get { return result.OutputDirectory; }

+        set { SetOutputDirectory(value); }

+      }

+      public Builder SetOutputDirectory(string value) {

+        pb::ThrowHelper.ThrowIfNull(value, "value");

+        result.hasOutputDirectory = true;

+        result.outputDirectory_ = value;

+        return this;

+      }

+      public Builder ClearOutputDirectory() {

+        result.hasOutputDirectory = false;

+        result.outputDirectory_ = ".";

+        return this;

+      }

+      

+      public bool HasIgnoreGoogleProtobuf {

+        get { return result.HasIgnoreGoogleProtobuf; }

+      }

+      public bool IgnoreGoogleProtobuf {

+        get { return result.IgnoreGoogleProtobuf; }

+        set { SetIgnoreGoogleProtobuf(value); }

+      }

+      public Builder SetIgnoreGoogleProtobuf(bool value) {

+        result.hasIgnoreGoogleProtobuf = true;

+        result.ignoreGoogleProtobuf_ = value;

+        return this;

+      }

+      public Builder ClearIgnoreGoogleProtobuf() {

+        result.hasIgnoreGoogleProtobuf = false;

+        result.ignoreGoogleProtobuf_ = false;

+        return this;

+      }

+    }

+    static CSharpFileOptions() {

+      object.ReferenceEquals(global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.Descriptor, null);

+    }

+  }

+  

+  public sealed partial class CSharpFieldOptions : pb::GeneratedMessage<CSharpFieldOptions, CSharpFieldOptions.Builder> {

+    private static readonly CSharpFieldOptions defaultInstance = new Builder().BuildPartial();

+    public static CSharpFieldOptions DefaultInstance {

+      get { return defaultInstance; }

+    }

+    

+    public override CSharpFieldOptions DefaultInstanceForType {

+      get { return defaultInstance; }

+    }

+    

+    protected override CSharpFieldOptions ThisMessage {

+      get { return this; }

+    }

+    

+    public static pbd::MessageDescriptor Descriptor {

+      get { return global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.internal__static_google_protobuf_CSharpFieldOptions__Descriptor; }

+    }

+    

+    protected override pb::FieldAccess.FieldAccessorTable<CSharpFieldOptions, CSharpFieldOptions.Builder> InternalFieldAccessors {

+      get { return global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.internal__static_google_protobuf_CSharpFieldOptions__FieldAccessorTable; }

+    }

+    

+    public const int PropertyNameFieldNumber = 1;

+    private bool hasPropertyName;

+    private string propertyName_ = "";

+    public bool HasPropertyName {

+      get { return hasPropertyName; }

+    }

+    public string PropertyName {

+      get { return propertyName_; }

+    }

+    

+    public override bool IsInitialized {

+      get {

+        return true;

+      }

+    }

+    

+    public override void WriteTo(pb::CodedOutputStream output) {

+      int size = SerializedSize;

+      if (HasPropertyName) {

+        output.WriteString(1, PropertyName);

+      }

+      UnknownFields.WriteTo(output);

+    }

+    

+    private int memoizedSerializedSize = -1;

+    public override int SerializedSize {

+      get {

+        int size = memoizedSerializedSize;

+        if (size != -1) return size;

+        

+        size = 0;

+        if (HasPropertyName) {

+          size += pb::CodedOutputStream.ComputeStringSize(1, PropertyName);

+        }

+        size += UnknownFields.SerializedSize;

+        memoizedSerializedSize = size;

+        return size;

+      }

+    }

+    

+    public static CSharpFieldOptions ParseFrom(pb::ByteString data) {

+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();

+    }

+    public static CSharpFieldOptions ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {

+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();

+    }

+    public static CSharpFieldOptions ParseFrom(byte[] data) {

+      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();

+    }

+    public static CSharpFieldOptions ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {

+      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();

+    }

+    public static CSharpFieldOptions ParseFrom(global::System.IO.Stream input) {

+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();

+    }

+    public static CSharpFieldOptions ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {

+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();

+    }

+    public static CSharpFieldOptions ParseDelimitedFrom(global::System.IO.Stream input) {

+      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();

+    }

+    public static CSharpFieldOptions ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {

+      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();

+    }

+    public static CSharpFieldOptions ParseFrom(pb::CodedInputStream input) {

+      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();

+    }

+    public static CSharpFieldOptions ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {

+      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();

+    }

+    public static Builder CreateBuilder() { return new Builder(); }

+    public override Builder ToBuilder() { return CreateBuilder(this); }

+    public override Builder CreateBuilderForType() { return new Builder(); }

+    public static Builder CreateBuilder(CSharpFieldOptions prototype) {

+      return (Builder) new Builder().MergeFrom(prototype);

+    }

+    

+    public sealed partial class Builder : pb::GeneratedBuilder<CSharpFieldOptions, Builder> {

+      protected override Builder ThisBuilder {

+        get { return this; }

+      }

+      public Builder() {}

+      

+      CSharpFieldOptions result = new CSharpFieldOptions();

+      

+      protected override CSharpFieldOptions MessageBeingBuilt {

+        get { return result; }

+      }

+      

+      public override Builder Clear() {

+        result = new CSharpFieldOptions();

+        return this;

+      }

+      

+      public override Builder Clone() {

+        return new Builder().MergeFrom(result);

+      }

+      

+      public override pbd::MessageDescriptor DescriptorForType {

+        get { return global::Google.ProtocolBuffers.DescriptorProtos.CSharpFieldOptions.Descriptor; }

+      }

+      

+      public override CSharpFieldOptions DefaultInstanceForType {

+        get { return global::Google.ProtocolBuffers.DescriptorProtos.CSharpFieldOptions.DefaultInstance; }

+      }

+      

+      public override CSharpFieldOptions BuildPartial() {

+        if (result == null) {

+          throw new global::System.InvalidOperationException("build() has already been called on this Builder");

+        }

+        CSharpFieldOptions returnMe = result;

+        result = null;

+        return returnMe;

+      }

+      

+      public override Builder MergeFrom(pb::IMessage other) {

+        if (other is CSharpFieldOptions) {

+          return MergeFrom((CSharpFieldOptions) other);

+        } else {

+          base.MergeFrom(other);

+          return this;

+        }

+      }

+      

+      public override Builder MergeFrom(CSharpFieldOptions other) {

+        if (other == global::Google.ProtocolBuffers.DescriptorProtos.CSharpFieldOptions.DefaultInstance) return this;

+        if (other.HasPropertyName) {

+          PropertyName = other.PropertyName;

+        }

+        this.MergeUnknownFields(other.UnknownFields);

+        return this;

+      }

+      

+      public override Builder MergeFrom(pb::CodedInputStream input) {

+        return MergeFrom(input, pb::ExtensionRegistry.Empty);

+      }

+      

+      public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {

+        pb::UnknownFieldSet.Builder unknownFields = null;

+        while (true) {

+          uint tag = input.ReadTag();

+          switch (tag) {

+            case 0: {

+              if (unknownFields != null) {

+                this.UnknownFields = unknownFields.Build();

+              }

+              return this;

+            }

+            default: {

+              if (pb::WireFormat.IsEndGroupTag(tag)) {

+                if (unknownFields != null) {

+                  this.UnknownFields = unknownFields.Build();

+                }

+                return this;

+              }

+              if (unknownFields == null) {

+                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);

+              }

+              ParseUnknownField(input, unknownFields, extensionRegistry, tag);

+              break;

+            }

+            case 10: {

+              PropertyName = input.ReadString();

+              break;

+            }

+          }

+        }

+      }

+      

+      

+      public bool HasPropertyName {

+        get { return result.HasPropertyName; }

+      }

+      public string PropertyName {

+        get { return result.PropertyName; }

+        set { SetPropertyName(value); }

+      }

+      public Builder SetPropertyName(string value) {

+        pb::ThrowHelper.ThrowIfNull(value, "value");

+        result.hasPropertyName = true;

+        result.propertyName_ = value;

+        return this;

+      }

+      public Builder ClearPropertyName() {

+        result.hasPropertyName = false;

+        result.propertyName_ = "";

+        return this;

+      }

+    }

+    static CSharpFieldOptions() {

+      object.ReferenceEquals(global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.Descriptor, null);

+    }

+  }

+  

+  #endregion

+  

+}