// <auto-generated>
//     Generated by the protocol buffer compiler.  DO NOT EDIT!
//     source: services.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021
#region Designer generated code

using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace ServiceStack.Extensions.Tests.Protoc {

  /// <summary>Holder for reflection information generated from services.proto</summary>
  public static partial class ServicesReflection {

    #region Descriptor
    /// <summary>File descriptor for services.proto</summary>
    public static pbr::FileDescriptor Descriptor {
      get { return descriptor; }
    }
    private static pbr::FileDescriptor descriptor;

    static ServicesReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "Cg5zZXJ2aWNlcy5wcm90bxoeZ29vZ2xlL3Byb3RvYnVmL2R1cmF0aW9uLnBy",
            "b3RvGh9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvIigKCUFkZEhl",
            "YWRlchIMCgROYW1lGAEgASgJEg0KBVZhbHVlGAIgASgJIjkKBUFkaG9jEgoK",
            "AklkGAEgASgFEhIKCmZpcnN0X25hbWUYAiABKAkSEAoITGFzdE5hbWUYAyAB",
            "KAkigAQKCUFsbEZpZWxkcxIKCgJJZBgBIAEoBRISCgpOdWxsYWJsZUlkGAIg",
            "ASgFEgwKBEJ5dGUYAyABKA0SDQoFU2hvcnQYBCABKAUSCwoDSW50GAUgASgF",
            "EgwKBExvbmcYBiABKAMSDgoGVVNob3J0GAcgASgNEgwKBFVJbnQYCCABKA0S",
            "DQoFVUxvbmcYCSABKAQSDQoFRmxvYXQYCiABKAISDgoGRG91YmxlGAsgASgB",
            "Eg8KB0RlY2ltYWwYDCABKAkSDgoGU3RyaW5nGA0gASgJEiwKCERhdGVUaW1l",
            "GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIrCghUaW1lU3Bh",
            "bhgPIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIMCgRHdWlkGBAg",
            "ASgJEjQKEE51bGxhYmxlRGF0ZVRpbWUYESABKAsyGi5nb29nbGUucHJvdG9i",
            "dWYuVGltZXN0YW1wEjMKEE51bGxhYmxlVGltZVNwYW4YEiABKAsyGS5nb29n",
            "bGUucHJvdG9idWYuRHVyYXRpb24SFAoMTnVsbGFibGVHdWlkGBMgASgJEh0K",
            "BEVudW0YFCABKA4yDy5IdHRwU3RhdHVzQ29kZRIlCgxOdWxsYWJsZUVudW0Y",
            "FSABKA4yDy5IdHRwU3RhdHVzQ29kZSIYCghBbnlIZWxsbxIMCgROYW1lGAEg",
            "ASgJIpYBCgtBc3NpZ25Sb2xlcxIQCghVc2VyTmFtZRgBIAEoCRITCgtQZXJt",
            "aXNzaW9ucxgCIAMoCRINCgVSb2xlcxgDIAMoCRIkCgRNZXRhGAQgAygLMhYu",
            "QXNzaWduUm9sZXMuTWV0YUVudHJ5GisKCU1ldGFFbnRyeRILCgNrZXkYASAB",
            "KAkSDQoFdmFsdWUYAiABKAk6AjgBIsMBChNBc3NpZ25Sb2xlc1Jlc3BvbnNl",
            "EhAKCEFsbFJvbGVzGAEgAygJEhYKDkFsbFBlcm1pc3Npb25zGAIgAygJEiwK",
            "BE1ldGEYAyADKAsyHi5Bc3NpZ25Sb2xlc1Jlc3BvbnNlLk1ldGFFbnRyeRIn",
            "Cg5SZXNwb25zZVN0YXR1cxgEIAEoCzIPLlJlc3BvbnNlU3RhdHVzGisKCU1l",
            "dGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIrwCCglB",
            "dWRpdEJhc2USLwoLQ3JlYXRlZERhdGUYASABKAsyGi5nb29nbGUucHJvdG9i",
            "dWYuVGltZXN0YW1wEhEKCUNyZWF0ZWRCeRgCIAEoCRIwCgxNb2RpZmllZERh",
            "dGUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCk1vZGlm",
            "aWVkQnkYBCABKAkSLwoLRGVsZXRlZERhdGUYBSABKAsyGi5nb29nbGUucHJv",
            "dG9idWYuVGltZXN0YW1wEhEKCURlbGV0ZWRCeRgGIAEoCRIeCgdCb29raW5n",
            "GIuk1x4gASgLMgguQm9va2luZ0gAEjYKE1JvY2tzdGFyQXVkaXRUZW5hbnQY",
            "goWkeCABKAsyFC5Sb2Nrc3RhckF1ZGl0VGVuYW50SABCCQoHc3VidHlwZSKC",
            "AgoMQXV0aGVudGljYXRlEhAKCHByb3ZpZGVyGAEgASgJEhAKCFVzZXJOYW1l",
            "GAIgASgJEhAKCFBhc3N3b3JkGAMgASgJEhIKClJlbWVtYmVyTWUYBCABKAgS",
            "EwoLQWNjZXNzVG9rZW4YBSABKAkSGQoRQWNjZXNzVG9rZW5TZWNyZXQYBiAB",
            "KAkSEQoJUmV0dXJuVXJsGAcgASgJEhEKCUVycm9yVmlldxgIIAEoCRIlCgRN",
            "ZXRhGAkgAygLMhcuQXV0aGVudGljYXRlLk1ldGFFbnRyeRorCglNZXRhRW50",
            "cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKrAwoUQXV0aGVu",
            "dGljYXRlUmVzcG9uc2USDgoGVXNlcklkGAEgASgJEhEKCVNlc3Npb25JZBgC",
            "IAEoCRIQCghVc2VyTmFtZRgDIAEoCRITCgtEaXNwbGF5TmFtZRgEIAEoCRIT",
            "CgtSZWZlcnJlclVybBgFIAEoCRITCgtCZWFyZXJUb2tlbhgGIAEoCRIUCgxS",
            "ZWZyZXNoVG9rZW4YByABKAkSNgoSUmVmcmVzaFRva2VuRXhwaXJ5GAggASgL",
            "MhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBISCgpQcm9maWxlVXJsGAkg",
            "ASgJEg0KBVJvbGVzGAogAygJEhMKC1Blcm1pc3Npb25zGAsgAygJEhQKDEF1",
            "dGhQcm92aWRlchgMIAEoCRInCg5SZXNwb25zZVN0YXR1cxgNIAEoCzIPLlJl",
            "c3BvbnNlU3RhdHVzEi0KBE1ldGEYDiADKAsyHy5BdXRoZW50aWNhdGVSZXNw",
            "b25zZS5NZXRhRW50cnkaKwoJTWV0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2",
            "YWx1ZRgCIAEoCToCOAEiEAoDQmFyEgkKAVkYAiABKAki4AEKB0Jvb2tpbmcS",
            "CgoCSWQYASABKAUSGwoIUm9vbVR5cGUYAiABKA4yCS5Sb29tVHlwZRISCgpS",
            "b29tTnVtYmVyGAMgASgFEjQKEEJvb2tpbmdTdGFydERhdGUYBCABKAsyGi5n",
            "b29nbGUucHJvdG9idWYuVGltZXN0YW1wEjIKDkJvb2tpbmdFbmREYXRlGAUg",
            "ASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBINCgVOb3RlcxgGIAEo",
            "CRIRCglDYW5jZWxsZWQYByABKAgSDAoEQ29zdBgIIAEoCSJJCghCb29rbWFy",
            "axIMCgRTbHVnGAEgASgJEg0KBVRpdGxlGAIgASgJEhMKC0Rlc2NyaXB0aW9u",
            "GAMgASgJEgsKA1VybBgEIAEoCSJTCghDaGFuZ2VEYhIXCg9OYW1lZENvbm5l",
            "Y3Rpb24YASABKAkSGAoQQ29ubmVjdGlvblN0cmluZxgCIAEoCRIUCgxQcm92",
            "aWRlck5hbWUYAyABKAkiLgoQQ2hhbmdlRGJSZXNwb25zZRIaCgdSZXN1bHRz",
            "GAEgAygLMgkuUm9ja3N0YXIimwEKC0NoYXRNZXNzYWdlEgoKAklkGAEgASgD",
            "Eg8KB0NoYW5uZWwYAiABKAkSEgoKRnJvbVVzZXJJZBgDIAEoCRIQCghGcm9t",
            "TmFtZRgEIAEoCRITCgtEaXNwbGF5TmFtZRgFIAEoCRIPCgdNZXNzYWdlGAYg",
            "ASgJEhIKClVzZXJBdXRoSWQYByABKAkSDwoHUHJpdmF0ZRgIIAEoCCKNAQoV",
            "Q29udmVydFNlc3Npb25Ub1Rva2VuEhcKD1ByZXNlcnZlU2Vzc2lvbhgBIAEo",
            "CBIuCgRNZXRhGAIgAygLMiAuQ29udmVydFNlc3Npb25Ub1Rva2VuLk1ldGFF",
            "bnRyeRorCglNZXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJ",
            "OgI4ASLYAQodQ29udmVydFNlc3Npb25Ub1Rva2VuUmVzcG9uc2USNgoETWV0",
            "YRgBIAMoCzIoLkNvbnZlcnRTZXNzaW9uVG9Ub2tlblJlc3BvbnNlLk1ldGFF",
            "bnRyeRITCgtBY2Nlc3NUb2tlbhgCIAEoCRIUCgxSZWZyZXNoVG9rZW4YAyAB",
            "KAkSJwoOUmVzcG9uc2VTdGF0dXMYBCABKAsyDy5SZXNwb25zZVN0YXR1cxor",
            "CglNZXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASL2",
            "AQpDQ3JlYXRlQXVkaXRCYXNlX1JvY2tzdGFyQXVkaXRUZW5hbnRfUm9ja3N0",
            "YXJXaXRoSWRBbmRSZXN1bHRSZXNwb25zZRKjAQpJQ3JlYXRlQXVkaXRUZW5h",
            "bnRCYXNlX1JvY2tzdGFyQXVkaXRUZW5hbnRfUm9ja3N0YXJXaXRoSWRBbmRS",
            "ZXN1bHRSZXNwb25zZRjd0tuOASABKAsySi5DcmVhdGVBdWRpdFRlbmFudEJh",
            "c2VfUm9ja3N0YXJBdWRpdFRlbmFudF9Sb2Nrc3RhcldpdGhJZEFuZFJlc3Vs",
            "dFJlc3BvbnNlSABCCQoHc3VidHlwZSJLCklDcmVhdGVBdWRpdFRlbmFudEJh",
            "c2VfUm9ja3N0YXJBdWRpdFRlbmFudF9Sb2Nrc3RhcldpdGhJZEFuZFJlc3Vs",
            "dFJlc3BvbnNlIscBCg1DcmVhdGVCb29raW5nEhsKCFJvb21UeXBlGAEgASgO",
            "MgkuUm9vbVR5cGUSEgoKUm9vbU51bWJlchgCIAEoBRI0ChBCb29raW5nU3Rh",
            "cnREYXRlGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIyCg5C",
            "b29raW5nRW5kRGF0ZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3Rh",
            "bXASDQoFTm90ZXMYBSABKAkSDAoEQ29zdBgGIAEoCSJPCg5DcmVhdGVCb29r",
            "bWFyaxIMCgRTbHVnGAEgASgJEg0KBVRpdGxlGAIgASgJEhMKC0Rlc2NyaXB0",
            "aW9uGAMgASgJEgsKA1VybBgEIAEoCSJnChZDcmVhdGVCb29rbWFya1Jlc3Bv",
            "bnNlEgoKAklkGAEgASgJEhgKBlJlc3VsdBgCIAEoCzIILkRhb0Jhc2USJwoO",
            "UmVzcG9uc2VTdGF0dXMYAyABKAsyDy5SZXNwb25zZVN0YXR1cyLgAQocQ3Jl",
            "YXRlQ29ubmVjdGlvbkluZm9Sb2Nrc3RhchIRCglGaXJzdE5hbWUYASABKAkS",
            "EAoITGFzdE5hbWUYAiABKAkSCwoDQWdlGAMgASgFEi8KC0RhdGVPZkJpcnRo",
            "GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCghEYXRlRGll",
            "ZBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASIwoMTGl2aW5n",
            "U3RhdHVzGAYgASgOMg0uTGl2aW5nU3RhdHVzEgoKAklkGGUgASgFItcBChND",
            "cmVhdGVOYW1lZFJvY2tzdGFyEhEKCUZpcnN0TmFtZRgBIAEoCRIQCghMYXN0",
            "TmFtZRgCIAEoCRILCgNBZ2UYAyABKAUSLwoLRGF0ZU9mQmlydGgYBCABKAsy",
            "Gi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCERhdGVEaWVkGAUgASgL",
            "MhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIjCgxMaXZpbmdTdGF0dXMY",
            "BiABKA4yDS5MaXZpbmdTdGF0dXMSCgoCSWQYZSABKAUixgEKDkNyZWF0ZVJv",
            "Y2tzdGFyEhEKCUZpcnN0TmFtZRgBIAEoCRIQCghMYXN0TmFtZRgCIAEoCRIL",
            "CgNBZ2UYAyABKAUSLwoLRGF0ZU9mQmlydGgYBCABKAsyGi5nb29nbGUucHJv",
            "dG9idWYuVGltZXN0YW1wEiwKCERhdGVEaWVkGAUgASgLMhouZ29vZ2xlLnBy",
            "b3RvYnVmLlRpbWVzdGFtcBIjCgxMaXZpbmdTdGF0dXMYBiABKA4yDS5MaXZp",
            "bmdTdGF0dXMi1gEKHkNyZWF0ZVJvY2tzdGFyQWRob2NOb25EZWZhdWx0cxIR",
            "CglGaXJzdE5hbWUYASABKAkSEAoITGFzdE5hbWUYAiABKAkSCwoDQWdlGAMg",
            "ASgFEi8KC0RhdGVPZkJpcnRoGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRp",
            "bWVzdGFtcBIsCghEYXRlRGllZBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5U",
            "aW1lc3RhbXASIwoMTGl2aW5nU3RhdHVzGAYgASgOMg0uTGl2aW5nU3RhdHVz",
            "IssBChNDcmVhdGVSb2Nrc3RhckF1ZGl0EhEKCUZpcnN0TmFtZRgBIAEoCRIQ",
            "CghMYXN0TmFtZRgCIAEoCRILCgNBZ2UYAyABKAUSLwoLRGF0ZU9mQmlydGgY",
            "BCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCERhdGVEaWVk",
            "GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIjCgxMaXZpbmdT",
            "dGF0dXMYBiABKA4yDS5MaXZpbmdTdGF0dXMi5wEKGkNyZWF0ZVJvY2tzdGFy",
            "QXVkaXRNcVRva2VuEhEKCUZpcnN0TmFtZRgBIAEoCRIQCghMYXN0TmFtZRgC",
            "IAEoCRILCgNBZ2UYAyABKAUSLwoLRGF0ZU9mQmlydGgYBCABKAsyGi5nb29n",
            "bGUucHJvdG9idWYuVGltZXN0YW1wEiwKCERhdGVEaWVkGAUgASgLMhouZ29v",
            "Z2xlLnByb3RvYnVmLlRpbWVzdGFtcBIjCgxMaXZpbmdTdGF0dXMYBiABKA4y",
            "DS5MaXZpbmdTdGF0dXMSEwoLQmVhcmVyVG9rZW4YZSABKAki7QEKGUNyZWF0",
            "ZVJvY2tzdGFyQXVkaXRUZW5hbnQSFAoLQmVhcmVyVG9rZW4YyQEgASgJEhIK",
            "CUZpcnN0TmFtZRjKASABKAkSEQoITGFzdE5hbWUYywEgASgJEgwKA0FnZRjM",
            "ASABKAUSMAoLRGF0ZU9mQmlydGgYzQEgASgLMhouZ29vZ2xlLnByb3RvYnVm",
            "LlRpbWVzdGFtcBItCghEYXRlRGllZBjOASABKAsyGi5nb29nbGUucHJvdG9i",
            "dWYuVGltZXN0YW1wEiQKDExpdmluZ1N0YXR1cxjPASABKA4yDS5MaXZpbmdT",
            "dGF0dXMi2AEKIENyZWF0ZVJvY2tzdGFyQXVkaXRUZW5hbnRHYXRld2F5EhEK",
            "CUZpcnN0TmFtZRgBIAEoCRIQCghMYXN0TmFtZRgCIAEoCRILCgNBZ2UYAyAB",
            "KAUSLwoLRGF0ZU9mQmlydGgYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGlt",
            "ZXN0YW1wEiwKCERhdGVEaWVkGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRp",
            "bWVzdGFtcBIjCgxMaXZpbmdTdGF0dXMYBiABKA4yDS5MaXZpbmdTdGF0dXMi",
            "0wEKG0NyZWF0ZVJvY2tzdGFyQXVkaXRUZW5hbnRNcRIRCglGaXJzdE5hbWUY",
            "ASABKAkSEAoITGFzdE5hbWUYAiABKAkSCwoDQWdlGAMgASgFEi8KC0RhdGVP",
            "ZkJpcnRoGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCghE",
            "YXRlRGllZBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASIwoM",
            "TGl2aW5nU3RhdHVzGAYgASgOMg0uTGl2aW5nU3RhdHVzIt8BChVDcmVhdGVS",
            "b2Nrc3RhckF1dG9NYXASFAoMTWFwRmlyc3ROYW1lGAEgASgJEhMKC01hcExh",
            "c3ROYW1lGAIgASgJEg4KBk1hcEFnZRgDIAEoBRIyCg5NYXBEYXRlT2ZCaXJ0",
            "aBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLwoLTWFwRGF0",
            "ZURpZWQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiYKD01h",
            "cExpdmluZ1N0YXR1cxgGIAEoDjINLkxpdmluZ1N0YXR1cyJBChZDcmVhdGVS",
            "b2Nrc3RhclJlc3BvbnNlEicKDlJlc3BvbnNlU3RhdHVzGAEgASgLMg8uUmVz",
            "cG9uc2VTdGF0dXMizQEKFUNyZWF0ZVJvY2tzdGFyVmVyc2lvbhIRCglGaXJz",
            "dE5hbWUYASABKAkSEAoITGFzdE5hbWUYAiABKAkSCwoDQWdlGAMgASgFEi8K",
            "C0RhdGVPZkJpcnRoGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFt",
            "cBIsCghEYXRlRGllZBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3Rh",
            "bXASIwoMTGl2aW5nU3RhdHVzGAYgASgOMg0uTGl2aW5nU3RhdHVzItIBChpD",
            "cmVhdGVSb2Nrc3RhcldpdGhBdXRvR3VpZBIRCglGaXJzdE5hbWUYASABKAkS",
            "EAoITGFzdE5hbWUYAiABKAkSCwoDQWdlGAMgASgFEi8KC0RhdGVPZkJpcnRo",
            "GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCghEYXRlRGll",
            "ZBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASIwoMTGl2aW5n",
            "U3RhdHVzGAYgASgOMg0uTGl2aW5nU3RhdHVzItABChhDcmVhdGVSb2Nrc3Rh",
            "cldpdGhSZXR1cm4SEQoJRmlyc3ROYW1lGAEgASgJEhAKCExhc3ROYW1lGAIg",
            "ASgJEgsKA0FnZRgDIAEoBRIvCgtEYXRlT2ZCaXJ0aBgEIAEoCzIaLmdvb2ds",
            "ZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoIRGF0ZURpZWQYBSABKAsyGi5nb29n",
            "bGUucHJvdG9idWYuVGltZXN0YW1wEiMKDExpdmluZ1N0YXR1cxgGIAEoDjIN",
            "LkxpdmluZ1N0YXR1cyJ6CiRDcmVhdGVSb2Nrc3RhcldpdGhSZXR1cm5HdWlk",
            "UmVzcG9uc2USCgoCSWQYASABKAkSHQoGUmVzdWx0GAIgASgLMg0uUm9ja3N0",
            "YXJCYXNlEicKDlJlc3BvbnNlU3RhdHVzGAMgASgLMg8uUmVzcG9uc2VTdGF0",
            "dXMi1AEKHENyZWF0ZVJvY2tzdGFyV2l0aFZvaWRSZXR1cm4SEQoJRmlyc3RO",
            "YW1lGAEgASgJEhAKCExhc3ROYW1lGAIgASgJEgsKA0FnZRgDIAEoBRIvCgtE",
            "YXRlT2ZCaXJ0aBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAS",
            "LAoIRGF0ZURpZWQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1w",
            "EiMKDExpdmluZ1N0YXR1cxgGIAEoDjINLkxpdmluZ1N0YXR1cyIqCgpDcmVh",
            "dGVUb2RvEg0KBVRpdGxlGAEgASgJEg0KBU9yZGVyGAIgASgFIlQKEkNyZWF0",
            "ZVRvZG9SZXNwb25zZRIVCgZSZXN1bHQYASABKAsyBS5Ub2RvEicKDlJlc3Bv",
            "bnNlU3RhdHVzGAIgASgLMg8uUmVzcG9uc2VTdGF0dXMieAoOQ3VzdG9tUm9j",
            "a3N0YXISEQoJRmlyc3ROYW1lGAEgASgJEhAKCExhc3ROYW1lGAIgASgJEgsK",
            "A0FnZRgDIAEoBRIZChFSb2Nrc3RhckFsYnVtTmFtZRgEIAEoCRIZChFSb2Nr",
            "c3RhckdlbnJlTmFtZRgFIAEoCSJ+ChRDdXN0b21Sb2Nrc3RhclNjaGVtYRIR",
            "CglGaXJzdE5hbWUYASABKAkSEAoITGFzdE5hbWUYAiABKAkSCwoDQWdlGAMg",
            "ASgFEhkKEVJvY2tzdGFyQWxidW1OYW1lGAQgASgJEhkKEVJvY2tzdGFyR2Vu",
            "cmVOYW1lGAUgASgJIlQKFEN1c3RvbVNlbGVjdFJvY2tzdGFyEgoKAklkGAEg",
            "ASgFEhEKCUZpcnN0TmFtZRgCIAEoCRIQCghMYXN0TmFtZRgDIAEoCRILCgNB",
            "Z2UYBCABKAUiSgocQ3VzdG9tU2VsZWN0Um9ja3N0YXJSZXNwb25zZRIKCgJJ",
            "ZBgBIAEoBRIRCglGaXJzdE5hbWUYAiABKAkSCwoDQWdlGAMgASgFItIBChZD",
            "dXN0b21WYWxpZGF0aW9uRXJyb3JzEhcKD0N1c3RvbUVycm9yQ29kZRgBIAEo",
            "CRIhChlDdXN0b21FcnJvckNvZGVBbmRNZXNzYWdlGAIgASgFEhUKDUVycm9y",
            "Q29kZVJ1bGUYAyABKAkSFgoOSXNPZGRDb25kaXRpb24YBCABKAUSJgoeSXNP",
            "ZGRBbmRPdmVyVHdvRGlnaXRzQ29uZGl0aW9uGAUgASgFEiUKHUlzT2RkT3JP",
            "dmVyVHdvRGlnaXRzQ29uZGl0aW9uGAYgASgFIswBCgdEYW9CYXNlEgoKAklk",
            "GAEgASgJEi4KCkNyZWF0ZURhdGUYAiABKAsyGi5nb29nbGUucHJvdG9idWYu",
            "VGltZXN0YW1wEhEKCUNyZWF0ZWRCeRgDIAEoCRIwCgxNb2RpZmllZERhdGUY",
            "BCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCk1vZGlmaWVk",
            "QnkYBSABKAkSIQoIQm9va21hcmsY4/XF0QEgASgLMgkuQm9va21hcmtIAEIJ",
            "CgdzdWJ0eXBlIhsKDURlbGV0ZUJvb2tpbmcSCgoCSWQYASABKAUiHAoORGVs",
            "ZXRlUm9ja3N0YXISCgoCSWQYASABKAUiIQoTRGVsZXRlUm9ja3N0YXJBdWRp",
            "dBIKCgJJZBgBIAEoBSJVChtEZWxldGVSb2Nrc3RhckNvdW50UmVzcG9uc2US",
            "DQoFQ291bnQYASABKAUSJwoOUmVzcG9uc2VTdGF0dXMYAiABKAsyDy5SZXNw",
            "b25zZVN0YXR1cyJJChVEZWxldGVSb2Nrc3RhckZpbHRlcnMSEQoJRmlyc3RO",
            "YW1lGAEgASgJEhAKCExhc3ROYW1lGAIgASgJEgsKA0FnZRgDIAEoBSIYCgpE",
            "ZWxldGVUb2RvEgoKAklkGAEgASgDIh4KC0RlbGV0ZVRvZG9zEg8KA0lkcxgB",
            "IAMoA0ICEAAibAoORHluYW1pY1JlcXVlc3QSKwoGUGFyYW1zGAEgAygLMhsu",
            "RHluYW1pY1JlcXVlc3QuUGFyYW1zRW50cnkaLQoLUGFyYW1zRW50cnkSCwoD",
            "a2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKgAQoWRHluYW1pY1ZhbGlk",
            "YXRpb25SdWxlcxIRCglGaXJzdE5hbWUYASABKAkSEAoITGFzdE5hbWUYAiAB",
            "KAkSCwoDQWdlGAMgASgFEi8KC0RhdGVPZkJpcnRoGAQgASgLMhouZ29vZ2xl",
            "LnByb3RvYnVmLlRpbWVzdGFtcBIjCgxMaXZpbmdTdGF0dXMYBSABKA4yDS5M",
            "aXZpbmdTdGF0dXMiOAoNRW1wdHlSZXNwb25zZRInCg5SZXNwb25zZVN0YXR1",
            "cxgBIAEoCzIPLlJlc3BvbnNlU3RhdHVzIsEBCg9FbXB0eVZhbGlkYXRvcnMS",
            "CwoDSW50GAEgASgFEgwKBE5JbnQYAiABKAUSKwoIVGltZVNwYW4YAyABKAsy",
            "GS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SLAoJTlRpbWVTcGFuGAQgASgL",
            "MhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEg4KBlN0cmluZxgFIAEoCRIU",
            "CghJbnRBcnJheRgGIAMoBUICEAASEgoKU3RyaW5nTGlzdBgHIAMoCSInChVF",
            "bmRzV2l0aFN1ZmZpeFJlcXVlc3QSDgoGU3VmZml4GAEgASgJIlUKFkVuZHNX",
            "aXRoU3VmZml4UmVzcG9uc2USHQoGUmVzdWx0GAEgASgLMg0uU2VhcmNoUmVz",
            "dWx0Eg0KBUNvdW50GAIgASgFEg0KBVdvcmRzGAMgAygJInAKC0ZpbGVDb250",
            "ZW50EgwKBE5hbWUYASABKAkSDAoEVHlwZRgCIAEoCRIOCgZMZW5ndGgYAyAB",
            "KAUSDAoEQm9keRgEIAEoDBInCg5SZXNwb25zZVN0YXR1cxgFIAEoCzIPLlJl",
            "c3BvbnNlU3RhdHVzIjMKA0ZvbxIJCgFYGAEgASgJEhYKA0JhchjW/6NkIAEo",
            "CzIELkJhckgAQgkKB3N1YnR5cGUifAoOR2V0QWNjZXNzVG9rZW4SFAoMUmVm",
            "cmVzaFRva2VuGAEgASgJEicKBE1ldGEYAiADKAsyGS5HZXRBY2Nlc3NUb2tl",
            "bi5NZXRhRW50cnkaKwoJTWV0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1",
            "ZRgCIAEoCToCOAEitAEKFkdldEFjY2Vzc1Rva2VuUmVzcG9uc2USEwoLQWNj",
            "ZXNzVG9rZW4YASABKAkSLwoETWV0YRgCIAMoCzIhLkdldEFjY2Vzc1Rva2Vu",
            "UmVzcG9uc2UuTWV0YUVudHJ5EicKDlJlc3BvbnNlU3RhdHVzGAMgASgLMg8u",
            "UmVzcG9uc2VTdGF0dXMaKwoJTWV0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2",
            "YWx1ZRgCIAEoCToCOAEicwoKR2V0QXBpS2V5cxITCgtFbnZpcm9ubWVudBgB",
            "IAEoCRIjCgRNZXRhGAIgAygLMhUuR2V0QXBpS2V5cy5NZXRhRW50cnkaKwoJ",
            "TWV0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEitQEK",
            "EkdldEFwaUtleXNSZXNwb25zZRIcCgdSZXN1bHRzGAEgAygLMgsuVXNlckFw",
            "aUtleRIrCgRNZXRhGAIgAygLMh0uR2V0QXBpS2V5c1Jlc3BvbnNlLk1ldGFF",
            "bnRyeRInCg5SZXNwb25zZVN0YXR1cxgDIAEoCzIPLlJlc3BvbnNlU3RhdHVz",
            "GisKCU1ldGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgB",
            "IhcKB0dldEZpbGUSDAoEUGF0aBgBIAEoCSIYCghHZXRIZWxsbxIMCgROYW1l",
            "GAEgASgJIhUKB0dldFRvZG8SCgoCSWQYASABKAMiUQoPR2V0VG9kb1Jlc3Bv",
            "bnNlEhUKBlJlc3VsdBgBIAEoCzIFLlRvZG8SJwoOUmVzcG9uc2VTdGF0dXMY",
            "AiABKAsyDy5SZXNwb25zZVN0YXR1cyIKCghHZXRUb2RvcyJTChBHZXRUb2Rv",
            "c1Jlc3BvbnNlEhYKB1Jlc3VsdHMYASADKAsyBS5Ub2RvEicKDlJlc3BvbnNl",
            "U3RhdHVzGAIgASgLMg8uUmVzcG9uc2VTdGF0dXMiLQoISGVsbG9Kd3QSDAoE",
            "TmFtZRgBIAEoCRITCgtCZWFyZXJUb2tlbhgCIAEoCSJLChBIZWxsb0p3dFJl",
            "c3BvbnNlEg4KBlJlc3VsdBgBIAEoCRInCg5SZXNwb25zZVN0YXR1cxgCIAEo",
            "CzIPLlJlc3BvbnNlU3RhdHVzIkgKDUhlbGxvUmVzcG9uc2USDgoGUmVzdWx0",
            "GAEgASgJEicKDlJlc3BvbnNlU3RhdHVzGAIgASgLMg8uUmVzcG9uc2VTdGF0",
            "dXMiQQoKSWRSZXNwb25zZRIKCgJJZBgBIAEoCRInCg5SZXNwb25zZVN0YXR1",
            "cxgCIAEoCzIPLlJlc3BvbnNlU3RhdHVzIhYKBEluY3ISDgoGQW1vdW50GAEg",
            "ASgFIrUBCgVNb3ZpZRIKCgJJZBgBIAEoBRIOCgZJbWRiSWQYAiABKAkSDQoF",
            "VGl0bGUYAyABKAkSDgoGUmF0aW5nGAQgASgJEg0KBVNjb3JlGAUgASgJEhAK",
            "CERpcmVjdG9yGAYgASgJEi8KC1JlbGVhc2VEYXRlGAcgASgLMhouZ29vZ2xl",
            "LnByb3RvYnVmLlRpbWVzdGFtcBIPCgdUYWdMaW5lGAggASgJEg4KBkdlbnJl",
            "cxgJIAMoCSIgCghNdWx0aXBseRIJCgFYGAEgASgFEgkKAVkYAiABKAUiIgoQ",
            "TXVsdGlwbHlSZXNwb25zZRIOCgZSZXN1bHQYASABKAUiDwoNTmFtZWRSb2Nr",
            "c3RhciKdAQoTTm9BYnN0cmFjdFZhbGlkYXRvchIRCglGaXJzdE5hbWUYASAB",
            "KAkSEAoITGFzdE5hbWUYAiABKAkSCwoDQWdlGAMgASgFEi8KC0RhdGVPZkJp",
            "cnRoGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIjCgxMaXZp",
            "bmdTdGF0dXMYBSABKA4yDS5MaXZpbmdTdGF0dXMiNQoUT25seVZhbGlkYXRl",
            "c1JlcXVlc3QSDAoEVGVzdBgBIAEoBRIPCgdOb3ROdWxsGAIgASgJIjUKClBh",
            "Z2luZ1Rlc3QSCgoCSWQYASABKAUSDAoETmFtZRgCIAEoCRINCgVWYWx1ZRgD",
            "IAEoBSLzAQpCUGF0Y2hBdWRpdEJhc2VfUm9ja3N0YXJBdWRpdFRlbmFudF9S",
            "b2Nrc3RhcldpdGhJZEFuZFJlc3VsdFJlc3BvbnNlEqEBCkhQYXRjaEF1ZGl0",
            "VGVuYW50QmFzZV9Sb2Nrc3RhckF1ZGl0VGVuYW50X1JvY2tzdGFyV2l0aElk",
            "QW5kUmVzdWx0UmVzcG9uc2UY0YCepQEgASgLMkkuUGF0Y2hBdWRpdFRlbmFu",
            "dEJhc2VfUm9ja3N0YXJBdWRpdFRlbmFudF9Sb2Nrc3RhcldpdGhJZEFuZFJl",
            "c3VsdFJlc3BvbnNlSABCCQoHc3VidHlwZSJKCkhQYXRjaEF1ZGl0VGVuYW50",
            "QmFzZV9Sb2Nrc3RhckF1ZGl0VGVuYW50X1JvY2tzdGFyV2l0aElkQW5kUmVz",
            "dWx0UmVzcG9uc2Ui0QEKDVBhdGNoUm9ja3N0YXISCgoCSWQYASABKAUSEQoJ",
            "Rmlyc3ROYW1lGAIgASgJEhAKCExhc3ROYW1lGAMgASgJEgsKA0FnZRgEIAEo",
            "BRIvCgtEYXRlT2ZCaXJ0aBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1l",
            "c3RhbXASLAoIRGF0ZURpZWQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGlt",
            "ZXN0YW1wEiMKDExpdmluZ1N0YXR1cxgHIAEoDjINLkxpdmluZ1N0YXR1cyJ3",
            "ChhQYXRjaFJvY2tzdGFyQXVkaXRUZW5hbnQSFAoLQmVhcmVyVG9rZW4YyQEg",
            "ASgJEgsKAklkGMoBIAEoBRISCglGaXJzdE5hbWUYywEgASgJEiQKDExpdmlu",
            "Z1N0YXR1cxjMASABKA4yDS5MaXZpbmdTdGF0dXMiZQofUGF0Y2hSb2Nrc3Rh",
            "ckF1ZGl0VGVuYW50R2F0ZXdheRIKCgJJZBgBIAEoBRIRCglGaXJzdE5hbWUY",
            "AiABKAkSIwoMTGl2aW5nU3RhdHVzGAMgASgOMg0uTGl2aW5nU3RhdHVzImAK",
            "GlBhdGNoUm9ja3N0YXJBdWRpdFRlbmFudE1xEgoKAklkGAEgASgFEhEKCUZp",
            "cnN0TmFtZRgCIAEoCRIjCgxMaXZpbmdTdGF0dXMYAyABKA4yDS5MaXZpbmdT",
            "dGF0dXMiZwoRUG9zdENoYXRUb0NoYW5uZWwSDAoERnJvbRgBIAEoCRIQCghU",
            "b1VzZXJJZBgCIAEoCRIPCgdDaGFubmVsGAMgASgJEg8KB01lc3NhZ2UYBCAB",
            "KAkSEAoIU2VsZWN0b3IYBSABKAkiwQEKClF1ZXJ5QWRob2MSDAoEU2tpcBgB",
            "IAEoBRIMCgRUYWtlGAIgASgFEg8KB09yZGVyQnkYAyABKAkSEwoLT3JkZXJC",
            "eURlc2MYBCABKAkSDwoHSW5jbHVkZRgFIAEoCRIOCgZGaWVsZHMYBiABKAkS",
            "IwoETWV0YRgHIAMoCzIVLlF1ZXJ5QWRob2MuTWV0YUVudHJ5GisKCU1ldGFF",
            "bnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIugBChNRdWVy",
            "eUFkaG9jUm9ja3N0YXJzEgwKBFNraXAYASABKAUSDAoEVGFrZRgCIAEoBRIP",
            "CgdPcmRlckJ5GAMgASgJEhMKC09yZGVyQnlEZXNjGAQgASgJEg8KB0luY2x1",
            "ZGUYBSABKAkSDgoGRmllbGRzGAYgASgJEiwKBE1ldGEYByADKAsyHi5RdWVy",
            "eUFkaG9jUm9ja3N0YXJzLk1ldGFFbnRyeRITCgpmaXJzdF9uYW1lGMkBIAEo",
            "CRorCglNZXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4",
            "ASLYAQoOUXVlcnlBbGxGaWVsZHMSDAoEU2tpcBgBIAEoBRIMCgRUYWtlGAIg",
            "ASgFEg8KB09yZGVyQnkYAyABKAkSEwoLT3JkZXJCeURlc2MYBCABKAkSDwoH",
            "SW5jbHVkZRgFIAEoCRIOCgZGaWVsZHMYBiABKAkSJwoETWV0YRgHIAMoCzIZ",
            "LlF1ZXJ5QWxsRmllbGRzLk1ldGFFbnRyeRINCgRHdWlkGMkBIAEoCRorCglN",
            "ZXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKzCgoJ",
            "UXVlcnlCYXNlEgwKBFNraXAYASABKAUSDAoEVGFrZRgCIAEoBRIPCgdPcmRl",
            "ckJ5GAMgASgJEhMKC09yZGVyQnlEZXNjGAQgASgJEg8KB0luY2x1ZGUYBSAB",
            "KAkSDgoGRmllbGRzGAYgASgJEiIKBE1ldGEYByADKAsyFC5RdWVyeUJhc2Uu",
            "TWV0YUVudHJ5Ek0KH1F1ZXJ5RGJfUm9ja3N0YXJfQ3VzdG9tUm9ja3N0YXIY",
            "/LBhIAEoCzIgLlF1ZXJ5RGJfUm9ja3N0YXJfQ3VzdG9tUm9ja3N0YXJIABIu",
            "Cg9RdWVyeURiX0Jvb2tpbmcY89GYICABKAsyEC5RdWVyeURiX0Jvb2tpbmdI",
            "ABJMCh5RdWVyeURiX1JvY2tzdGFyX1JvY2tzdGFyQWxpYXMYjITJLSABKAsy",
            "Hy5RdWVyeURiX1JvY2tzdGFyX1JvY2tzdGFyQWxpYXNIABI0ChJRdWVyeURi",
            "X1BhZ2luZ1Rlc3QY9PbINCABKAsyEy5RdWVyeURiX1BhZ2luZ1Rlc3RIABJI",
            "ChxRdWVyeURiX0N1c3RvbVNlbGVjdFJvY2tzdGFyGO3ChTggASgLMh0uUXVl",
            "cnlEYl9DdXN0b21TZWxlY3RSb2Nrc3RhckgAEioKDVF1ZXJ5RGJfTW92aWUY",
            "k/K9PyABKAsyDi5RdWVyeURiX01vdmllSAASQgoZUXVlcnlEYl9Sb2Nrc3Rh",
            "clJlZmVyZW5jZRiqk9hCIAEoCzIaLlF1ZXJ5RGJfUm9ja3N0YXJSZWZlcmVu",
            "Y2VIABIwChBRdWVyeURiX0Jvb2ttYXJrGJ3++0UgASgLMhEuUXVlcnlEYl9C",
            "b29rbWFya0gAEioKDVF1ZXJ5RGJfQWRob2MYiLu4XCABKAsyDi5RdWVyeURi",
            "X0FkaG9jSAASJgoLUXVlcnlEYl9Gb28YoJeiciABKAsyDC5RdWVyeURiX0Zv",
            "b0gAEjkKFFF1ZXJ5RGJfVHlwZVdpdGhFbnVtGO7An7oBIAEoCzIVLlF1ZXJ5",
            "RGJfVHlwZVdpdGhFbnVtSAASOwoVUXVlcnlEYl9Sb2Nrc3RhckFsYnVtGI29",
            "iMQBIAEoCzIWLlF1ZXJ5RGJfUm9ja3N0YXJBbGJ1bUgAEoMBCjlRdWVyeURi",
            "X0N1c3RvbVNlbGVjdFJvY2tzdGFyX0N1c3RvbVNlbGVjdFJvY2tzdGFyUmVz",
            "cG9uc2UY9+W+zAEgASgLMjouUXVlcnlEYl9DdXN0b21TZWxlY3RSb2Nrc3Rh",
            "cl9DdXN0b21TZWxlY3RSb2Nrc3RhclJlc3BvbnNlSAASMQoQUXVlcnlEYl9S",
            "b2Nrc3RhchjJ+MHVASABKAsyES5RdWVyeURiX1JvY2tzdGFySAASYQooUXVl",
            "cnlEYl9Sb2Nrc3RhckF1ZGl0VGVuYW50X1JvY2tzdGFyQXV0bxiUyczWASAB",
            "KAsyKS5RdWVyeURiX1JvY2tzdGFyQXVkaXRUZW5hbnRfUm9ja3N0YXJBdXRv",
            "SAASMwoRUXVlcnlEYl9BbGxGaWVsZHMY5POA4gEgASgLMhIuUXVlcnlEYl9B",
            "bGxGaWVsZHNIABJbCiVRdWVyeURiX1JvY2tzdGFyX0N1c3RvbVJvY2tzdGFy",
            "U2NoZW1hGJOFvOYBIAEoCzImLlF1ZXJ5RGJfUm9ja3N0YXJfQ3VzdG9tUm9j",
            "a3N0YXJTY2hlbWFIABorCglNZXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZh",
            "bHVlGAIgASgJOgI4AUIJCgdzdWJ0eXBlItkBCg1RdWVyeUJvb2tpbmdzEgwK",
            "BFNraXAYASABKAUSDAoEVGFrZRgCIAEoBRIPCgdPcmRlckJ5GAMgASgJEhMK",
            "C09yZGVyQnlEZXNjGAQgASgJEg8KB0luY2x1ZGUYBSABKAkSDgoGRmllbGRz",
            "GAYgASgJEiYKBE1ldGEYByADKAsyGC5RdWVyeUJvb2tpbmdzLk1ldGFFbnRy",
            "eRIQCgNJZHMYyQEgAygFQgIQABorCglNZXRhRW50cnkSCwoDa2V5GAEgASgJ",
            "Eg0KBXZhbHVlGAIgASgJOgI4ASLJAQoOUXVlcnlCb29rbWFya3MSDAoEU2tp",
            "cBgBIAEoBRIMCgRUYWtlGAIgASgFEg8KB09yZGVyQnkYAyABKAkSEwoLT3Jk",
            "ZXJCeURlc2MYBCABKAkSDwoHSW5jbHVkZRgFIAEoCRIOCgZGaWVsZHMYBiAB",
            "KAkSJwoETWV0YRgHIAMoCzIZLlF1ZXJ5Qm9va21hcmtzLk1ldGFFbnRyeRor",
            "CglNZXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLx",
            "AQobUXVlcnlDYXNlSW5zZW5zaXRpdmVPcmRlckJ5EgwKBFNraXAYASABKAUS",
            "DAoEVGFrZRgCIAEoBRIPCgdPcmRlckJ5GAMgASgJEhMKC09yZGVyQnlEZXNj",
            "GAQgASgJEg8KB0luY2x1ZGUYBSABKAkSDgoGRmllbGRzGAYgASgJEjQKBE1l",
            "dGEYByADKAsyJi5RdWVyeUNhc2VJbnNlbnNpdGl2ZU9yZGVyQnkuTWV0YUVu",
            "dHJ5EgwKA0FnZRjJASABKAUaKwoJTWV0YUVudHJ5EgsKA2tleRgBIAEoCRIN",
            "CgV2YWx1ZRgCIAEoCToCOAEikwIKDVF1ZXJ5Q2hhbmdlRGISDAoEU2tpcBgB",
            "IAEoBRIMCgRUYWtlGAIgASgFEg8KB09yZGVyQnkYAyABKAkSEwoLT3JkZXJC",
            "eURlc2MYBCABKAkSDwoHSW5jbHVkZRgFIAEoCRIOCgZGaWVsZHMYBiABKAkS",
            "JgoETWV0YRgHIAMoCzIYLlF1ZXJ5Q2hhbmdlRGIuTWV0YUVudHJ5EhgKD05h",
            "bWVkQ29ubmVjdGlvbhjJASABKAkSGQoQQ29ubmVjdGlvblN0cmluZxjKASAB",
            "KAkSFQoMUHJvdmlkZXJOYW1lGMsBIAEoCRorCglNZXRhRW50cnkSCwoDa2V5",
            "GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLjAQoUUXVlcnlDdXN0b21Sb2Nr",
            "c3RhcnMSDAoEU2tpcBgBIAEoBRIMCgRUYWtlGAIgASgFEg8KB09yZGVyQnkY",
            "AyABKAkSEwoLT3JkZXJCeURlc2MYBCABKAkSDwoHSW5jbHVkZRgFIAEoCRIO",
            "CgZGaWVsZHMYBiABKAkSLQoETWV0YRgHIAMoCzIfLlF1ZXJ5Q3VzdG9tUm9j",
            "a3N0YXJzLk1ldGFFbnRyeRIMCgNBZ2UYyQEgASgFGisKCU1ldGFFbnRyeRIL",
            "CgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIu8BChpRdWVyeUN1c3Rv",
            "bVJvY2tzdGFyc0ZpbHRlchIMCgRTa2lwGAEgASgFEgwKBFRha2UYAiABKAUS",
            "DwoHT3JkZXJCeRgDIAEoCRITCgtPcmRlckJ5RGVzYxgEIAEoCRIPCgdJbmNs",
            "dWRlGAUgASgJEg4KBkZpZWxkcxgGIAEoCRIzCgRNZXRhGAcgAygLMiUuUXVl",
            "cnlDdXN0b21Sb2Nrc3RhcnNGaWx0ZXIuTWV0YUVudHJ5EgwKA0FnZRjJASAB",
            "KAUaKwoJTWV0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToC",
            "OAEi9wEKHlF1ZXJ5Q3VzdG9tUm9ja3N0YXJzUmVmZXJlbmNlcxIMCgRTa2lw",
            "GAEgASgFEgwKBFRha2UYAiABKAUSDwoHT3JkZXJCeRgDIAEoCRITCgtPcmRl",
            "ckJ5RGVzYxgEIAEoCRIPCgdJbmNsdWRlGAUgASgJEg4KBkZpZWxkcxgGIAEo",
            "CRI3CgRNZXRhGAcgAygLMikuUXVlcnlDdXN0b21Sb2Nrc3RhcnNSZWZlcmVu",
            "Y2VzLk1ldGFFbnRyeRIMCgNBZ2UYyQEgASgFGisKCU1ldGFFbnRyeRILCgNr",
            "ZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIu8BChpRdWVyeUN1c3RvbVJv",
            "Y2tzdGFyc1NjaGVtYRIMCgRTa2lwGAEgASgFEgwKBFRha2UYAiABKAUSDwoH",
            "T3JkZXJCeRgDIAEoCRITCgtPcmRlckJ5RGVzYxgEIAEoCRIPCgdJbmNsdWRl",
            "GAUgASgJEg4KBkZpZWxkcxgGIAEoCRIzCgRNZXRhGAcgAygLMiUuUXVlcnlD",
            "dXN0b21Sb2Nrc3RhcnNTY2hlbWEuTWV0YUVudHJ5EgwKA0FnZRjJASABKAUa",
            "KwoJTWV0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi",
            "MAouUXVlcnlEYlRlbmFudF9Sb2Nrc3RhckF1ZGl0VGVuYW50X1JvY2tzdGFy",
            "QXV0byIPCg1RdWVyeURiX0FkaG9jIhMKEVF1ZXJ5RGJfQWxsRmllbGRzIhEK",
            "D1F1ZXJ5RGJfQm9va2luZyISChBRdWVyeURiX0Jvb2ttYXJrIh4KHFF1ZXJ5",
            "RGJfQ3VzdG9tU2VsZWN0Um9ja3N0YXIiOwo5UXVlcnlEYl9DdXN0b21TZWxl",
            "Y3RSb2Nrc3Rhcl9DdXN0b21TZWxlY3RSb2Nrc3RhclJlc3BvbnNlIg0KC1F1",
            "ZXJ5RGJfRm9vIg8KDVF1ZXJ5RGJfTW92aWUiFAoSUXVlcnlEYl9QYWdpbmdU",
            "ZXN0IhIKEFF1ZXJ5RGJfUm9ja3N0YXIiFwoVUXVlcnlEYl9Sb2Nrc3RhckFs",
            "YnVtIqQBCihRdWVyeURiX1JvY2tzdGFyQXVkaXRUZW5hbnRfUm9ja3N0YXJB",
            "dXRvEm0KLlF1ZXJ5RGJUZW5hbnRfUm9ja3N0YXJBdWRpdFRlbmFudF9Sb2Nr",
            "c3RhckF1dG8YhvaTswEgASgLMi8uUXVlcnlEYlRlbmFudF9Sb2Nrc3RhckF1",
            "ZGl0VGVuYW50X1JvY2tzdGFyQXV0b0gAQgkKB3N1YnR5cGUiGwoZUXVlcnlE",
            "Yl9Sb2Nrc3RhclJlZmVyZW5jZSIhCh9RdWVyeURiX1JvY2tzdGFyX0N1c3Rv",
            "bVJvY2tzdGFyIicKJVF1ZXJ5RGJfUm9ja3N0YXJfQ3VzdG9tUm9ja3N0YXJT",
            "Y2hlbWEiIAoeUXVlcnlEYl9Sb2Nrc3Rhcl9Sb2Nrc3RhckFsaWFzIhYKFFF1",
            "ZXJ5RGJfVHlwZVdpdGhFbnVtIpYDChNRdWVyeUZpZWxkUm9ja3N0YXJzEgwK",
            "BFNraXAYASABKAUSDAoEVGFrZRgCIAEoBRIPCgdPcmRlckJ5GAMgASgJEhMK",
            "C09yZGVyQnlEZXNjGAQgASgJEg8KB0luY2x1ZGUYBSABKAkSDgoGRmllbGRz",
            "GAYgASgJEiwKBE1ldGEYByADKAsyHi5RdWVyeUZpZWxkUm9ja3N0YXJzLk1l",
            "dGFFbnRyeRISCglGaXJzdE5hbWUYyQEgASgJEhMKCkZpcnN0TmFtZXMYygEg",
            "AygJEgwKA0FnZRjLASABKAUSIQoYRmlyc3ROYW1lQ2FzZUluc2Vuc2l0aXZl",
            "GMwBIAEoCRIcChNGaXJzdE5hbWVTdGFydHNXaXRoGM0BIAEoCRIZChBMYXN0",
            "TmFtZUVuZHNXaXRoGM4BIAEoCRIZChBGaXJzdE5hbWVCZXR3ZWVuGM8BIAMo",
            "CRITCgpPckxhc3ROYW1lGNABIAEoCRorCglNZXRhRW50cnkSCwoDa2V5GAEg",
            "ASgJEg0KBXZhbHVlGAIgASgJOgI4ASLvAQoaUXVlcnlGaWVsZFJvY2tzdGFy",
            "c0R5bmFtaWMSDAoEU2tpcBgBIAEoBRIMCgRUYWtlGAIgASgFEg8KB09yZGVy",
            "QnkYAyABKAkSEwoLT3JkZXJCeURlc2MYBCABKAkSDwoHSW5jbHVkZRgFIAEo",
            "CRIOCgZGaWVsZHMYBiABKAkSMwoETWV0YRgHIAMoCzIlLlF1ZXJ5RmllbGRS",
            "b2Nrc3RhcnNEeW5hbWljLk1ldGFFbnRyeRIMCgNBZ2UYyQEgASgFGisKCU1l",
            "dGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIqACCh5R",
            "dWVyeUZpZWxkc0ltcGxpY2l0Q29udmVudGlvbnMSDAoEU2tpcBgBIAEoBRIM",
            "CgRUYWtlGAIgASgFEg8KB09yZGVyQnkYAyABKAkSEwoLT3JkZXJCeURlc2MY",
            "BCABKAkSDwoHSW5jbHVkZRgFIAEoCRIOCgZGaWVsZHMYBiABKAkSNwoETWV0",
            "YRgHIAMoCzIpLlF1ZXJ5RmllbGRzSW1wbGljaXRDb252ZW50aW9ucy5NZXRh",
            "RW50cnkSGgoRRmlyc3ROYW1lQ29udGFpbnMYyQEgASgJEhkKEExhc3ROYW1l",
            "RW5kc1dpdGgYygEgASgJGisKCU1ldGFFbnRyeRILCgNrZXkYASABKAkSDQoF",
            "dmFsdWUYAiABKAk6AjgBIssBCglRdWVyeUZvb3MSDAoEU2tpcBgBIAEoBRIM",
            "CgRUYWtlGAIgASgFEg8KB09yZGVyQnkYAyABKAkSEwoLT3JkZXJCeURlc2MY",
            "BCABKAkSDwoHSW5jbHVkZRgFIAEoCRIOCgZGaWVsZHMYBiABKAkSIgoETWV0",
            "YRgHIAMoCzIULlF1ZXJ5Rm9vcy5NZXRhRW50cnkSCgoBWBjJASABKAkaKwoJ",
            "TWV0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiogIK",
            "EVF1ZXJ5R2V0Um9ja3N0YXJzEgwKBFNraXAYASABKAUSDAoEVGFrZRgCIAEo",
            "BRIPCgdPcmRlckJ5GAMgASgJEhMKC09yZGVyQnlEZXNjGAQgASgJEg8KB0lu",
            "Y2x1ZGUYBSABKAkSDgoGRmllbGRzGAYgASgJEioKBE1ldGEYByADKAsyHC5R",
            "dWVyeUdldFJvY2tzdGFycy5NZXRhRW50cnkSEAoDSWRzGMkBIAMoBUICEAAS",
            "EQoEQWdlcxjKASADKAVCAhAAEhMKCkZpcnN0TmFtZXMYywEgAygJEhcKCklk",
            "c0JldHdlZW4YzAEgAygFQgIQABorCglNZXRhRW50cnkSCwoDa2V5GAEgASgJ",
            "Eg0KBXZhbHVlGAIgASgJOgI4ASLdAQoYUXVlcnlHZXRSb2Nrc3RhcnNEeW5h",
            "bWljEgwKBFNraXAYASABKAUSDAoEVGFrZRgCIAEoBRIPCgdPcmRlckJ5GAMg",
            "ASgJEhMKC09yZGVyQnlEZXNjGAQgASgJEg8KB0luY2x1ZGUYBSABKAkSDgoG",
            "RmllbGRzGAYgASgJEjEKBE1ldGEYByADKAsyIy5RdWVyeUdldFJvY2tzdGFy",
            "c0R5bmFtaWMuTWV0YUVudHJ5GisKCU1ldGFFbnRyeRILCgNrZXkYASABKAkS",
            "DQoFdmFsdWUYAiABKAk6AjgBIokCChlRdWVyeUpvaW5lZFJvY2tzdGFyQWxi",
            "dW1zEgwKBFNraXAYASABKAUSDAoEVGFrZRgCIAEoBRIPCgdPcmRlckJ5GAMg",
            "ASgJEhMKC09yZGVyQnlEZXNjGAQgASgJEg8KB0luY2x1ZGUYBSABKAkSDgoG",
            "RmllbGRzGAYgASgJEjIKBE1ldGEYByADKAsyJC5RdWVyeUpvaW5lZFJvY2tz",
            "dGFyQWxidW1zLk1ldGFFbnRyeRIMCgNBZ2UYyQEgASgFEhoKEVJvY2tzdGFy",
            "QWxidW1OYW1lGMoBIAEoCRorCglNZXRhRW50cnkSCwoDa2V5GAEgASgJEg0K",
            "BXZhbHVlGAIgASgJOgI4ASKhAgolUXVlcnlKb2luZWRSb2Nrc3RhckFsYnVt",
            "c0N1c3RvbVNlbGVjdBIMCgRTa2lwGAEgASgFEgwKBFRha2UYAiABKAUSDwoH",
            "T3JkZXJCeRgDIAEoCRITCgtPcmRlckJ5RGVzYxgEIAEoCRIPCgdJbmNsdWRl",
            "GAUgASgJEg4KBkZpZWxkcxgGIAEoCRI+CgRNZXRhGAcgAygLMjAuUXVlcnlK",
            "b2luZWRSb2Nrc3RhckFsYnVtc0N1c3RvbVNlbGVjdC5NZXRhRW50cnkSDAoD",
            "QWdlGMkBIAEoBRIaChFSb2Nrc3RhckFsYnVtTmFtZRjKASABKAkaKwoJTWV0",
            "YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEisQIKLVF1",
            "ZXJ5Sm9pbmVkUm9ja3N0YXJBbGJ1bXNDdXN0b21TZWxlY3RSZXNwb25zZRIM",
            "CgRTa2lwGAEgASgFEgwKBFRha2UYAiABKAUSDwoHT3JkZXJCeRgDIAEoCRIT",
            "CgtPcmRlckJ5RGVzYxgEIAEoCRIPCgdJbmNsdWRlGAUgASgJEg4KBkZpZWxk",
            "cxgGIAEoCRJGCgRNZXRhGAcgAygLMjguUXVlcnlKb2luZWRSb2Nrc3RhckFs",
            "YnVtc0N1c3RvbVNlbGVjdFJlc3BvbnNlLk1ldGFFbnRyeRIMCgNBZ2UYyQEg",
            "ASgFEhoKEVJvY2tzdGFyQWxidW1OYW1lGMoBIAEoCRorCglNZXRhRW50cnkS",
            "CwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASL5AQoLUXVlcnlNb3Zp",
            "ZXMSDAoEU2tpcBgBIAEoBRIMCgRUYWtlGAIgASgFEg8KB09yZGVyQnkYAyAB",
            "KAkSEwoLT3JkZXJCeURlc2MYBCABKAkSDwoHSW5jbHVkZRgFIAEoCRIOCgZG",
            "aWVsZHMYBiABKAkSJAoETWV0YRgHIAMoCzIWLlF1ZXJ5TW92aWVzLk1ldGFF",
            "bnRyeRIQCgNJZHMYyQEgAygFQgIQABIQCgdJbWRiSWRzGMoBIAMoCRIQCgdS",
            "YXRpbmdzGMsBIAMoCRorCglNZXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZh",
            "bHVlGAIgASgJOgI4ASKfAgoWUXVlcnlNdWx0aUpvaW5Sb2Nrc3RhchIMCgRT",
            "a2lwGAEgASgFEgwKBFRha2UYAiABKAUSDwoHT3JkZXJCeRgDIAEoCRITCgtP",
            "cmRlckJ5RGVzYxgEIAEoCRIPCgdJbmNsdWRlGAUgASgJEg4KBkZpZWxkcxgG",
            "IAEoCRIvCgRNZXRhGAcgAygLMiEuUXVlcnlNdWx0aUpvaW5Sb2Nrc3Rhci5N",
            "ZXRhRW50cnkSDAoDQWdlGMkBIAEoBRIaChFSb2Nrc3RhckFsYnVtTmFtZRjK",
            "ASABKAkSGgoRUm9ja3N0YXJHZW5yZU5hbWUYywEgASgJGisKCU1ldGFFbnRy",
            "eRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIu8BChBRdWVyeU9y",
            "Um9ja3N0YXJzEgwKBFNraXAYASABKAUSDAoEVGFrZRgCIAEoBRIPCgdPcmRl",
            "ckJ5GAMgASgJEhMKC09yZGVyQnlEZXNjGAQgASgJEg8KB0luY2x1ZGUYBSAB",
            "KAkSDgoGRmllbGRzGAYgASgJEikKBE1ldGEYByADKAsyGy5RdWVyeU9yUm9j",
            "a3N0YXJzLk1ldGFFbnRyeRIMCgNBZ2UYyQEgASgFEhIKCUZpcnN0TmFtZRjK",
            "ASABKAkaKwoJTWV0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEo",
            "CToCOAEigAIKFlF1ZXJ5T3JSb2Nrc3RhcnNGaWVsZHMSDAoEU2tpcBgBIAEo",
            "BRIMCgRUYWtlGAIgASgFEg8KB09yZGVyQnkYAyABKAkSEwoLT3JkZXJCeURl",
            "c2MYBCABKAkSDwoHSW5jbHVkZRgFIAEoCRIOCgZGaWVsZHMYBiABKAkSLwoE",
            "TWV0YRgHIAMoCzIhLlF1ZXJ5T3JSb2Nrc3RhcnNGaWVsZHMuTWV0YUVudHJ5",
            "EhIKCUZpcnN0TmFtZRjJASABKAkSEQoITGFzdE5hbWUYygEgASgJGisKCU1l",
            "dGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIvUBCh1R",
            "dWVyeU92ZXJyaWRlZEN1c3RvbVJvY2tzdGFycxIMCgRTa2lwGAEgASgFEgwK",
            "BFRha2UYAiABKAUSDwoHT3JkZXJCeRgDIAEoCRITCgtPcmRlckJ5RGVzYxgE",
            "IAEoCRIPCgdJbmNsdWRlGAUgASgJEg4KBkZpZWxkcxgGIAEoCRI2CgRNZXRh",
            "GAcgAygLMiguUXVlcnlPdmVycmlkZWRDdXN0b21Sb2Nrc3RhcnMuTWV0YUVu",
            "dHJ5EgwKA0FnZRjJASABKAUaKwoJTWV0YUVudHJ5EgsKA2tleRgBIAEoCRIN",
            "CgV2YWx1ZRgCIAEoCToCOAEi6QEKF1F1ZXJ5T3ZlcnJpZGVkUm9ja3N0YXJz",
            "EgwKBFNraXAYASABKAUSDAoEVGFrZRgCIAEoBRIPCgdPcmRlckJ5GAMgASgJ",
            "EhMKC09yZGVyQnlEZXNjGAQgASgJEg8KB0luY2x1ZGUYBSABKAkSDgoGRmll",
            "bGRzGAYgASgJEjAKBE1ldGEYByADKAsyIi5RdWVyeU92ZXJyaWRlZFJvY2tz",
            "dGFycy5NZXRhRW50cnkSDAoDQWdlGMkBIAEoBRorCglNZXRhRW50cnkSCwoD",
            "a2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASL3AQoPUXVlcnlQYWdpbmdU",
            "ZXN0EgwKBFNraXAYASABKAUSDAoEVGFrZRgCIAEoBRIPCgdPcmRlckJ5GAMg",
            "ASgJEhMKC09yZGVyQnlEZXNjGAQgASgJEg8KB0luY2x1ZGUYBSABKAkSDgoG",
            "RmllbGRzGAYgASgJEigKBE1ldGEYByADKAsyGi5RdWVyeVBhZ2luZ1Rlc3Qu",
            "TWV0YUVudHJ5EgsKAklkGMkBIAEoBRINCgROYW1lGMoBIAEoCRIOCgVWYWx1",
            "ZRjLASABKAUaKwoJTWV0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgC",
            "IAEoCToCOAEi0QEKE1F1ZXJ5UmVzcG9uc2VfQWRob2MSDgoGT2Zmc2V0GAEg",
            "ASgFEg0KBVRvdGFsGAIgASgFEhcKB1Jlc3VsdHMYAyADKAsyBi5BZGhvYxIs",
            "CgRNZXRhGAQgAygLMh4uUXVlcnlSZXNwb25zZV9BZGhvYy5NZXRhRW50cnkS",
            "JwoOUmVzcG9uc2VTdGF0dXMYBSABKAsyDy5SZXNwb25zZVN0YXR1cxorCglN",
            "ZXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLdAQoX",
            "UXVlcnlSZXNwb25zZV9BbGxGaWVsZHMSDgoGT2Zmc2V0GAEgASgFEg0KBVRv",
            "dGFsGAIgASgFEhsKB1Jlc3VsdHMYAyADKAsyCi5BbGxGaWVsZHMSMAoETWV0",
            "YRgEIAMoCzIiLlF1ZXJ5UmVzcG9uc2VfQWxsRmllbGRzLk1ldGFFbnRyeRIn",
            "Cg5SZXNwb25zZVN0YXR1cxgFIAEoCzIPLlJlc3BvbnNlU3RhdHVzGisKCU1l",
            "dGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBItkBChVR",
            "dWVyeVJlc3BvbnNlX0Jvb2tpbmcSDgoGT2Zmc2V0GAEgASgFEg0KBVRvdGFs",
            "GAIgASgFEhsKB1Jlc3VsdHMYAyADKAsyCi5BdWRpdEJhc2USLgoETWV0YRgE",
            "IAMoCzIgLlF1ZXJ5UmVzcG9uc2VfQm9va2luZy5NZXRhRW50cnkSJwoOUmVz",
            "cG9uc2VTdGF0dXMYBSABKAsyDy5SZXNwb25zZVN0YXR1cxorCglNZXRhRW50",
            "cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLZAQoWUXVlcnlS",
            "ZXNwb25zZV9Cb29rbWFyaxIOCgZPZmZzZXQYASABKAUSDQoFVG90YWwYAiAB",
            "KAUSGQoHUmVzdWx0cxgDIAMoCzIILkRhb0Jhc2USLwoETWV0YRgEIAMoCzIh",
            "LlF1ZXJ5UmVzcG9uc2VfQm9va21hcmsuTWV0YUVudHJ5EicKDlJlc3BvbnNl",
            "U3RhdHVzGAUgASgLMg8uUmVzcG9uc2VTdGF0dXMaKwoJTWV0YUVudHJ5EgsK",
            "A2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi7AEKHFF1ZXJ5UmVzcG9u",
            "c2VfQ3VzdG9tUm9ja3N0YXISDgoGT2Zmc2V0GAEgASgFEg0KBVRvdGFsGAIg",
            "ASgFEiAKB1Jlc3VsdHMYAyADKAsyDy5DdXN0b21Sb2Nrc3RhchI1CgRNZXRh",
            "GAQgAygLMicuUXVlcnlSZXNwb25zZV9DdXN0b21Sb2Nrc3Rhci5NZXRhRW50",
            "cnkSJwoOUmVzcG9uc2VTdGF0dXMYBSABKAsyDy5SZXNwb25zZVN0YXR1cxor",
            "CglNZXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASL+",
            "AQoiUXVlcnlSZXNwb25zZV9DdXN0b21Sb2Nrc3RhclNjaGVtYRIOCgZPZmZz",
            "ZXQYASABKAUSDQoFVG90YWwYAiABKAUSJgoHUmVzdWx0cxgDIAMoCzIVLkN1",
            "c3RvbVJvY2tzdGFyU2NoZW1hEjsKBE1ldGEYBCADKAsyLS5RdWVyeVJlc3Bv",
            "bnNlX0N1c3RvbVJvY2tzdGFyU2NoZW1hLk1ldGFFbnRyeRInCg5SZXNwb25z",
            "ZVN0YXR1cxgFIAEoCzIPLlJlc3BvbnNlU3RhdHVzGisKCU1ldGFFbnRyeRIL",
            "CgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIv4BCiJRdWVyeVJlc3Bv",
            "bnNlX0N1c3RvbVNlbGVjdFJvY2tzdGFyEg4KBk9mZnNldBgBIAEoBRINCgVU",
            "b3RhbBgCIAEoBRImCgdSZXN1bHRzGAMgAygLMhUuQ3VzdG9tU2VsZWN0Um9j",
            "a3N0YXISOwoETWV0YRgEIAMoCzItLlF1ZXJ5UmVzcG9uc2VfQ3VzdG9tU2Vs",
            "ZWN0Um9ja3N0YXIuTWV0YUVudHJ5EicKDlJlc3BvbnNlU3RhdHVzGAUgASgL",
            "Mg8uUmVzcG9uc2VTdGF0dXMaKwoJTWV0YUVudHJ5EgsKA2tleRgBIAEoCRIN",
            "CgV2YWx1ZRgCIAEoCToCOAEilgIKKlF1ZXJ5UmVzcG9uc2VfQ3VzdG9tU2Vs",
            "ZWN0Um9ja3N0YXJSZXNwb25zZRIOCgZPZmZzZXQYASABKAUSDQoFVG90YWwY",
            "AiABKAUSLgoHUmVzdWx0cxgDIAMoCzIdLkN1c3RvbVNlbGVjdFJvY2tzdGFy",
            "UmVzcG9uc2USQwoETWV0YRgEIAMoCzI1LlF1ZXJ5UmVzcG9uc2VfQ3VzdG9t",
            "U2VsZWN0Um9ja3N0YXJSZXNwb25zZS5NZXRhRW50cnkSJwoOUmVzcG9uc2VT",
            "dGF0dXMYBSABKAsyDy5SZXNwb25zZVN0YXR1cxorCglNZXRhRW50cnkSCwoD",
            "a2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLLAQoRUXVlcnlSZXNwb25z",
            "ZV9Gb28SDgoGT2Zmc2V0GAEgASgFEg0KBVRvdGFsGAIgASgFEhUKB1Jlc3Vs",
            "dHMYAyADKAsyBC5Gb28SKgoETWV0YRgEIAMoCzIcLlF1ZXJ5UmVzcG9uc2Vf",
            "Rm9vLk1ldGFFbnRyeRInCg5SZXNwb25zZVN0YXR1cxgFIAEoCzIPLlJlc3Bv",
            "bnNlU3RhdHVzGisKCU1ldGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUY",
            "AiABKAk6AjgBItEBChNRdWVyeVJlc3BvbnNlX01vdmllEg4KBk9mZnNldBgB",
            "IAEoBRINCgVUb3RhbBgCIAEoBRIXCgdSZXN1bHRzGAMgAygLMgYuTW92aWUS",
            "LAoETWV0YRgEIAMoCzIeLlF1ZXJ5UmVzcG9uc2VfTW92aWUuTWV0YUVudHJ5",
            "EicKDlJlc3BvbnNlU3RhdHVzGAUgASgLMg8uUmVzcG9uc2VTdGF0dXMaKwoJ",
            "TWV0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi4AEK",
            "GFF1ZXJ5UmVzcG9uc2VfUGFnaW5nVGVzdBIOCgZPZmZzZXQYASABKAUSDQoF",
            "VG90YWwYAiABKAUSHAoHUmVzdWx0cxgDIAMoCzILLlBhZ2luZ1Rlc3QSMQoE",
            "TWV0YRgEIAMoCzIjLlF1ZXJ5UmVzcG9uc2VfUGFnaW5nVGVzdC5NZXRhRW50",
            "cnkSJwoOUmVzcG9uc2VTdGF0dXMYBSABKAsyDy5SZXNwb25zZVN0YXR1cxor",
            "CglNZXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLa",
            "AQoWUXVlcnlSZXNwb25zZV9Sb2Nrc3RhchIOCgZPZmZzZXQYASABKAUSDQoF",
            "VG90YWwYAiABKAUSGgoHUmVzdWx0cxgDIAMoCzIJLlJvY2tzdGFyEi8KBE1l",
            "dGEYBCADKAsyIS5RdWVyeVJlc3BvbnNlX1JvY2tzdGFyLk1ldGFFbnRyeRIn",
            "Cg5SZXNwb25zZVN0YXR1cxgFIAEoCzIPLlJlc3BvbnNlU3RhdHVzGisKCU1l",
            "dGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIukBChtR",
            "dWVyeVJlc3BvbnNlX1JvY2tzdGFyQWxidW0SDgoGT2Zmc2V0GAEgASgFEg0K",
            "BVRvdGFsGAIgASgFEh8KB1Jlc3VsdHMYAyADKAsyDi5Sb2Nrc3RhckFsYnVt",
            "EjQKBE1ldGEYBCADKAsyJi5RdWVyeVJlc3BvbnNlX1JvY2tzdGFyQWxidW0u",
            "TWV0YUVudHJ5EicKDlJlc3BvbnNlU3RhdHVzGAUgASgLMg8uUmVzcG9uc2VT",
            "dGF0dXMaKwoJTWV0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEo",
            "CToCOAEi6QEKG1F1ZXJ5UmVzcG9uc2VfUm9ja3N0YXJBbGlhcxIOCgZPZmZz",
            "ZXQYASABKAUSDQoFVG90YWwYAiABKAUSHwoHUmVzdWx0cxgDIAMoCzIOLlJv",
            "Y2tzdGFyQWxpYXMSNAoETWV0YRgEIAMoCzImLlF1ZXJ5UmVzcG9uc2VfUm9j",
            "a3N0YXJBbGlhcy5NZXRhRW50cnkSJwoOUmVzcG9uc2VTdGF0dXMYBSABKAsy",
            "Dy5SZXNwb25zZVN0YXR1cxorCglNZXRhRW50cnkSCwoDa2V5GAEgASgJEg0K",
            "BXZhbHVlGAIgASgJOgI4ASLmAQoaUXVlcnlSZXNwb25zZV9Sb2Nrc3RhckF1",
            "dG8SDgoGT2Zmc2V0GAEgASgFEg0KBVRvdGFsGAIgASgFEh4KB1Jlc3VsdHMY",
            "AyADKAsyDS5Sb2Nrc3RhckJhc2USMwoETWV0YRgEIAMoCzIlLlF1ZXJ5UmVz",
            "cG9uc2VfUm9ja3N0YXJBdXRvLk1ldGFFbnRyeRInCg5SZXNwb25zZVN0YXR1",
            "cxgFIAEoCzIPLlJlc3BvbnNlU3RhdHVzGisKCU1ldGFFbnRyeRILCgNrZXkY",
            "ASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIvUBCh9RdWVyeVJlc3BvbnNlX1Jv",
            "Y2tzdGFyUmVmZXJlbmNlEg4KBk9mZnNldBgBIAEoBRINCgVUb3RhbBgCIAEo",
            "BRIjCgdSZXN1bHRzGAMgAygLMhIuUm9ja3N0YXJSZWZlcmVuY2USOAoETWV0",
            "YRgEIAMoCzIqLlF1ZXJ5UmVzcG9uc2VfUm9ja3N0YXJSZWZlcmVuY2UuTWV0",
            "YUVudHJ5EicKDlJlc3BvbnNlU3RhdHVzGAUgASgLMg8uUmVzcG9uc2VTdGF0",
            "dXMaKwoJTWV0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToC",
            "OAEi5gEKGlF1ZXJ5UmVzcG9uc2VfVHlwZVdpdGhFbnVtEg4KBk9mZnNldBgB",
            "IAEoBRINCgVUb3RhbBgCIAEoBRIeCgdSZXN1bHRzGAMgAygLMg0uVHlwZVdp",
            "dGhFbnVtEjMKBE1ldGEYBCADKAsyJS5RdWVyeVJlc3BvbnNlX1R5cGVXaXRo",
            "RW51bS5NZXRhRW50cnkSJwoOUmVzcG9uc2VTdGF0dXMYBSABKAsyDy5SZXNw",
            "b25zZVN0YXR1cxorCglNZXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVl",
            "GAIgASgJOgI4ASKsAgoTUXVlcnlSb2Nrc3RhckFsYnVtcxIMCgRTa2lwGAEg",
            "ASgFEgwKBFRha2UYAiABKAUSDwoHT3JkZXJCeRgDIAEoCRITCgtPcmRlckJ5",
            "RGVzYxgEIAEoCRIPCgdJbmNsdWRlGAUgASgJEg4KBkZpZWxkcxgGIAEoCRIs",
            "CgRNZXRhGAcgAygLMh4uUXVlcnlSb2Nrc3RhckFsYnVtcy5NZXRhRW50cnkS",
            "CwoCSWQYyQEgASgFEhMKClJvY2tzdGFySWQYygEgASgFEg0KBE5hbWUYywEg",
            "ASgJEg4KBUdlbnJlGMwBIAEoCRIWCglJZEJldHdlZW4YzQEgAygFQgIQABor",
            "CglNZXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKo",
            "AgohUXVlcnlSb2Nrc3RhckFsYnVtc0N1c3RvbUxlZnRKb2luEgwKBFNraXAY",
            "ASABKAUSDAoEVGFrZRgCIAEoBRIPCgdPcmRlckJ5GAMgASgJEhMKC09yZGVy",
            "QnlEZXNjGAQgASgJEg8KB0luY2x1ZGUYBSABKAkSDgoGRmllbGRzGAYgASgJ",
            "EjoKBE1ldGEYByADKAsyLC5RdWVyeVJvY2tzdGFyQWxidW1zQ3VzdG9tTGVm",
            "dEpvaW4uTWV0YUVudHJ5EgwKA0FnZRjJASABKAUSEgoJQWxidW1OYW1lGMoB",
            "IAEoCRIVCgxJZE5vdEVxdWFsVG8YywEgASgFGisKCU1ldGFFbnRyeRILCgNr",
            "ZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIuMBChtRdWVyeVJvY2tzdGFy",
            "QWxidW1zSW1wbGljaXQSDAoEU2tpcBgBIAEoBRIMCgRUYWtlGAIgASgFEg8K",
            "B09yZGVyQnkYAyABKAkSEwoLT3JkZXJCeURlc2MYBCABKAkSDwoHSW5jbHVk",
            "ZRgFIAEoCRIOCgZGaWVsZHMYBiABKAkSNAoETWV0YRgHIAMoCzImLlF1ZXJ5",
            "Um9ja3N0YXJBbGJ1bXNJbXBsaWNpdC5NZXRhRW50cnkaKwoJTWV0YUVudHJ5",
            "EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEinAIKG1F1ZXJ5Um9j",
            "a3N0YXJBbGJ1bXNMZWZ0Sm9pbhIMCgRTa2lwGAEgASgFEgwKBFRha2UYAiAB",
            "KAUSDwoHT3JkZXJCeRgDIAEoCRITCgtPcmRlckJ5RGVzYxgEIAEoCRIPCgdJ",
            "bmNsdWRlGAUgASgJEg4KBkZpZWxkcxgGIAEoCRI0CgRNZXRhGAcgAygLMiYu",
            "UXVlcnlSb2Nrc3RhckFsYnVtc0xlZnRKb2luLk1ldGFFbnRyeRIMCgNBZ2UY",
            "yQEgASgFEhIKCUFsYnVtTmFtZRjKASABKAkSFQoMSWROb3RFcXVhbFRvGMsB",
            "IAEoBRorCglNZXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJ",
            "OgI4ASL7AQoSUXVlcnlSb2Nrc3RhckFsaWFzEgwKBFNraXAYASABKAUSDAoE",
            "VGFrZRgCIAEoBRIPCgdPcmRlckJ5GAMgASgJEhMKC09yZGVyQnlEZXNjGAQg",
            "ASgJEg8KB0luY2x1ZGUYBSABKAkSDgoGRmllbGRzGAYgASgJEisKBE1ldGEY",
            "ByADKAsyHS5RdWVyeVJvY2tzdGFyQWxpYXMuTWV0YUVudHJ5EgwKA0FnZRjJ",
            "ASABKAUSGgoRUm9ja3N0YXJBbGJ1bU5hbWUYygEgASgJGisKCU1ldGFFbnRy",
            "eRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIt4BChJRdWVyeVJv",
            "Y2tzdGFyQXVkaXQSDAoEU2tpcBgBIAEoBRIMCgRUYWtlGAIgASgFEg8KB09y",
            "ZGVyQnkYAyABKAkSEwoLT3JkZXJCeURlc2MYBCABKAkSDwoHSW5jbHVkZRgF",
            "IAEoCRIOCgZGaWVsZHMYBiABKAkSKwoETWV0YRgHIAMoCzIdLlF1ZXJ5Um9j",
            "a3N0YXJBdWRpdC5NZXRhRW50cnkSCwoCSWQYrQIgASgFGisKCU1ldGFFbnRy",
            "eRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIpACChdRdWVyeVJv",
            "Y2tzdGFyQXVkaXRTdWJPchIMCgRTa2lwGAEgASgFEgwKBFRha2UYAiABKAUS",
            "DwoHT3JkZXJCeRgDIAEoCRITCgtPcmRlckJ5RGVzYxgEIAEoCRIPCgdJbmNs",
            "dWRlGAUgASgJEg4KBkZpZWxkcxgGIAEoCRIwCgRNZXRhGAcgAygLMiIuUXVl",
            "cnlSb2Nrc3RhckF1ZGl0U3ViT3IuTWV0YUVudHJ5EhwKE0ZpcnN0TmFtZVN0",
            "YXJ0c1dpdGgYyQEgASgJEhUKDEFnZU9sZGVyVGhhbhjKASABKAUaKwoJTWV0",
            "YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiqAIKFFF1",
            "ZXJ5Um9ja3N0YXJGaWx0ZXJzEgwKBFNraXAYASABKAUSDAoEVGFrZRgCIAEo",
            "BRIPCgdPcmRlckJ5GAMgASgJEhMKC09yZGVyQnlEZXNjGAQgASgJEg8KB0lu",
            "Y2x1ZGUYBSABKAkSDgoGRmllbGRzGAYgASgJEi0KBE1ldGEYByADKAsyHy5R",
            "dWVyeVJvY2tzdGFyRmlsdGVycy5NZXRhRW50cnkSEAoDSWRzGMkBIAMoBUIC",
            "EAASEQoEQWdlcxjKASADKAVCAhAAEhMKCkZpcnN0TmFtZXMYywEgAygJEhcK",
            "Cklkc0JldHdlZW4YzAEgAygFQgIQABorCglNZXRhRW50cnkSCwoDa2V5GAEg",
            "ASgJEg0KBXZhbHVlGAIgASgJOgI4ASLXAQoOUXVlcnlSb2Nrc3RhcnMSDAoE",
            "U2tpcBgBIAEoBRIMCgRUYWtlGAIgASgFEg8KB09yZGVyQnkYAyABKAkSEwoL",
            "T3JkZXJCeURlc2MYBCABKAkSDwoHSW5jbHVkZRgFIAEoCRIOCgZGaWVsZHMY",
            "BiABKAkSJwoETWV0YRgHIAMoCzIZLlF1ZXJ5Um9ja3N0YXJzLk1ldGFFbnRy",
            "eRIMCgNBZ2UYyQEgASgFGisKCU1ldGFFbnRyeRILCgNrZXkYASABKAkSDQoF",
            "dmFsdWUYAiABKAk6AjgBIoAFChlRdWVyeVJvY2tzdGFyc0NvbnZlbnRpb25z",
            "EgwKBFNraXAYASABKAUSDAoEVGFrZRgCIAEoBRIPCgdPcmRlckJ5GAMgASgJ",
            "EhMKC09yZGVyQnlEZXNjGAQgASgJEg8KB0luY2x1ZGUYBSABKAkSDgoGRmll",
            "bGRzGAYgASgJEjIKBE1ldGEYByADKAsyJC5RdWVyeVJvY2tzdGFyc0NvbnZl",
            "bnRpb25zLk1ldGFFbnRyeRI7ChZEYXRlT2ZCaXJ0aEdyZWF0ZXJUaGFuGMkB",
            "IAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNQoQRGF0ZURpZWRM",
            "ZXNzVGhhbhjKASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhAK",
            "A0lkcxjLASADKAVCAhAAEhUKDEFnZU9sZGVyVGhhbhjMASABKAUSIAoXQWdl",
            "R3JlYXRlclRoYW5PckVxdWFsVG8YzQEgASgFEhcKDkFnZUdyZWF0ZXJUaGFu",
            "GM4BIAEoBRIXCg5HcmVhdGVyVGhhbkFnZRjPASABKAUSHAoTRmlyc3ROYW1l",
            "U3RhcnRzV2l0aBjQASABKAkSGQoQTGFzdE5hbWVFbmRzV2l0aBjRASABKAkS",
            "GQoQTGFzdE5hbWVDb250YWlucxjSASABKAkSIgoZUm9ja3N0YXJBbGJ1bU5h",
            "bWVDb250YWlucxjTASABKAkSGAoPUm9ja3N0YXJJZEFmdGVyGNQBIAEoBRIc",
            "ChNSb2Nrc3RhcklkT25PckFmdGVyGNUBIAEoBRorCglNZXRhRW50cnkSCwoD",
            "a2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLjAQoUUXVlcnlSb2Nrc3Rh",
            "cnNGaWx0ZXISDAoEU2tpcBgBIAEoBRIMCgRUYWtlGAIgASgFEg8KB09yZGVy",
            "QnkYAyABKAkSEwoLT3JkZXJCeURlc2MYBCABKAkSDwoHSW5jbHVkZRgFIAEo",
            "CRIOCgZGaWVsZHMYBiABKAkSLQoETWV0YRgHIAMoCzIfLlF1ZXJ5Um9ja3N0",
            "YXJzRmlsdGVyLk1ldGFFbnRyeRIMCgNBZ2UYyQEgASgFGisKCU1ldGFFbnRy",
            "eRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIuUBChVRdWVyeVJv",
            "Y2tzdGFyc0lGaWx0ZXISDAoEU2tpcBgBIAEoBRIMCgRUYWtlGAIgASgFEg8K",
            "B09yZGVyQnkYAyABKAkSEwoLT3JkZXJCeURlc2MYBCABKAkSDwoHSW5jbHVk",
            "ZRgFIAEoCRIOCgZGaWVsZHMYBiABKAkSLgoETWV0YRgHIAMoCzIgLlF1ZXJ5",
            "Um9ja3N0YXJzSUZpbHRlci5NZXRhRW50cnkSDAoDQWdlGMkBIAEoBRorCglN",
            "ZXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLZAQoW",
            "UXVlcnlSb2Nrc3RhcnNJbXBsaWNpdBIMCgRTa2lwGAEgASgFEgwKBFRha2UY",
            "AiABKAUSDwoHT3JkZXJCeRgDIAEoCRITCgtPcmRlckJ5RGVzYxgEIAEoCRIP",
            "CgdJbmNsdWRlGAUgASgJEg4KBkZpZWxkcxgGIAEoCRIvCgRNZXRhGAcgAygL",
            "MiEuUXVlcnlSb2Nrc3RhcnNJbXBsaWNpdC5NZXRhRW50cnkaKwoJTWV0YUVu",
            "dHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi8wEKHFF1ZXJ5",
            "Um9ja3N0YXJzV2l0aFJlZmVyZW5jZXMSDAoEU2tpcBgBIAEoBRIMCgRUYWtl",
            "GAIgASgFEg8KB09yZGVyQnkYAyABKAkSEwoLT3JkZXJCeURlc2MYBCABKAkS",
            "DwoHSW5jbHVkZRgFIAEoCRIOCgZGaWVsZHMYBiABKAkSNQoETWV0YRgHIAMo",
            "CzInLlF1ZXJ5Um9ja3N0YXJzV2l0aFJlZmVyZW5jZXMuTWV0YUVudHJ5EgwK",
            "A0FnZRjJASABKAUaKwoJTWV0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1",
            "ZRgCIAEoCToCOAEi0QEKElF1ZXJ5VHlwZVdpdGhFbnVtcxIMCgRTa2lwGAEg",
            "ASgFEgwKBFRha2UYAiABKAUSDwoHT3JkZXJCeRgDIAEoCRITCgtPcmRlckJ5",
            "RGVzYxgEIAEoCRIPCgdJbmNsdWRlGAUgASgJEg4KBkZpZWxkcxgGIAEoCRIr",
            "CgRNZXRhGAcgAygLMh0uUXVlcnlUeXBlV2l0aEVudW1zLk1ldGFFbnRyeRor",
            "CglNZXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKG",
            "AgoVUXVlcnlVbmtub3duUm9ja3N0YXJzEgwKBFNraXAYASABKAUSDAoEVGFr",
            "ZRgCIAEoBRIPCgdPcmRlckJ5GAMgASgJEhMKC09yZGVyQnlEZXNjGAQgASgJ",
            "Eg8KB0luY2x1ZGUYBSABKAkSDgoGRmllbGRzGAYgASgJEi4KBE1ldGEYByAD",
            "KAsyIC5RdWVyeVVua25vd25Sb2Nrc3RhcnMuTWV0YUVudHJ5EhMKClVua25v",
            "d25JbnQYyQEgASgFEhgKD1Vua25vd25Qcm9wZXJ0eRjKASABKAkaKwoJTWV0",
            "YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiRQoVUmVh",
            "bERlbGV0ZUF1ZGl0VGVuYW50EhMKC0JlYXJlclRva2VuGAEgASgJEgoKAklk",
            "GAIgASgFEgsKA0FnZRgDIAEoBSIqChxSZWFsRGVsZXRlQXVkaXRUZW5hbnRH",
            "YXRld2F5EgoKAklkGAEgASgFIiUKF1JlYWxEZWxldGVBdWRpdFRlbmFudE1x",
            "EgoKAklkGAEgASgFIoEBChFSZWdlbmVyYXRlQXBpS2V5cxITCgtFbnZpcm9u",
            "bWVudBgBIAEoCRIqCgRNZXRhGAIgAygLMhwuUmVnZW5lcmF0ZUFwaUtleXMu",
            "TWV0YUVudHJ5GisKCU1ldGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUY",
            "AiABKAk6AjgBIsMBChlSZWdlbmVyYXRlQXBpS2V5c1Jlc3BvbnNlEhwKB1Jl",
            "c3VsdHMYASADKAsyCy5Vc2VyQXBpS2V5EjIKBE1ldGEYAiADKAsyJC5SZWdl",
            "bmVyYXRlQXBpS2V5c1Jlc3BvbnNlLk1ldGFFbnRyeRInCg5SZXNwb25zZVN0",
            "YXR1cxgDIAEoCzIPLlJlc3BvbnNlU3RhdHVzGisKCU1ldGFFbnRyeRILCgNr",
            "ZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIoYCCghSZWdpc3RlchIQCghV",
            "c2VyTmFtZRgBIAEoCRIRCglGaXJzdE5hbWUYAiABKAkSEAoITGFzdE5hbWUY",
            "AyABKAkSEwoLRGlzcGxheU5hbWUYBCABKAkSDQoFRW1haWwYBSABKAkSEAoI",
            "UGFzc3dvcmQYBiABKAkSFwoPQ29uZmlybVBhc3N3b3JkGAcgASgJEhEKCUF1",
            "dG9Mb2dpbhgIIAEoCBIRCglFcnJvclZpZXcYCiABKAkSIQoETWV0YRgLIAMo",
            "CzITLlJlZ2lzdGVyLk1ldGFFbnRyeRorCglNZXRhRW50cnkSCwoDa2V5GAEg",
            "ASgJEg0KBXZhbHVlGAIgASgJOgI4ASL5AgoQUmVnaXN0ZXJSZXNwb25zZRIO",
            "CgZVc2VySWQYASABKAkSEQoJU2Vzc2lvbklkGAIgASgJEhAKCFVzZXJOYW1l",
            "GAMgASgJEhMKC1JlZmVycmVyVXJsGAQgASgJEhMKC0JlYXJlclRva2VuGAUg",
            "ASgJEhQKDFJlZnJlc2hUb2tlbhgGIAEoCRI2ChJSZWZyZXNoVG9rZW5FeHBp",
            "cnkYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg0KBVJvbGVz",
            "GAggAygJEhMKC1Blcm1pc3Npb25zGAkgAygJEhMKC1JlZGlyZWN0VXJsGAog",
            "ASgJEicKDlJlc3BvbnNlU3RhdHVzGAsgASgLMg8uUmVzcG9uc2VTdGF0dXMS",
            "KQoETWV0YRgMIAMoCzIbLlJlZ2lzdGVyUmVzcG9uc2UuTWV0YUVudHJ5GisK",
            "CU1ldGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIjEK",
            "DFJlcXVpcmVzQXV0aBIMCgROYW1lGAEgASgJEhMKC0JlYXJlclRva2VuGAIg",
            "ASgJIgwKClJlc2V0VG9kb3MimwEKDVJlc3BvbnNlRXJyb3ISEQoJRXJyb3JD",
            "b2RlGAEgASgJEhEKCUZpZWxkTmFtZRgCIAEoCRIPCgdNZXNzYWdlGAMgASgJ",
            "EiYKBE1ldGEYBCADKAsyGC5SZXNwb25zZUVycm9yLk1ldGFFbnRyeRorCglN",
            "ZXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASK+AQoO",
            "UmVzcG9uc2VTdGF0dXMSEQoJRXJyb3JDb2RlGAEgASgJEg8KB01lc3NhZ2UY",
            "AiABKAkSEgoKU3RhY2tUcmFjZRgDIAEoCRIeCgZFcnJvcnMYBCADKAsyDi5S",
            "ZXNwb25zZUVycm9yEicKBE1ldGEYBSADKAsyGS5SZXNwb25zZVN0YXR1cy5N",
            "ZXRhRW50cnkaKwoJTWV0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgC",
            "IAEoCToCOAEihAIKCFJvY2tzdGFyEgoKAklkGAEgASgFEhEKCUZpcnN0TmFt",
            "ZRgCIAEoCRIQCghMYXN0TmFtZRgDIAEoCRILCgNBZ2UYBCABKAUSLwoLRGF0",
            "ZU9mQmlydGgYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwK",
            "CERhdGVEaWVkGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIj",
            "CgxMaXZpbmdTdGF0dXMYByABKA4yDS5MaXZpbmdTdGF0dXMSKwoNTmFtZWRS",
            "b2Nrc3Rhchio3MakASABKAsyDi5OYW1lZFJvY2tzdGFySABCCQoHc3VidHlw",
            "ZSJMCg1Sb2Nrc3RhckFsYnVtEgoKAklkGAEgASgFEhIKClJvY2tzdGFySWQY",
            "AiABKAUSDAoETmFtZRgDIAEoCRINCgVHZW5yZRgEIAEoCSJWCg1Sb2Nrc3Rh",
            "ckFsaWFzEhIKClJvY2tzdGFySWQYASABKAUSEQoJRmlyc3ROYW1lGAIgASgJ",
            "Eg8KB1N1cm5hbWUYAyABKAkSDQoFYWxidW0YBCABKAki0AEKDVJvY2tzdGFy",
            "QXVkaXQSCgoCSWQYASABKAUSLwoLQ3JlYXRlZERhdGUYAiABKAsyGi5nb29n",
            "bGUucHJvdG9idWYuVGltZXN0YW1wEhEKCUNyZWF0ZWRCeRgDIAEoCRITCgtD",
            "cmVhdGVkSW5mbxgEIAEoCRIwCgxNb2RpZmllZERhdGUYBSABKAsyGi5nb29n",
            "bGUucHJvdG9idWYuVGltZXN0YW1wEhIKCk1vZGlmaWVkQnkYBiABKAkSFAoM",
            "TW9kaWZpZWRJbmZvGAcgASgJIqkCChNSb2Nrc3RhckF1ZGl0VGVuYW50EhAK",
            "CFRlbmFudElkGAEgASgFEgoKAklkGAIgASgFEhEKCUZpcnN0TmFtZRgDIAEo",
            "CRIQCghMYXN0TmFtZRgEIAEoCRILCgNBZ2UYBSABKAUSLwoLRGF0ZU9mQmly",
            "dGgYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCERhdGVE",
            "aWVkGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIjCgxMaXZp",
            "bmdTdGF0dXMYCCABKA4yDS5MaXZpbmdTdGF0dXMSEwoLQ3JlYXRlZEluZm8Y",
            "CSABKAkSFAoMTW9kaWZpZWRJbmZvGAogASgJEhMKC0RlbGV0ZWRJbmZvGAsg",
            "ASgJIhoKDFJvY2tzdGFyQXV0bxIKCgJJZBgBIAEoBSIeChBSb2Nrc3RhckF1",
            "dG9HdWlkEgoKAklkGAEgASgJIogDCgxSb2Nrc3RhckJhc2USEQoJRmlyc3RO",
            "YW1lGAEgASgJEhAKCExhc3ROYW1lGAIgASgJEgsKA0FnZRgDIAEoBRIvCgtE",
            "YXRlT2ZCaXJ0aBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAS",
            "LAoIRGF0ZURpZWQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1w",
            "EiMKDExpdmluZ1N0YXR1cxgGIAEoDjINLkxpdmluZ1N0YXR1cxIwChBSb2Nr",
            "c3RhckF1dG9HdWlkGL2k7ysgASgLMhEuUm9ja3N0YXJBdXRvR3VpZEgAEigK",
            "DFJvY2tzdGFyQXV0bxif+P4rIAEoCzINLlJvY2tzdGFyQXV0b0gAEioKDVJv",
            "Y2tzdGFyQXVkaXQY+MuUOSABKAsyDi5Sb2Nrc3RhckF1ZGl0SAASLwoPUm9j",
            "a3N0YXJWZXJzaW9uGKOq85gBIAEoCzIQLlJvY2tzdGFyVmVyc2lvbkgAQgkK",
            "B3N1YnR5cGUiPQoNUm9ja3N0YXJHZW5yZRIKCgJJZBgBIAEoBRISCgpSb2Nr",
            "c3RhcklkGAIgASgFEgwKBE5hbWUYAyABKAkicQoRUm9ja3N0YXJSZWZlcmVu",
            "Y2USCgoCSWQYASABKAUSEQoJRmlyc3ROYW1lGAIgASgJEhAKCExhc3ROYW1l",
            "GAMgASgJEgsKA0FnZRgEIAEoBRIeCgZBbGJ1bXMYBSADKAsyDi5Sb2Nrc3Rh",
            "ckFsYnVtIjEKD1JvY2tzdGFyVmVyc2lvbhIKCgJJZBgBIAEoBRISCgpSb3dW",
            "ZXJzaW9uGAIgASgEImQKHlJvY2tzdGFyV2l0aElkQW5kQ291bnRSZXNwb25z",
            "ZRIKCgJJZBgBIAEoBRINCgVDb3VudBgCIAEoBRInCg5SZXNwb25zZVN0YXR1",
            "cxgDIAEoCzIPLlJlc3BvbnNlU3RhdHVzInUKH1JvY2tzdGFyV2l0aElkQW5k",
            "UmVzdWx0UmVzcG9uc2USCgoCSWQYASABKAUSHQoGUmVzdWx0GAIgASgLMg0u",
            "Um9ja3N0YXJCYXNlEicKDlJlc3BvbnNlU3RhdHVzGAMgASgLMg8uUmVzcG9u",
            "c2VTdGF0dXMibgojUm9ja3N0YXJXaXRoSWRBbmRSb3dWZXJzaW9uUmVzcG9u",
            "c2USCgoCSWQYASABKAUSEgoKUm93VmVyc2lvbhgCIAEoDRInCg5SZXNwb25z",
            "ZVN0YXR1cxgDIAEoCzIPLlJlc3BvbnNlU3RhdHVzIk0KFlJvY2tzdGFyV2l0",
            "aElkUmVzcG9uc2USCgoCSWQYASABKAUSJwoOUmVzcG9uc2VTdGF0dXMYAiAB",
            "KAsyDy5SZXNwb25zZVN0YXR1cyLFAQoMU2VhcmNoTW92aWVzEgwKBFNraXAY",
            "ASABKAUSDAoEVGFrZRgCIAEoBRIPCgdPcmRlckJ5GAMgASgJEhMKC09yZGVy",
            "QnlEZXNjGAQgASgJEg8KB0luY2x1ZGUYBSABKAkSDgoGRmllbGRzGAYgASgJ",
            "EiUKBE1ldGEYByADKAsyFy5TZWFyY2hNb3ZpZXMuTWV0YUVudHJ5GisKCU1l",
            "dGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIioKDFNl",
            "YXJjaFJlc3VsdBIKCgJJZBgBIAEoBRIOCgZTdWZmaXgYAiABKAkiFwoHU2Vj",
            "dXJlZBIMCgROYW1lGAEgASgJIkoKD1NlY3VyZWRSZXNwb25zZRIOCgZSZXN1",
            "bHQYASABKAkSJwoOUmVzcG9uc2VTdGF0dXMYAiABKAsyDy5SZXNwb25zZVN0",
            "YXR1cyKBAgpHU29mdERlbGV0ZUF1ZGl0QmFzZV9Sb2Nrc3RhckF1ZGl0VGVu",
            "YW50X1JvY2tzdGFyV2l0aElkQW5kUmVzdWx0UmVzcG9uc2USqgEKTVNvZnRE",
            "ZWxldGVBdWRpdFRlbmFudEJhc2VfUm9ja3N0YXJBdWRpdFRlbmFudF9Sb2Nr",
            "c3RhcldpdGhJZEFuZFJlc3VsdFJlc3BvbnNlGKTn8lEgASgLMk4uU29mdERl",
            "bGV0ZUF1ZGl0VGVuYW50QmFzZV9Sb2Nrc3RhckF1ZGl0VGVuYW50X1JvY2tz",
            "dGFyV2l0aElkQW5kUmVzdWx0UmVzcG9uc2VIAEIJCgdzdWJ0eXBlIiQKFVNv",
            "ZnREZWxldGVBdWRpdFRlbmFudBILCgJJZBjJASABKAUiTwpNU29mdERlbGV0",
            "ZUF1ZGl0VGVuYW50QmFzZV9Sb2Nrc3RhckF1ZGl0VGVuYW50X1JvY2tzdGFy",
            "V2l0aElkQW5kUmVzdWx0UmVzcG9uc2UiHAoLU3RyZWFtRmlsZXMSDQoFUGF0",
            "aHMYASADKAki1wEKDFN0cmVhbU1vdmllcxIMCgRTa2lwGAEgASgFEgwKBFRh",
            "a2UYAiABKAUSDwoHT3JkZXJCeRgDIAEoCRITCgtPcmRlckJ5RGVzYxgEIAEo",
            "CRIPCgdJbmNsdWRlGAUgASgJEg4KBkZpZWxkcxgGIAEoCRIlCgRNZXRhGAcg",
            "AygLMhcuU3RyZWFtTW92aWVzLk1ldGFFbnRyeRIQCgdSYXRpbmdzGMkBIAMo",
            "CRorCglNZXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4",
            "ASImChJTdHJlYW1TZXJ2ZXJFdmVudHMSEAoIQ2hhbm5lbHMYASADKAkimwQK",
            "GlN0cmVhbVNlcnZlckV2ZW50c1Jlc3BvbnNlEg8KB0V2ZW50SWQYASABKAMS",
            "DwoHQ2hhbm5lbBgCIAEoCRIQCghTZWxlY3RvchgEIAEoCRIMCgRKc29uGAUg",
            "ASgJEgoKAk9wGAYgASgJEg4KBlRhcmdldBgHIAEoCRITCgtDc3NTZWxlY3Rv",
            "chgIIAEoCRIzCgRNZXRhGAkgAygLMiUuU3RyZWFtU2VydmVyRXZlbnRzUmVz",
            "cG9uc2UuTWV0YUVudHJ5Eg4KBlVzZXJJZBgKIAEoCRITCgtEaXNwbGF5TmFt",
            "ZRgLIAEoCRISCgpQcm9maWxlVXJsGAwgASgJEhcKD0lzQXV0aGVudGljYXRl",
            "ZBgNIAEoCBIQCghDaGFubmVscxgOIAMoCRIRCglDcmVhdGVkQXQYDyABKAMS",
            "CgoCSWQYFSABKAkSFQoNVW5SZWdpc3RlclVybBgWIAEoCRIbChNVcGRhdGVT",
            "dWJzY3JpYmVyVXJsGBcgASgJEhQKDEhlYXJ0YmVhdFVybBgYIAEoCRIbChNI",
            "ZWFydGJlYXRJbnRlcnZhbE1zGBkgASgDEhUKDUlkbGVUaW1lb3V0TXMYGiAB",
            "KAMSJwoOUmVzcG9uc2VTdGF0dXMYHiABKAsyDy5SZXNwb25zZVN0YXR1cxor",
            "CglNZXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASIl",
            "ChJUZXN0QXV0aFZhbGlkYXRvcnMSDwoHTm90TnVsbBgBIAEoCSIuCg9UZXN0",
            "RGJDb25kaXRpb24SCgoCSWQYASABKAUSDwoHTm90TnVsbBgCIAEoCSIuCg9U",
            "ZXN0RGJWYWxpZGF0b3ISCgoCSWQYASABKAUSDwoHTm90TnVsbBgCIAEoCSIe",
            "CgtUZXN0SXNBZG1pbhIPCgdOb3ROdWxsGAEgASgJIioKF1Rlc3RNdWx0aUF1",
            "dGhWYWxpZGF0b3JzEg8KB05vdE51bGwYASABKAkiGAoFVGhyb3cSDwoHTWVz",
            "c2FnZRgBIAEoCSINCgtUaHJvd0N1c3RvbSI+ChNUaHJvd0N1c3RvbVJlc3Bv",
            "bnNlEicKDlJlc3BvbnNlU3RhdHVzGAEgASgLMg8uUmVzcG9uc2VTdGF0dXMi",
            "HAoJVGhyb3dWb2lkEg8KB01lc3NhZ2UYASABKAkiQwoEVG9kbxIKCgJJZBgB",
            "IAEoAxINCgVUaXRsZRgCIAEoCRINCgVPcmRlchgDIAEoBRIRCglDb21wbGV0",
            "ZWQYBCABKAgi3AIKFFRyaWdnZXJBbGxWYWxpZGF0b3JzEhIKCkNyZWRpdENh",
            "cmQYASABKAkSDQoFRW1haWwYAiABKAkSDQoFRW1wdHkYAyABKAkSDQoFRXF1",
            "YWwYBCABKAkSGAoQRXhjbHVzaXZlQmV0d2VlbhgFIAEoBRIaChJHcmVhdGVy",
            "VGhhbk9yRXF1YWwYBiABKAUSEwoLR3JlYXRlclRoYW4YByABKAUSGAoQSW5j",
            "bHVzaXZlQmV0d2VlbhgIIAEoBRIOCgZMZW5ndGgYCSABKAkSFwoPTGVzc1Ro",
            "YW5PckVxdWFsGAogASgFEhAKCExlc3NUaGFuGAsgASgFEhAKCE5vdEVtcHR5",
            "GAwgASgJEhAKCE5vdEVxdWFsGA0gASgJEgwKBE51bGwYDiABKAkSGQoRUmVn",
            "dWxhckV4cHJlc3Npb24YDyABKAkSFgoOU2NhbGVQcmVjaXNpb24YECABKAki",
            "2QIKEVRyaWdnZXJWYWxpZGF0b3JzEhIKCkNyZWRpdENhcmQYASABKAkSDQoF",
            "RW1haWwYAiABKAkSDQoFRW1wdHkYAyABKAkSDQoFRXF1YWwYBCABKAkSGAoQ",
            "RXhjbHVzaXZlQmV0d2VlbhgFIAEoBRIaChJHcmVhdGVyVGhhbk9yRXF1YWwY",
            "BiABKAUSEwoLR3JlYXRlclRoYW4YByABKAUSGAoQSW5jbHVzaXZlQmV0d2Vl",
            "bhgIIAEoBRIOCgZMZW5ndGgYCSABKAkSFwoPTGVzc1RoYW5PckVxdWFsGAog",
            "ASgFEhAKCExlc3NUaGFuGAsgASgFEhAKCE5vdEVtcHR5GAwgASgJEhAKCE5v",
            "dEVxdWFsGA0gASgJEgwKBE51bGwYDiABKAkSGQoRUmVndWxhckV4cHJlc3Np",
            "b24YDyABKAkSFgoOU2NhbGVQcmVjaXNpb24YECABKAkisgEKDFR5cGVXaXRo",
            "RW51bRIKCgJJZBgBIAEoBRIMCgROYW1lGAIgASgJEhsKCFNvbWVFbnVtGAMg",
            "ASgOMgkuU29tZUVudW0SJQoNU29tZUVudW1Bc0ludBgEIAEoDjIOLlNvbWVF",
            "bnVtQXNJbnQSHAoJTlNvbWVFbnVtGAUgASgOMgkuU29tZUVudW0SJgoOTlNv",
            "bWVFbnVtQXNJbnQYBiABKA4yDi5Tb21lRW51bUFzSW50IpoBCg1VbkFzc2ln",
            "blJvbGVzEhAKCFVzZXJOYW1lGAEgASgJEhMKC1Blcm1pc3Npb25zGAIgAygJ",
            "Eg0KBVJvbGVzGAMgAygJEiYKBE1ldGEYBCADKAsyGC5VbkFzc2lnblJvbGVz",
            "Lk1ldGFFbnRyeRorCglNZXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVl",
            "GAIgASgJOgI4ASLHAQoVVW5Bc3NpZ25Sb2xlc1Jlc3BvbnNlEhAKCEFsbFJv",
            "bGVzGAEgAygJEhYKDkFsbFBlcm1pc3Npb25zGAIgAygJEi4KBE1ldGEYAyAD",
            "KAsyIC5VbkFzc2lnblJvbGVzUmVzcG9uc2UuTWV0YUVudHJ5EicKDlJlc3Bv",
            "bnNlU3RhdHVzGAQgASgLMg8uUmVzcG9uc2VTdGF0dXMaKwoJTWV0YUVudHJ5",
            "EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi9gEKQ1VwZGF0ZUF1",
            "ZGl0QmFzZV9Sb2Nrc3RhckF1ZGl0VGVuYW50X1JvY2tzdGFyV2l0aElkQW5k",
            "UmVzdWx0UmVzcG9uc2USowEKSVVwZGF0ZUF1ZGl0VGVuYW50QmFzZV9Sb2Nr",
            "c3RhckF1ZGl0VGVuYW50X1JvY2tzdGFyV2l0aElkQW5kUmVzdWx0UmVzcG9u",
            "c2UYoqKjjgEgASgLMkouVXBkYXRlQXVkaXRUZW5hbnRCYXNlX1JvY2tzdGFy",
            "QXVkaXRUZW5hbnRfUm9ja3N0YXJXaXRoSWRBbmRSZXN1bHRSZXNwb25zZUgA",
            "QgkKB3N1YnR5cGUiSwpJVXBkYXRlQXVkaXRUZW5hbnRCYXNlX1JvY2tzdGFy",
            "QXVkaXRUZW5hbnRfUm9ja3N0YXJXaXRoSWRBbmRSZXN1bHRSZXNwb25zZSLm",
            "AQoNVXBkYXRlQm9va2luZxIKCgJJZBgBIAEoBRIbCghSb29tVHlwZRgCIAEo",
            "DjIJLlJvb21UeXBlEhIKClJvb21OdW1iZXIYAyABKAUSNAoQQm9va2luZ1N0",
            "YXJ0RGF0ZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMgoO",
            "Qm9va2luZ0VuZERhdGUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0",
            "YW1wEg0KBU5vdGVzGAYgASgJEhEKCUNhbmNlbGxlZBgHIAEoCBIMCgRDb3N0",
            "GAggASgJIuABChxVcGRhdGVDb25uZWN0aW9uSW5mb1JvY2tzdGFyEhEKCUZp",
            "cnN0TmFtZRgBIAEoCRIQCghMYXN0TmFtZRgCIAEoCRILCgNBZ2UYAyABKAUS",
            "LwoLRGF0ZU9mQmlydGgYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0",
            "YW1wEiwKCERhdGVEaWVkGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVz",
            "dGFtcBIjCgxMaXZpbmdTdGF0dXMYBiABKA4yDS5MaXZpbmdTdGF0dXMSCgoC",
            "SWQYZSABKAUi1wEKE1VwZGF0ZU5hbWVkUm9ja3N0YXISEQoJRmlyc3ROYW1l",
            "GAEgASgJEhAKCExhc3ROYW1lGAIgASgJEgsKA0FnZRgDIAEoBRIvCgtEYXRl",
            "T2ZCaXJ0aBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoI",
            "RGF0ZURpZWQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiMK",
            "DExpdmluZ1N0YXR1cxgGIAEoDjINLkxpdmluZ1N0YXR1cxIKCgJJZBhlIAEo",
            "BSLSAQoOVXBkYXRlUm9ja3N0YXISEQoJRmlyc3ROYW1lGAEgASgJEhAKCExh",
            "c3ROYW1lGAIgASgJEgsKA0FnZRgDIAEoBRIvCgtEYXRlT2ZCaXJ0aBgEIAEo",
            "CzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoIRGF0ZURpZWQYBSAB",
            "KAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiMKDExpdmluZ1N0YXR1",
            "cxgGIAEoDjINLkxpdmluZ1N0YXR1cxIKCgJJZBhlIAEoBSLiAQoeVXBkYXRl",
            "Um9ja3N0YXJBZGhvY05vbkRlZmF1bHRzEgoKAklkGAEgASgFEhEKCUZpcnN0",
            "TmFtZRgCIAEoCRIQCghMYXN0TmFtZRgDIAEoCRILCgNBZ2UYBCABKAUSLwoL",
            "RGF0ZU9mQmlydGgYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1w",
            "EiwKCERhdGVEaWVkGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFt",
            "cBIjCgxMaXZpbmdTdGF0dXMYByABKA4yDS5MaXZpbmdTdGF0dXMi1wEKE1Vw",
            "ZGF0ZVJvY2tzdGFyQXVkaXQSEQoJRmlyc3ROYW1lGAEgASgJEhAKCExhc3RO",
            "YW1lGAIgASgJEgsKA0FnZRgDIAEoBRIvCgtEYXRlT2ZCaXJ0aBgEIAEoCzIa",
            "Lmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoIRGF0ZURpZWQYBSABKAsy",
            "Gi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiMKDExpdmluZ1N0YXR1cxgG",
            "IAEoDjINLkxpdmluZ1N0YXR1cxIKCgJJZBhlIAEoBSJ4ChlVcGRhdGVSb2Nr",
            "c3RhckF1ZGl0VGVuYW50EhQKC0JlYXJlclRva2VuGMkBIAEoCRILCgJJZBjK",
            "ASABKAUSEgoJRmlyc3ROYW1lGMsBIAEoCRIkCgxMaXZpbmdTdGF0dXMYzAEg",
            "ASgOMg0uTGl2aW5nU3RhdHVzImYKIFVwZGF0ZVJvY2tzdGFyQXVkaXRUZW5h",
            "bnRHYXRld2F5EgoKAklkGAEgASgFEhEKCUZpcnN0TmFtZRgCIAEoCRIjCgxM",
            "aXZpbmdTdGF0dXMYAyABKA4yDS5MaXZpbmdTdGF0dXMiYQobVXBkYXRlUm9j",
            "a3N0YXJBdWRpdFRlbmFudE1xEgoKAklkGAEgASgFEhEKCUZpcnN0TmFtZRgC",
            "IAEoCRIjCgxMaXZpbmdTdGF0dXMYAyABKA4yDS5MaXZpbmdTdGF0dXMi7QEK",
            "FVVwZGF0ZVJvY2tzdGFyVmVyc2lvbhIRCglGaXJzdE5hbWUYASABKAkSEAoI",
            "TGFzdE5hbWUYAiABKAkSCwoDQWdlGAMgASgFEi8KC0RhdGVPZkJpcnRoGAQg",
            "ASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCghEYXRlRGllZBgF",
            "IAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASIwoMTGl2aW5nU3Rh",
            "dHVzGAYgASgOMg0uTGl2aW5nU3RhdHVzEgoKAklkGGUgASgFEhIKClJvd1Zl",
            "cnNpb24YZiABKAQiSQoKVXBkYXRlVG9kbxIKCgJJZBgBIAEoAxINCgVUaXRs",
            "ZRgCIAEoCRINCgVPcmRlchgDIAEoBRIRCglDb21wbGV0ZWQYBCABKAgirAEK",
            "ClVzZXJBcGlLZXkSCwoDS2V5GAEgASgJEg8KB0tleVR5cGUYAiABKAkSLgoK",
            "RXhwaXJ5RGF0ZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAS",
            "IwoETWV0YRgEIAMoCzIVLlVzZXJBcGlLZXkuTWV0YUVudHJ5GisKCU1ldGFF",
            "bnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIs4BChZWYWxp",
            "ZGF0ZUNyZWF0ZVJvY2tzdGFyEhEKCUZpcnN0TmFtZRgBIAEoCRIQCghMYXN0",
            "TmFtZRgCIAEoCRILCgNBZ2UYAyABKAUSLwoLRGF0ZU9mQmlydGgYBCABKAsy",
            "Gi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCERhdGVEaWVkGAUgASgL",
            "MhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIjCgxMaXZpbmdTdGF0dXMY",
            "BiABKA4yDS5MaXZpbmdTdGF0dXMqqgsKDkh0dHBTdGF0dXNDb2RlEggKBFpF",
            "Uk8QABIMCghDb250aW51ZRBkEhYKElN3aXRjaGluZ1Byb3RvY29scxBlEg4K",
            "ClByb2Nlc3NpbmcQZhIOCgpFYXJseUhpbnRzEGcSBwoCT0sQyAESDAoHQ3Jl",
            "YXRlZBDJARINCghBY2NlcHRlZBDKARIgChtOb25BdXRob3JpdGF0aXZlSW5m",
            "b3JtYXRpb24QywESDgoJTm9Db250ZW50EMwBEhEKDFJlc2V0Q29udGVudBDN",
            "ARITCg5QYXJ0aWFsQ29udGVudBDOARIQCgtNdWx0aVN0YXR1cxDPARIUCg9B",
            "bHJlYWR5UmVwb3J0ZWQQ0AESCwoGSU1Vc2VkEOIBEhQKD011bHRpcGxlQ2hv",
            "aWNlcxCsAhIOCglBbWJpZ3VvdXMQrAISFQoQTW92ZWRQZXJtYW5lbnRseRCt",
            "AhIKCgVNb3ZlZBCtAhIKCgVGb3VuZBCuAhINCghSZWRpcmVjdBCuAhINCghT",
            "ZWVPdGhlchCvAhITCg5SZWRpcmVjdE1ldGhvZBCvAhIQCgtOb3RNb2RpZmll",
            "ZBCwAhINCghVc2VQcm94eRCxAhILCgZVbnVzZWQQsgISFgoRVGVtcG9yYXJ5",
            "UmVkaXJlY3QQswISFQoQUmVkaXJlY3RLZWVwVmVyYhCzAhIWChFQZXJtYW5l",
            "bnRSZWRpcmVjdBC0AhIPCgpCYWRSZXF1ZXN0EJADEhEKDFVuYXV0aG9yaXpl",
            "ZBCRAxIUCg9QYXltZW50UmVxdWlyZWQQkgMSDgoJRm9yYmlkZGVuEJMDEg0K",
            "CE5vdEZvdW5kEJQDEhUKEE1ldGhvZE5vdEFsbG93ZWQQlQMSEgoNTm90QWNj",
            "ZXB0YWJsZRCWAxIgChtQcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWQQlwMS",
            "EwoOUmVxdWVzdFRpbWVvdXQQmAMSDQoIQ29uZmxpY3QQmQMSCQoER29uZRCa",
            "AxITCg5MZW5ndGhSZXF1aXJlZBCbAxIXChJQcmVjb25kaXRpb25GYWlsZWQQ",
            "nAMSGgoVUmVxdWVzdEVudGl0eVRvb0xhcmdlEJ0DEhYKEVJlcXVlc3RVcmlU",
            "b29Mb25nEJ4DEhkKFFVuc3VwcG9ydGVkTWVkaWFUeXBlEJ8DEiEKHFJlcXVl",
            "c3RlZFJhbmdlTm90U2F0aXNmaWFibGUQoAMSFgoRRXhwZWN0YXRpb25GYWls",
            "ZWQQoQMSFwoSTWlzZGlyZWN0ZWRSZXF1ZXN0EKUDEhgKE1VucHJvY2Vzc2Fi",
            "bGVFbnRpdHkQpgMSGQoUVW5wcm9jZXNzYWJsZUNvbnRlbnQQpgMSCwoGTG9j",
            "a2VkEKcDEhUKEEZhaWxlZERlcGVuZGVuY3kQqAMSFAoPVXBncmFkZVJlcXVp",
            "cmVkEKoDEhkKFFByZWNvbmRpdGlvblJlcXVpcmVkEKwDEhQKD1Rvb01hbnlS",
            "ZXF1ZXN0cxCtAxIgChtSZXF1ZXN0SGVhZGVyRmllbGRzVG9vTGFyZ2UQrwMS",
            "HwoaVW5hdmFpbGFibGVGb3JMZWdhbFJlYXNvbnMQwwMSGAoTSW50ZXJuYWxT",
            "ZXJ2ZXJFcnJvchD0AxITCg5Ob3RJbXBsZW1lbnRlZBD1AxIPCgpCYWRHYXRl",
            "d2F5EPYDEhcKElNlcnZpY2VVbmF2YWlsYWJsZRD3AxITCg5HYXRld2F5VGlt",
            "ZW91dBD4AxIcChdIdHRwVmVyc2lvbk5vdFN1cHBvcnRlZBD5AxIaChVWYXJp",
            "YW50QWxzb05lZ290aWF0ZXMQ+gMSGAoTSW5zdWZmaWNpZW50U3RvcmFnZRD7",
            "AxIRCgxMb29wRGV0ZWN0ZWQQ/AMSEAoLTm90RXh0ZW5kZWQQ/gMSIgodTmV0",
            "d29ya0F1dGhlbnRpY2F0aW9uUmVxdWlyZWQQ/wMaAhABKiMKDExpdmluZ1N0",
            "YXR1cxIJCgVBbGl2ZRAAEggKBERlYWQQASpCCghSb29tVHlwZRIKCgZTaW5n",
            "bGUQABIKCgZEb3VibGUQARIJCgVRdWVlbhACEggKBFR3aW4QAxIJCgVTdWl0",
            "ZRAEKl4KCFNvbWVFbnVtEhMKD1NvbWVFbnVtX1ZhbHVlMBAAEhMKD1NvbWVF",
            "bnVtX1ZhbHVlMRABEhMKD1NvbWVFbnVtX1ZhbHVlMhACEhMKD1NvbWVFbnVt",
            "X1ZhbHVlMxADKj8KDVNvbWVFbnVtQXNJbnQSCgoGVmFsdWUwEAASCgoGVmFs",
            "dWUxEAESCgoGVmFsdWUyEAISCgoGVmFsdWUzEAMy+4sBCgxHcnBjU2Vydmlj",
            "ZXMSLAoMR2V0QWRkSGVhZGVyEgouQWRkSGVhZGVyGg4uRW1wdHlSZXNwb25z",
            "ZSIAEioKC0dldEFueUhlbGxvEgkuQW55SGVsbG8aDi5IZWxsb1Jlc3BvbnNl",
            "IgASKwoMUG9zdEFueUhlbGxvEgkuQW55SGVsbG8aDi5IZWxsb1Jlc3BvbnNl",
            "IgASKgoLUHV0QW55SGVsbG8SCS5BbnlIZWxsbxoOLkhlbGxvUmVzcG9uc2Ui",
            "ABItCg5EZWxldGVBbnlIZWxsbxIJLkFueUhlbGxvGg4uSGVsbG9SZXNwb25z",
            "ZSIAEjcKD1Bvc3RBc3NpZ25Sb2xlcxIMLkFzc2lnblJvbGVzGhQuQXNzaWdu",
            "Um9sZXNSZXNwb25zZSIAEj0KE09wdGlvbnNBdXRoZW50aWNhdGUSDS5BdXRo",
            "ZW50aWNhdGUaFS5BdXRoZW50aWNhdGVSZXNwb25zZSIAEjkKD0dldEF1dGhl",
            "bnRpY2F0ZRINLkF1dGhlbnRpY2F0ZRoVLkF1dGhlbnRpY2F0ZVJlc3BvbnNl",
            "IgASOgoQUG9zdEF1dGhlbnRpY2F0ZRINLkF1dGhlbnRpY2F0ZRoVLkF1dGhl",
            "bnRpY2F0ZVJlc3BvbnNlIgASLQoLR2V0Q2hhbmdlRGISCS5DaGFuZ2VEYhoR",
            "LkNoYW5nZURiUmVzcG9uc2UiABJVChlQb3N0Q29udmVydFNlc3Npb25Ub1Rv",
            "a2VuEhYuQ29udmVydFNlc3Npb25Ub1Rva2VuGh4uQ29udmVydFNlc3Npb25U",
            "b1Rva2VuUmVzcG9uc2UiABIyChFQb3N0Q3JlYXRlQm9va2luZxIOLkNyZWF0",
            "ZUJvb2tpbmcaCy5JZFJlc3BvbnNlIgASQAoSUG9zdENyZWF0ZUJvb2ttYXJr",
            "Eg8uQ3JlYXRlQm9va21hcmsaFy5DcmVhdGVCb29rbWFya1Jlc3BvbnNlIgAS",
            "ZQogUG9zdENyZWF0ZUNvbm5lY3Rpb25JbmZvUm9ja3N0YXISHS5DcmVhdGVD",
            "b25uZWN0aW9uSW5mb1JvY2tzdGFyGiAuUm9ja3N0YXJXaXRoSWRBbmRSZXN1",
            "bHRSZXNwb25zZSIAElMKF1Bvc3RDcmVhdGVOYW1lZFJvY2tzdGFyEhQuQ3Jl",
            "YXRlTmFtZWRSb2Nrc3RhchogLlJvY2tzdGFyV2l0aElkQW5kUmVzdWx0UmVz",
            "cG9uc2UiABJAChJQb3N0Q3JlYXRlUm9ja3N0YXISDy5DcmVhdGVSb2Nrc3Rh",
            "choXLkNyZWF0ZVJvY2tzdGFyUmVzcG9uc2UiABJpCiJQb3N0Q3JlYXRlUm9j",
            "a3N0YXJBZGhvY05vbkRlZmF1bHRzEh8uQ3JlYXRlUm9ja3N0YXJBZGhvY05v",
            "bkRlZmF1bHRzGiAuUm9ja3N0YXJXaXRoSWRBbmRSZXN1bHRSZXNwb25zZSIA",
            "EkoKF1Bvc3RDcmVhdGVSb2Nrc3RhckF1ZGl0EhQuQ3JlYXRlUm9ja3N0YXJB",
            "dWRpdBoXLlJvY2tzdGFyV2l0aElkUmVzcG9uc2UiABJYCh5Qb3N0Q3JlYXRl",
            "Um9ja3N0YXJBdWRpdE1xVG9rZW4SGy5DcmVhdGVSb2Nrc3RhckF1ZGl0TXFU",
            "b2tlbhoXLlJvY2tzdGFyV2l0aElkUmVzcG9uc2UiABJfCh1Qb3N0Q3JlYXRl",
            "Um9ja3N0YXJBdWRpdFRlbmFudBIaLkNyZWF0ZVJvY2tzdGFyQXVkaXRUZW5h",
            "bnQaIC5Sb2Nrc3RhcldpdGhJZEFuZFJlc3VsdFJlc3BvbnNlIgASbQokUG9z",
            "dENyZWF0ZVJvY2tzdGFyQXVkaXRUZW5hbnRHYXRld2F5EiEuQ3JlYXRlUm9j",
            "a3N0YXJBdWRpdFRlbmFudEdhdGV3YXkaIC5Sb2Nrc3RhcldpdGhJZEFuZFJl",
            "c3VsdFJlc3BvbnNlIgASUAoeR2V0Q3JlYXRlUm9ja3N0YXJBdWRpdFRlbmFu",
            "dE1xEhwuQ3JlYXRlUm9ja3N0YXJBdWRpdFRlbmFudE1xGg4uRW1wdHlSZXNw",
            "b25zZSIAElEKH1Bvc3RDcmVhdGVSb2Nrc3RhckF1ZGl0VGVuYW50TXESHC5D",
            "cmVhdGVSb2Nrc3RhckF1ZGl0VGVuYW50TXEaDi5FbXB0eVJlc3BvbnNlIgAS",
            "UAoeUHV0Q3JlYXRlUm9ja3N0YXJBdWRpdFRlbmFudE1xEhwuQ3JlYXRlUm9j",
            "a3N0YXJBdWRpdFRlbmFudE1xGg4uRW1wdHlSZXNwb25zZSIAElMKIURlbGV0",
            "ZUNyZWF0ZVJvY2tzdGFyQXVkaXRUZW5hbnRNcRIcLkNyZWF0ZVJvY2tzdGFy",
            "QXVkaXRUZW5hbnRNcRoOLkVtcHR5UmVzcG9uc2UiABJXChlQb3N0Q3JlYXRl",
            "Um9ja3N0YXJBdXRvTWFwEhYuQ3JlYXRlUm9ja3N0YXJBdXRvTWFwGiAuUm9j",
            "a3N0YXJXaXRoSWRBbmRSZXN1bHRSZXNwb25zZSIAElsKGVBvc3RDcmVhdGVS",
            "b2Nrc3RhclZlcnNpb24SFi5DcmVhdGVSb2Nrc3RhclZlcnNpb24aJC5Sb2Nr",
            "c3RhcldpdGhJZEFuZFJvd1ZlcnNpb25SZXNwb25zZSIAEmYKHlBvc3RDcmVh",
            "dGVSb2Nrc3RhcldpdGhBdXRvR3VpZBIbLkNyZWF0ZVJvY2tzdGFyV2l0aEF1",
            "dG9HdWlkGiUuQ3JlYXRlUm9ja3N0YXJXaXRoUmV0dXJuR3VpZFJlc3BvbnNl",
            "IgASXQocUG9zdENyZWF0ZVJvY2tzdGFyV2l0aFJldHVybhIZLkNyZWF0ZVJv",
            "Y2tzdGFyV2l0aFJldHVybhogLlJvY2tzdGFyV2l0aElkQW5kUmVzdWx0UmVz",
            "cG9uc2UiABJTCiBQb3N0Q3JlYXRlUm9ja3N0YXJXaXRoVm9pZFJldHVybhId",
            "LkNyZWF0ZVJvY2tzdGFyV2l0aFZvaWRSZXR1cm4aDi5FbXB0eVJlc3BvbnNl",
            "IgASNAoOUG9zdENyZWF0ZVRvZG8SCy5DcmVhdGVUb2RvGhMuQ3JlYXRlVG9k",
            "b1Jlc3BvbnNlIgASUAoaUG9zdEN1c3RvbVZhbGlkYXRpb25FcnJvcnMSFy5D",
            "dXN0b21WYWxpZGF0aW9uRXJyb3JzGhcuUm9ja3N0YXJXaXRoSWRSZXNwb25z",
            "ZSIAEjUKEUNhbGxEZWxldGVCb29raW5nEg4uRGVsZXRlQm9va2luZxoOLkVt",
            "cHR5UmVzcG9uc2UiABI3ChJDYWxsRGVsZXRlUm9ja3N0YXISDy5EZWxldGVS",
            "b2Nrc3RhchoOLkVtcHR5UmVzcG9uc2UiABJSChdDYWxsRGVsZXRlUm9ja3N0",
            "YXJBdWRpdBIULkRlbGV0ZVJvY2tzdGFyQXVkaXQaHy5Sb2Nrc3RhcldpdGhJ",
            "ZEFuZENvdW50UmVzcG9uc2UiABJTChlDYWxsRGVsZXRlUm9ja3N0YXJGaWx0",
            "ZXJzEhYuRGVsZXRlUm9ja3N0YXJGaWx0ZXJzGhwuRGVsZXRlUm9ja3N0YXJD",
            "b3VudFJlc3BvbnNlIgASLwoOQ2FsbERlbGV0ZVRvZG8SCy5EZWxldGVUb2Rv",
            "Gg4uRW1wdHlSZXNwb25zZSIAEjEKD0NhbGxEZWxldGVUb2RvcxIMLkRlbGV0",
            "ZVRvZG9zGg4uRW1wdHlSZXNwb25zZSIAEl4KJ1Bvc3REeW5hbWljQ3JlYXRl",
            "Q29ubmVjdGlvbkluZm9Sb2Nrc3RhchIPLkR5bmFtaWNSZXF1ZXN0GiAuUm9j",
            "a3N0YXJXaXRoSWRBbmRSZXN1bHRSZXNwb25zZSIAEl0KJlB1dER5bmFtaWNV",
            "cGRhdGVDb25uZWN0aW9uSW5mb1JvY2tzdGFyEg8uRHluYW1pY1JlcXVlc3Qa",
            "IC5Sb2Nrc3RhcldpdGhJZEFuZFJlc3VsdFJlc3BvbnNlIgASTwohR2V0RHlu",
            "YW1pY1F1ZXJ5T3ZlcnJpZGVkUm9ja3N0YXJzEg8uRHluYW1pY1JlcXVlc3Qa",
            "Fy5RdWVyeVJlc3BvbnNlX1JvY2tzdGFyIgASWwonR2V0RHluYW1pY1F1ZXJ5",
            "T3ZlcnJpZGVkQ3VzdG9tUm9ja3N0YXJzEg8uRHluYW1pY1JlcXVlc3QaHS5R",
            "dWVyeVJlc3BvbnNlX0N1c3RvbVJvY2tzdGFyIgASUwolR2V0RHluYW1pY1F1",
            "ZXJ5Q2FzZUluc2Vuc2l0aXZlT3JkZXJCeRIPLkR5bmFtaWNSZXF1ZXN0Ghcu",
            "UXVlcnlSZXNwb25zZV9Sb2Nrc3RhciIAEkEKFkdldER5bmFtaWNTdHJlYW1N",
            "b3ZpZXMSDy5EeW5hbWljUmVxdWVzdBoULlF1ZXJ5UmVzcG9uc2VfTW92aWUi",
            "ABJfCihHZXREeW5hbWljUXVlcnlDdXN0b21Sb2Nrc3RhcnNSZWZlcmVuY2Vz",
            "Eg8uRHluYW1pY1JlcXVlc3QaIC5RdWVyeVJlc3BvbnNlX1JvY2tzdGFyUmVm",
            "ZXJlbmNlIgASXworR2V0RHluYW1pY1F1ZXJ5Um9ja3N0YXJBbGJ1bXNDdXN0",
            "b21MZWZ0Sm9pbhIPLkR5bmFtaWNSZXF1ZXN0Gh0uUXVlcnlSZXNwb25zZV9D",
            "dXN0b21Sb2Nrc3RhciIAEk4KHEdldER5bmFtaWNRdWVyeVJvY2tzdGFyQXVk",
            "aXQSDy5EeW5hbWljUmVxdWVzdBobLlF1ZXJ5UmVzcG9uc2VfUm9ja3N0YXJB",
            "dXRvIgASUwohR2V0RHluYW1pY1F1ZXJ5Um9ja3N0YXJBdWRpdFN1Yk9yEg8u",
            "RHluYW1pY1JlcXVlc3QaGy5RdWVyeVJlc3BvbnNlX1JvY2tzdGFyQXV0byIA",
            "EkQKF0dldER5bmFtaWNRdWVyeUJvb2tpbmdzEg8uRHluYW1pY1JlcXVlc3Qa",
            "Fi5RdWVyeVJlc3BvbnNlX0Jvb2tpbmciABJGChhHZXREeW5hbWljUXVlcnlC",
            "b29rbWFya3MSDy5EeW5hbWljUmVxdWVzdBoXLlF1ZXJ5UmVzcG9uc2VfQm9v",
            "a21hcmsiABJGChhHZXREeW5hbWljUXVlcnlSb2Nrc3RhcnMSDy5EeW5hbWlj",
            "UmVxdWVzdBoXLlF1ZXJ5UmVzcG9uc2VfUm9ja3N0YXIiABJQCh1HZXREeW5h",
            "bWljUXVlcnlSb2Nrc3RhckFsYnVtcxIPLkR5bmFtaWNSZXF1ZXN0GhwuUXVl",
            "cnlSZXNwb25zZV9Sb2Nrc3RhckFsYnVtIgASSQoZR2V0RHluYW1pY1F1ZXJ5",
            "UGFnaW5nVGVzdBIPLkR5bmFtaWNSZXF1ZXN0GhkuUXVlcnlSZXNwb25zZV9Q",
            "YWdpbmdUZXN0IgASUQojR2V0RHluYW1pY1F1ZXJ5Um9ja3N0YXJzQ29udmVu",
            "dGlvbnMSDy5EeW5hbWljUmVxdWVzdBoXLlF1ZXJ5UmVzcG9uc2VfUm9ja3N0",
            "YXIiABJSCh5HZXREeW5hbWljUXVlcnlDdXN0b21Sb2Nrc3RhcnMSDy5EeW5h",
            "bWljUmVxdWVzdBodLlF1ZXJ5UmVzcG9uc2VfQ3VzdG9tUm9ja3N0YXIiABJX",
            "CiNHZXREeW5hbWljUXVlcnlKb2luZWRSb2Nrc3RhckFsYnVtcxIPLkR5bmFt",
            "aWNSZXF1ZXN0Gh0uUXVlcnlSZXNwb25zZV9DdXN0b21Sb2Nrc3RhciIAElkK",
            "JUdldER5bmFtaWNRdWVyeVJvY2tzdGFyQWxidW1zSW1wbGljaXQSDy5EeW5h",
            "bWljUmVxdWVzdBodLlF1ZXJ5UmVzcG9uc2VfQ3VzdG9tUm9ja3N0YXIiABJZ",
            "CiVHZXREeW5hbWljUXVlcnlSb2Nrc3RhckFsYnVtc0xlZnRKb2luEg8uRHlu",
            "YW1pY1JlcXVlc3QaHS5RdWVyeVJlc3BvbnNlX0N1c3RvbVJvY2tzdGFyIgAS",
            "VAogR2V0RHluYW1pY1F1ZXJ5TXVsdGlKb2luUm9ja3N0YXISDy5EeW5hbWlj",
            "UmVxdWVzdBodLlF1ZXJ5UmVzcG9uc2VfQ3VzdG9tUm9ja3N0YXIiABJLCh1H",
            "ZXREeW5hbWljUXVlcnlGaWVsZFJvY2tzdGFycxIPLkR5bmFtaWNSZXF1ZXN0",
            "GhcuUXVlcnlSZXNwb25zZV9Sb2Nrc3RhciIAEk8KHEdldER5bmFtaWNRdWVy",
            "eVJvY2tzdGFyQWxpYXMSDy5EeW5hbWljUmVxdWVzdBocLlF1ZXJ5UmVzcG9u",
            "c2VfUm9ja3N0YXJBbGlhcyIAElIKJEdldER5bmFtaWNRdWVyeUZpZWxkUm9j",
            "a3N0YXJzRHluYW1pYxIPLkR5bmFtaWNSZXF1ZXN0GhcuUXVlcnlSZXNwb25z",
            "ZV9Sb2Nrc3RhciIAEkwKHkdldER5bmFtaWNRdWVyeVJvY2tzdGFyc0ZpbHRl",
            "chIPLkR5bmFtaWNSZXF1ZXN0GhcuUXVlcnlSZXNwb25zZV9Sb2Nrc3RhciIA",
            "ElgKJEdldER5bmFtaWNRdWVyeUN1c3RvbVJvY2tzdGFyc0ZpbHRlchIPLkR5",
            "bmFtaWNSZXF1ZXN0Gh0uUXVlcnlSZXNwb25zZV9DdXN0b21Sb2Nrc3RhciIA",
            "Ek0KH0dldER5bmFtaWNRdWVyeVJvY2tzdGFyc0lGaWx0ZXISDy5EeW5hbWlj",
            "UmVxdWVzdBoXLlF1ZXJ5UmVzcG9uc2VfUm9ja3N0YXIiABJIChpHZXREeW5h",
            "bWljUXVlcnlPclJvY2tzdGFycxIPLkR5bmFtaWNSZXF1ZXN0GhcuUXVlcnlS",
            "ZXNwb25zZV9Sb2Nrc3RhciIAEk4KIEdldER5bmFtaWNRdWVyeVJvY2tzdGFy",
            "c0ltcGxpY2l0Eg8uRHluYW1pY1JlcXVlc3QaFy5RdWVyeVJlc3BvbnNlX1Jv",
            "Y2tzdGFyIgASTgogR2V0RHluYW1pY1F1ZXJ5T3JSb2Nrc3RhcnNGaWVsZHMS",
            "Dy5EeW5hbWljUmVxdWVzdBoXLlF1ZXJ5UmVzcG9uc2VfUm9ja3N0YXIiABJW",
            "CihHZXREeW5hbWljUXVlcnlGaWVsZHNJbXBsaWNpdENvbnZlbnRpb25zEg8u",
            "RHluYW1pY1JlcXVlc3QaFy5RdWVyeVJlc3BvbnNlX1JvY2tzdGFyIgASSQob",
            "R2V0RHluYW1pY1F1ZXJ5R2V0Um9ja3N0YXJzEg8uRHluYW1pY1JlcXVlc3Qa",
            "Fy5RdWVyeVJlc3BvbnNlX1JvY2tzdGFyIgASTAoeR2V0RHluYW1pY1F1ZXJ5",
            "Um9ja3N0YXJGaWx0ZXJzEg8uRHluYW1pY1JlcXVlc3QaFy5RdWVyeVJlc3Bv",
            "bnNlX1JvY2tzdGFyIgASUAoiR2V0RHluYW1pY1F1ZXJ5R2V0Um9ja3N0YXJz",
            "RHluYW1pYxIPLkR5bmFtaWNSZXF1ZXN0GhcuUXVlcnlSZXNwb25zZV9Sb2Nr",
            "c3RhciIAEl4KJEdldER5bmFtaWNRdWVyeUN1c3RvbVJvY2tzdGFyc1NjaGVt",
            "YRIPLkR5bmFtaWNSZXF1ZXN0GiMuUXVlcnlSZXNwb25zZV9DdXN0b21Sb2Nr",
            "c3RhclNjaGVtYSIAEkEKFkdldER5bmFtaWNTZWFyY2hNb3ZpZXMSDy5EeW5h",
            "bWljUmVxdWVzdBoULlF1ZXJ5UmVzcG9uc2VfTW92aWUiABJAChVHZXREeW5h",
            "bWljUXVlcnlNb3ZpZXMSDy5EeW5hbWljUmVxdWVzdBoULlF1ZXJ5UmVzcG9u",
            "c2VfTW92aWUiABJNCh9HZXREeW5hbWljUXVlcnlVbmtub3duUm9ja3N0YXJz",
            "Eg8uRHluYW1pY1JlcXVlc3QaFy5RdWVyeVJlc3BvbnNlX1JvY2tzdGFyIgAS",
            "XQomR2V0RHluYW1pY1F1ZXJ5Um9ja3N0YXJzV2l0aFJlZmVyZW5jZXMSDy5E",
            "eW5hbWljUmVxdWVzdBogLlF1ZXJ5UmVzcG9uc2VfUm9ja3N0YXJSZWZlcmVu",
            "Y2UiABJHChhHZXREeW5hbWljUXVlcnlBbGxGaWVsZHMSDy5EeW5hbWljUmVx",
            "dWVzdBoYLlF1ZXJ5UmVzcG9uc2VfQWxsRmllbGRzIgASTgocR2V0RHluYW1p",
            "Y1F1ZXJ5VHlwZVdpdGhFbnVtcxIPLkR5bmFtaWNSZXF1ZXN0GhsuUXVlcnlS",
            "ZXNwb25zZV9UeXBlV2l0aEVudW0iABJLCh1HZXREeW5hbWljUXVlcnlBZGhv",
            "Y1JvY2tzdGFycxIPLkR5bmFtaWNSZXF1ZXN0GhcuUXVlcnlSZXNwb25zZV9S",
            "b2Nrc3RhciIAEj8KFEdldER5bmFtaWNRdWVyeUFkaG9jEg8uRHluYW1pY1Jl",
            "cXVlc3QaFC5RdWVyeVJlc3BvbnNlX0FkaG9jIgASRQoXR2V0RHluYW1pY1F1",
            "ZXJ5Q2hhbmdlRGISDy5EeW5hbWljUmVxdWVzdBoXLlF1ZXJ5UmVzcG9uc2Vf",
            "Um9ja3N0YXIiABJpCi9HZXREeW5hbWljUXVlcnlKb2luZWRSb2Nrc3RhckFs",
            "YnVtc0N1c3RvbVNlbGVjdBIPLkR5bmFtaWNSZXF1ZXN0GiMuUXVlcnlSZXNw",
            "b25zZV9DdXN0b21TZWxlY3RSb2Nrc3RhciIAEnkKN0dldER5bmFtaWNRdWVy",
            "eUpvaW5lZFJvY2tzdGFyQWxidW1zQ3VzdG9tU2VsZWN0UmVzcG9uc2USDy5E",
            "eW5hbWljUmVxdWVzdBorLlF1ZXJ5UmVzcG9uc2VfQ3VzdG9tU2VsZWN0Um9j",
            "a3N0YXJSZXNwb25zZSIAEjwKE0dldER5bmFtaWNRdWVyeUZvb3MSDy5EeW5h",
            "bWljUmVxdWVzdBoSLlF1ZXJ5UmVzcG9uc2VfRm9vIgASRwoZUG9zdER5bmFt",
            "aWNDcmVhdGVSb2Nrc3RhchIPLkR5bmFtaWNSZXF1ZXN0GhcuQ3JlYXRlUm9j",
            "a3N0YXJSZXNwb25zZSIAEloKI1Bvc3REeW5hbWljQ3JlYXRlUm9ja3N0YXJX",
            "aXRoUmV0dXJuEg8uRHluYW1pY1JlcXVlc3QaIC5Sb2Nrc3RhcldpdGhJZEFu",
            "ZFJlc3VsdFJlc3BvbnNlIgASTAonUG9zdER5bmFtaWNDcmVhdGVSb2Nrc3Rh",
            "cldpdGhWb2lkUmV0dXJuEg8uRHluYW1pY1JlcXVlc3QaDi5FbXB0eVJlc3Bv",
            "bnNlIgASYQolUG9zdER5bmFtaWNDcmVhdGVSb2Nrc3RhcldpdGhBdXRvR3Vp",
            "ZBIPLkR5bmFtaWNSZXF1ZXN0GiUuQ3JlYXRlUm9ja3N0YXJXaXRoUmV0dXJu",
            "R3VpZFJlc3BvbnNlIgASTAoeUG9zdER5bmFtaWNDcmVhdGVSb2Nrc3RhckF1",
            "ZGl0Eg8uRHluYW1pY1JlcXVlc3QaFy5Sb2Nrc3RhcldpdGhJZFJlc3BvbnNl",
            "IgASWwokUG9zdER5bmFtaWNDcmVhdGVSb2Nrc3RhckF1ZGl0VGVuYW50Eg8u",
            "RHluYW1pY1JlcXVlc3QaIC5Sb2Nrc3RhcldpdGhJZEFuZFJlc3VsdFJlc3Bv",
            "bnNlIgASWgojUHV0RHluYW1pY1VwZGF0ZVJvY2tzdGFyQXVkaXRUZW5hbnQS",
            "Dy5EeW5hbWljUmVxdWVzdBogLlJvY2tzdGFyV2l0aElkQW5kUmVzdWx0UmVz",
            "cG9uc2UiABJbCiRQYXRjaER5bmFtaWNQYXRjaFJvY2tzdGFyQXVkaXRUZW5h",
            "bnQSDy5EeW5hbWljUmVxdWVzdBogLlJvY2tzdGFyV2l0aElkQW5kUmVzdWx0",
            "UmVzcG9uc2UiABJWCh9QdXREeW5hbWljU29mdERlbGV0ZUF1ZGl0VGVuYW50",
            "Eg8uRHluYW1pY1JlcXVlc3QaIC5Sb2Nrc3RhcldpdGhJZEFuZFJlc3VsdFJl",
            "c3BvbnNlIgASUwolUG9zdER5bmFtaWNDcmVhdGVSb2Nrc3RhckF1ZGl0TXFU",
            "b2tlbhIPLkR5bmFtaWNSZXF1ZXN0GhcuUm9ja3N0YXJXaXRoSWRSZXNwb25z",
            "ZSIAElgKIkRlbGV0ZUR5bmFtaWNSZWFsRGVsZXRlQXVkaXRUZW5hbnQSDy5E",
            "eW5hbWljUmVxdWVzdBofLlJvY2tzdGFyV2l0aElkQW5kQ291bnRSZXNwb25z",
            "ZSIAElsKIFBvc3REeW5hbWljQ3JlYXRlUm9ja3N0YXJWZXJzaW9uEg8uRHlu",
            "YW1pY1JlcXVlc3QaJC5Sb2Nrc3RhcldpdGhJZEFuZFJvd1ZlcnNpb25SZXNw",
            "b25zZSIAEmAKKVBvc3REeW5hbWljQ3JlYXRlUm9ja3N0YXJBZGhvY05vbkRl",
            "ZmF1bHRzEg8uRHluYW1pY1JlcXVlc3QaIC5Sb2Nrc3RhcldpdGhJZEFuZFJl",
            "c3VsdFJlc3BvbnNlIgASVwogUG9zdER5bmFtaWNDcmVhdGVSb2Nrc3RhckF1",
            "dG9NYXASDy5EeW5hbWljUmVxdWVzdBogLlJvY2tzdGFyV2l0aElkQW5kUmVz",
            "dWx0UmVzcG9uc2UiABI9ChhQdXREeW5hbWljVXBkYXRlUm9ja3N0YXISDy5E",
            "eW5hbWljUmVxdWVzdBoOLkVtcHR5UmVzcG9uc2UiABJECh9QYXRjaER5bmFt",
            "aWNVcGRhdGVSb2Nrc3RhckF1ZGl0Eg8uRHluYW1pY1JlcXVlc3QaDi5FbXB0",
            "eVJlc3BvbnNlIgASVgogRGVsZXRlRHluYW1pY0RlbGV0ZVJvY2tzdGFyQXVk",
            "aXQSDy5EeW5hbWljUmVxdWVzdBofLlJvY2tzdGFyV2l0aElkQW5kQ291bnRS",
            "ZXNwb25zZSIAElwKIVBhdGNoRHluYW1pY1VwZGF0ZVJvY2tzdGFyVmVyc2lv",
            "bhIPLkR5bmFtaWNSZXF1ZXN0GiQuUm9ja3N0YXJXaXRoSWRBbmRSb3dWZXJz",
            "aW9uUmVzcG9uc2UiABI+ChlQYXRjaER5bmFtaWNQYXRjaFJvY2tzdGFyEg8u",
            "RHluYW1pY1JlcXVlc3QaDi5FbXB0eVJlc3BvbnNlIgASTQooUHV0RHluYW1p",
            "Y1VwZGF0ZVJvY2tzdGFyQWRob2NOb25EZWZhdWx0cxIPLkR5bmFtaWNSZXF1",
            "ZXN0Gg4uRW1wdHlSZXNwb25zZSIAEkAKG0RlbGV0ZUR5bmFtaWNEZWxldGVS",
            "b2Nrc3RhchIPLkR5bmFtaWNSZXF1ZXN0Gg4uRW1wdHlSZXNwb25zZSIAElUK",
            "IkRlbGV0ZUR5bmFtaWNEZWxldGVSb2Nrc3RhckZpbHRlcnMSDy5EeW5hbWlj",
            "UmVxdWVzdBocLkRlbGV0ZVJvY2tzdGFyQ291bnRSZXNwb25zZSIAElUKHlBv",
            "c3REeW5hbWljQ3JlYXRlTmFtZWRSb2Nrc3RhchIPLkR5bmFtaWNSZXF1ZXN0",
            "GiAuUm9ja3N0YXJXaXRoSWRBbmRSZXN1bHRSZXNwb25zZSIAElQKHVB1dER5",
            "bmFtaWNVcGRhdGVOYW1lZFJvY2tzdGFyEg8uRHluYW1pY1JlcXVlc3QaIC5S",
            "b2Nrc3RhcldpdGhJZEFuZFJlc3VsdFJlc3BvbnNlIgASOgoYUG9zdER5bmFt",
            "aWNDcmVhdGVCb29raW5nEg8uRHluYW1pY1JlcXVlc3QaCy5JZFJlc3BvbnNl",
            "IgASOwoZUGF0Y2hEeW5hbWljVXBkYXRlQm9va2luZxIPLkR5bmFtaWNSZXF1",
            "ZXN0GgsuSWRSZXNwb25zZSIAEj8KGkRlbGV0ZUR5bmFtaWNEZWxldGVCb29r",
            "aW5nEg8uRHluYW1pY1JlcXVlc3QaDi5FbXB0eVJlc3BvbnNlIgASTwohUG9z",
            "dER5bmFtaWNWYWxpZGF0ZUNyZWF0ZVJvY2tzdGFyEg8uRHluYW1pY1JlcXVl",
            "c3QaFy5Sb2Nrc3RhcldpdGhJZFJlc3BvbnNlIgASTAoeUG9zdER5bmFtaWNO",
            "b0Fic3RyYWN0VmFsaWRhdG9yEg8uRHluYW1pY1JlcXVlc3QaFy5Sb2Nrc3Rh",
            "cldpdGhJZFJlc3BvbnNlIgASSAoaUG9zdER5bmFtaWNFbXB0eVZhbGlkYXRv",
            "cnMSDy5EeW5hbWljUmVxdWVzdBoXLlJvY2tzdGFyV2l0aElkUmVzcG9uc2Ui",
            "ABJNCh9Qb3N0RHluYW1pY1RyaWdnZXJBbGxWYWxpZGF0b3JzEg8uRHluYW1p",
            "Y1JlcXVlc3QaFy5Sb2Nrc3RhcldpdGhJZFJlc3BvbnNlIgASTwohUG9zdER5",
            "bmFtaWNEeW5hbWljVmFsaWRhdGlvblJ1bGVzEg8uRHluYW1pY1JlcXVlc3Qa",
            "Fy5Sb2Nrc3RhcldpdGhJZFJlc3BvbnNlIgASTwohUG9zdER5bmFtaWNDdXN0",
            "b21WYWxpZGF0aW9uRXJyb3JzEg8uRHluYW1pY1JlcXVlc3QaFy5Sb2Nrc3Rh",
            "cldpdGhJZFJlc3BvbnNlIgASSwodUG9zdER5bmFtaWNUZXN0QXV0aFZhbGlk",
            "YXRvcnMSDy5EeW5hbWljUmVxdWVzdBoXLlJvY2tzdGFyV2l0aElkUmVzcG9u",
            "c2UiABJQCiJQb3N0RHluYW1pY1Rlc3RNdWx0aUF1dGhWYWxpZGF0b3JzEg8u",
            "RHluYW1pY1JlcXVlc3QaFy5Sb2Nrc3RhcldpdGhJZFJlc3BvbnNlIgASRAoW",
            "UG9zdER5bmFtaWNUZXN0SXNBZG1pbhIPLkR5bmFtaWNSZXF1ZXN0GhcuUm9j",
            "a3N0YXJXaXRoSWRSZXNwb25zZSIAEkgKGlBvc3REeW5hbWljVGVzdERiQ29u",
            "ZGl0aW9uEg8uRHluYW1pY1JlcXVlc3QaFy5Sb2Nrc3RhcldpdGhJZFJlc3Bv",
            "bnNlIgASSAoaUG9zdER5bmFtaWNUZXN0RGJWYWxpZGF0b3ISDy5EeW5hbWlj",
            "UmVxdWVzdBoXLlJvY2tzdGFyV2l0aElkUmVzcG9uc2UiABJNCh9Qb3N0RHlu",
            "YW1pY09ubHlWYWxpZGF0ZXNSZXF1ZXN0Eg8uRHluYW1pY1JlcXVlc3QaFy5S",
            "b2Nrc3RhcldpdGhJZFJlc3BvbnNlIgASRwoZUG9zdER5bmFtaWNDcmVhdGVC",
            "b29rbWFyaxIPLkR5bmFtaWNSZXF1ZXN0GhcuQ3JlYXRlQm9va21hcmtSZXNw",
            "b25zZSIAElAKGlBvc3REeW5hbWljVmFsaWRhdGlvblJ1bGVzEhcuRHluYW1p",
            "Y1ZhbGlkYXRpb25SdWxlcxoXLlJvY2tzdGFyV2l0aElkUmVzcG9uc2UiABJC",
            "ChNQb3N0RW1wdHlWYWxpZGF0b3JzEhAuRW1wdHlWYWxpZGF0b3JzGhcuUm9j",
            "a3N0YXJXaXRoSWRSZXNwb25zZSIAEk0KGEdldEVuZHNXaXRoU3VmZml4UmVx",
            "dWVzdBIWLkVuZHNXaXRoU3VmZml4UmVxdWVzdBoXLkVuZHNXaXRoU3VmZml4",
            "UmVzcG9uc2UiABJOChlQb3N0RW5kc1dpdGhTdWZmaXhSZXF1ZXN0EhYuRW5k",
            "c1dpdGhTdWZmaXhSZXF1ZXN0GhcuRW5kc1dpdGhTdWZmaXhSZXNwb25zZSIA",
            "Ek0KGFB1dEVuZHNXaXRoU3VmZml4UmVxdWVzdBIWLkVuZHNXaXRoU3VmZml4",
            "UmVxdWVzdBoXLkVuZHNXaXRoU3VmZml4UmVzcG9uc2UiABJQChtEZWxldGVF",
            "bmRzV2l0aFN1ZmZpeFJlcXVlc3QSFi5FbmRzV2l0aFN1ZmZpeFJlcXVlc3Qa",
            "Fy5FbmRzV2l0aFN1ZmZpeFJlc3BvbnNlIgASQAoSUG9zdEdldEFjY2Vzc1Rv",
            "a2VuEg8uR2V0QWNjZXNzVG9rZW4aFy5HZXRBY2Nlc3NUb2tlblJlc3BvbnNl",
            "IgASNAoOQ2FsbEdldEFwaUtleXMSCy5HZXRBcGlLZXlzGhMuR2V0QXBpS2V5",
            "c1Jlc3BvbnNlIgASJwoLQ2FsbEdldEZpbGUSCC5HZXRGaWxlGgwuRmlsZUNv",
            "bnRlbnQiABIrCgxDYWxsR2V0SGVsbG8SCS5HZXRIZWxsbxoOLkhlbGxvUmVz",
            "cG9uc2UiABIrCgtDYWxsR2V0VG9kbxIILkdldFRvZG8aEC5HZXRUb2RvUmVz",
            "cG9uc2UiABIuCgxDYWxsR2V0VG9kb3MSCS5HZXRUb2RvcxoRLkdldFRvZG9z",
            "UmVzcG9uc2UiABItCgtHZXRIZWxsb0p3dBIJLkhlbGxvSnd0GhEuSGVsbG9K",
            "d3RSZXNwb25zZSIAEi4KDFBvc3RIZWxsb0p3dBIJLkhlbGxvSnd0GhEuSGVs",
            "bG9Kd3RSZXNwb25zZSIAEi0KC1B1dEhlbGxvSnd0EgkuSGVsbG9Kd3QaES5I",
            "ZWxsb0p3dFJlc3BvbnNlIgASMAoORGVsZXRlSGVsbG9Kd3QSCS5IZWxsb0p3",
            "dBoRLkhlbGxvSnd0UmVzcG9uc2UiABIiCgdHZXRJbmNyEgUuSW5jchoOLkVt",
            "cHR5UmVzcG9uc2UiABIjCghQb3N0SW5jchIFLkluY3IaDi5FbXB0eVJlc3Bv",
            "bnNlIgASIgoHUHV0SW5jchIFLkluY3IaDi5FbXB0eVJlc3BvbnNlIgASJQoK",
            "RGVsZXRlSW5jchIFLkluY3IaDi5FbXB0eVJlc3BvbnNlIgASLgoMUG9zdE11",
            "bHRpcGx5EgkuTXVsdGlwbHkaES5NdWx0aXBseVJlc3BvbnNlIgASSgoXUG9z",
            "dE5vQWJzdHJhY3RWYWxpZGF0b3ISFC5Ob0Fic3RyYWN0VmFsaWRhdG9yGhcu",
            "Um9ja3N0YXJXaXRoSWRSZXNwb25zZSIAEkwKGFBvc3RPbmx5VmFsaWRhdGVz",
            "UmVxdWVzdBIVLk9ubHlWYWxpZGF0ZXNSZXF1ZXN0GhcuUm9ja3N0YXJXaXRo",
            "SWRSZXNwb25zZSIAEjUKEUNhbGxQYXRjaFJvY2tzdGFyEg4uUGF0Y2hSb2Nr",
            "c3RhchoOLkVtcHR5UmVzcG9uc2UiABJdChxDYWxsUGF0Y2hSb2Nrc3RhckF1",
            "ZGl0VGVuYW50EhkuUGF0Y2hSb2Nrc3RhckF1ZGl0VGVuYW50GiAuUm9ja3N0",
            "YXJXaXRoSWRBbmRSZXN1bHRSZXNwb25zZSIAEmsKI0NhbGxQYXRjaFJvY2tz",
            "dGFyQXVkaXRUZW5hbnRHYXRld2F5EiAuUGF0Y2hSb2Nrc3RhckF1ZGl0VGVu",
            "YW50R2F0ZXdheRogLlJvY2tzdGFyV2l0aElkQW5kUmVzdWx0UmVzcG9uc2Ui",
            "ABJPCh5DYWxsUGF0Y2hSb2Nrc3RhckF1ZGl0VGVuYW50TXESGy5QYXRjaFJv",
            "Y2tzdGFyQXVkaXRUZW5hbnRNcRoOLkVtcHR5UmVzcG9uc2UiABI7ChVDYWxs",
            "UG9zdENoYXRUb0NoYW5uZWwSEi5Qb3N0Q2hhdFRvQ2hhbm5lbBoMLkNoYXRN",
            "ZXNzYWdlIgASNAoNR2V0UXVlcnlBZGhvYxILLlF1ZXJ5QWRob2MaFC5RdWVy",
            "eVJlc3BvbnNlX0FkaG9jIgASSQoWR2V0UXVlcnlBZGhvY1JvY2tzdGFycxIU",
            "LlF1ZXJ5QWRob2NSb2Nrc3RhcnMaFy5RdWVyeVJlc3BvbnNlX1JvY2tzdGFy",
            "IgASQAoRR2V0UXVlcnlBbGxGaWVsZHMSDy5RdWVyeUFsbEZpZWxkcxoYLlF1",
            "ZXJ5UmVzcG9uc2VfQWxsRmllbGRzIgASPAoQR2V0UXVlcnlCb29raW5ncxIO",
            "LlF1ZXJ5Qm9va2luZ3MaFi5RdWVyeVJlc3BvbnNlX0Jvb2tpbmciABI/ChFH",
            "ZXRRdWVyeUJvb2ttYXJrcxIPLlF1ZXJ5Qm9va21hcmtzGhcuUXVlcnlSZXNw",
            "b25zZV9Cb29rbWFyayIAElkKHkdldFF1ZXJ5Q2FzZUluc2Vuc2l0aXZlT3Jk",
            "ZXJCeRIcLlF1ZXJ5Q2FzZUluc2Vuc2l0aXZlT3JkZXJCeRoXLlF1ZXJ5UmVz",
            "cG9uc2VfUm9ja3N0YXIiABI9ChBHZXRRdWVyeUNoYW5nZURiEg4uUXVlcnlD",
            "aGFuZ2VEYhoXLlF1ZXJ5UmVzcG9uc2VfUm9ja3N0YXIiABJRChdHZXRRdWVy",
            "eUN1c3RvbVJvY2tzdGFycxIVLlF1ZXJ5Q3VzdG9tUm9ja3N0YXJzGh0uUXVl",
            "cnlSZXNwb25zZV9DdXN0b21Sb2Nrc3RhciIAEl0KHUdldFF1ZXJ5Q3VzdG9t",
            "Um9ja3N0YXJzRmlsdGVyEhsuUXVlcnlDdXN0b21Sb2Nrc3RhcnNGaWx0ZXIa",
            "HS5RdWVyeVJlc3BvbnNlX0N1c3RvbVJvY2tzdGFyIgASaAohR2V0UXVlcnlD",
            "dXN0b21Sb2Nrc3RhcnNSZWZlcmVuY2VzEh8uUXVlcnlDdXN0b21Sb2Nrc3Rh",
            "cnNSZWZlcmVuY2VzGiAuUXVlcnlSZXNwb25zZV9Sb2Nrc3RhclJlZmVyZW5j",
            "ZSIAEmMKHUdldFF1ZXJ5Q3VzdG9tUm9ja3N0YXJzU2NoZW1hEhsuUXVlcnlD",
            "dXN0b21Sb2Nrc3RhcnNTY2hlbWEaIy5RdWVyeVJlc3BvbnNlX0N1c3RvbVJv",
            "Y2tzdGFyU2NoZW1hIgASSQoWR2V0UXVlcnlGaWVsZFJvY2tzdGFycxIULlF1",
            "ZXJ5RmllbGRSb2Nrc3RhcnMaFy5RdWVyeVJlc3BvbnNlX1JvY2tzdGFyIgAS",
            "VwodR2V0UXVlcnlGaWVsZFJvY2tzdGFyc0R5bmFtaWMSGy5RdWVyeUZpZWxk",
            "Um9ja3N0YXJzRHluYW1pYxoXLlF1ZXJ5UmVzcG9uc2VfUm9ja3N0YXIiABJf",
            "CiFHZXRRdWVyeUZpZWxkc0ltcGxpY2l0Q29udmVudGlvbnMSHy5RdWVyeUZp",
            "ZWxkc0ltcGxpY2l0Q29udmVudGlvbnMaFy5RdWVyeVJlc3BvbnNlX1JvY2tz",
            "dGFyIgASMAoMR2V0UXVlcnlGb29zEgouUXVlcnlGb29zGhIuUXVlcnlSZXNw",
            "b25zZV9Gb28iABJFChRHZXRRdWVyeUdldFJvY2tzdGFycxISLlF1ZXJ5R2V0",
            "Um9ja3N0YXJzGhcuUXVlcnlSZXNwb25zZV9Sb2Nrc3RhciIAElMKG0dldFF1",
            "ZXJ5R2V0Um9ja3N0YXJzRHluYW1pYxIZLlF1ZXJ5R2V0Um9ja3N0YXJzRHlu",
            "YW1pYxoXLlF1ZXJ5UmVzcG9uc2VfUm9ja3N0YXIiABJbChxHZXRRdWVyeUpv",
            "aW5lZFJvY2tzdGFyQWxidW1zEhouUXVlcnlKb2luZWRSb2Nrc3RhckFsYnVt",
            "cxodLlF1ZXJ5UmVzcG9uc2VfQ3VzdG9tUm9ja3N0YXIiABJ5CihHZXRRdWVy",
            "eUpvaW5lZFJvY2tzdGFyQWxidW1zQ3VzdG9tU2VsZWN0EiYuUXVlcnlKb2lu",
            "ZWRSb2Nrc3RhckFsYnVtc0N1c3RvbVNlbGVjdBojLlF1ZXJ5UmVzcG9uc2Vf",
            "Q3VzdG9tU2VsZWN0Um9ja3N0YXIiABKRAQowR2V0UXVlcnlKb2luZWRSb2Nr",
            "c3RhckFsYnVtc0N1c3RvbVNlbGVjdFJlc3BvbnNlEi4uUXVlcnlKb2luZWRS",
            "b2Nrc3RhckFsYnVtc0N1c3RvbVNlbGVjdFJlc3BvbnNlGisuUXVlcnlSZXNw",
            "b25zZV9DdXN0b21TZWxlY3RSb2Nrc3RhclJlc3BvbnNlIgASNgoOR2V0UXVl",
            "cnlNb3ZpZXMSDC5RdWVyeU1vdmllcxoULlF1ZXJ5UmVzcG9uc2VfTW92aWUi",
            "ABJVChlHZXRRdWVyeU11bHRpSm9pblJvY2tzdGFyEhcuUXVlcnlNdWx0aUpv",
            "aW5Sb2Nrc3RhchodLlF1ZXJ5UmVzcG9uc2VfQ3VzdG9tUm9ja3N0YXIiABJD",
            "ChNHZXRRdWVyeU9yUm9ja3N0YXJzEhEuUXVlcnlPclJvY2tzdGFycxoXLlF1",
            "ZXJ5UmVzcG9uc2VfUm9ja3N0YXIiABJPChlHZXRRdWVyeU9yUm9ja3N0YXJz",
            "RmllbGRzEhcuUXVlcnlPclJvY2tzdGFyc0ZpZWxkcxoXLlF1ZXJ5UmVzcG9u",
            "c2VfUm9ja3N0YXIiABJjCiBHZXRRdWVyeU92ZXJyaWRlZEN1c3RvbVJvY2tz",
            "dGFycxIeLlF1ZXJ5T3ZlcnJpZGVkQ3VzdG9tUm9ja3N0YXJzGh0uUXVlcnlS",
            "ZXNwb25zZV9DdXN0b21Sb2Nrc3RhciIAElEKGkdldFF1ZXJ5T3ZlcnJpZGVk",
            "Um9ja3N0YXJzEhguUXVlcnlPdmVycmlkZWRSb2Nrc3RhcnMaFy5RdWVyeVJl",
            "c3BvbnNlX1JvY2tzdGFyIgASQwoSR2V0UXVlcnlQYWdpbmdUZXN0EhAuUXVl",
            "cnlQYWdpbmdUZXN0GhkuUXVlcnlSZXNwb25zZV9QYWdpbmdUZXN0IgASTgoW",
            "R2V0UXVlcnlSb2Nrc3RhckFsYnVtcxIULlF1ZXJ5Um9ja3N0YXJBbGJ1bXMa",
            "HC5RdWVyeVJlc3BvbnNlX1JvY2tzdGFyQWxidW0iABJrCiRHZXRRdWVyeVJv",
            "Y2tzdGFyQWxidW1zQ3VzdG9tTGVmdEpvaW4SIi5RdWVyeVJvY2tzdGFyQWxi",
            "dW1zQ3VzdG9tTGVmdEpvaW4aHS5RdWVyeVJlc3BvbnNlX0N1c3RvbVJvY2tz",
            "dGFyIgASXwoeR2V0UXVlcnlSb2Nrc3RhckFsYnVtc0ltcGxpY2l0EhwuUXVl",
            "cnlSb2Nrc3RhckFsYnVtc0ltcGxpY2l0Gh0uUXVlcnlSZXNwb25zZV9DdXN0",
            "b21Sb2Nrc3RhciIAEl8KHkdldFF1ZXJ5Um9ja3N0YXJBbGJ1bXNMZWZ0Sm9p",
            "bhIcLlF1ZXJ5Um9ja3N0YXJBbGJ1bXNMZWZ0Sm9pbhodLlF1ZXJ5UmVzcG9u",
            "c2VfQ3VzdG9tUm9ja3N0YXIiABJMChVHZXRRdWVyeVJvY2tzdGFyQWxpYXMS",
            "Ey5RdWVyeVJvY2tzdGFyQWxpYXMaHC5RdWVyeVJlc3BvbnNlX1JvY2tzdGFy",
            "QWxpYXMiABJLChVHZXRRdWVyeVJvY2tzdGFyQXVkaXQSEy5RdWVyeVJvY2tz",
            "dGFyQXVkaXQaGy5RdWVyeVJlc3BvbnNlX1JvY2tzdGFyQXV0byIAElUKGkdl",
            "dFF1ZXJ5Um9ja3N0YXJBdWRpdFN1Yk9yEhguUXVlcnlSb2Nrc3RhckF1ZGl0",
            "U3ViT3IaGy5RdWVyeVJlc3BvbnNlX1JvY2tzdGFyQXV0byIAEksKF0dldFF1",
            "ZXJ5Um9ja3N0YXJGaWx0ZXJzEhUuUXVlcnlSb2Nrc3RhckZpbHRlcnMaFy5R",
            "dWVyeVJlc3BvbnNlX1JvY2tzdGFyIgASPwoRR2V0UXVlcnlSb2Nrc3RhcnMS",
            "Dy5RdWVyeVJvY2tzdGFycxoXLlF1ZXJ5UmVzcG9uc2VfUm9ja3N0YXIiABJV",
            "ChxHZXRRdWVyeVJvY2tzdGFyc0NvbnZlbnRpb25zEhouUXVlcnlSb2Nrc3Rh",
            "cnNDb252ZW50aW9ucxoXLlF1ZXJ5UmVzcG9uc2VfUm9ja3N0YXIiABJLChdH",
            "ZXRRdWVyeVJvY2tzdGFyc0ZpbHRlchIVLlF1ZXJ5Um9ja3N0YXJzRmlsdGVy",
            "GhcuUXVlcnlSZXNwb25zZV9Sb2Nrc3RhciIAEk0KGEdldFF1ZXJ5Um9ja3N0",
            "YXJzSUZpbHRlchIWLlF1ZXJ5Um9ja3N0YXJzSUZpbHRlchoXLlF1ZXJ5UmVz",
            "cG9uc2VfUm9ja3N0YXIiABJPChlHZXRRdWVyeVJvY2tzdGFyc0ltcGxpY2l0",
            "EhcuUXVlcnlSb2Nrc3RhcnNJbXBsaWNpdBoXLlF1ZXJ5UmVzcG9uc2VfUm9j",
            "a3N0YXIiABJkCh9HZXRRdWVyeVJvY2tzdGFyc1dpdGhSZWZlcmVuY2VzEh0u",
            "UXVlcnlSb2Nrc3RhcnNXaXRoUmVmZXJlbmNlcxogLlF1ZXJ5UmVzcG9uc2Vf",
            "Um9ja3N0YXJSZWZlcmVuY2UiABJLChVHZXRRdWVyeVR5cGVXaXRoRW51bXMS",
            "Ey5RdWVyeVR5cGVXaXRoRW51bXMaGy5RdWVyeVJlc3BvbnNlX1R5cGVXaXRo",
            "RW51bSIAEk0KGEdldFF1ZXJ5VW5rbm93blJvY2tzdGFycxIWLlF1ZXJ5VW5r",
            "bm93blJvY2tzdGFycxoXLlF1ZXJ5UmVzcG9uc2VfUm9ja3N0YXIiABJYChtE",
            "ZWxldGVSZWFsRGVsZXRlQXVkaXRUZW5hbnQSFi5SZWFsRGVsZXRlQXVkaXRU",
            "ZW5hbnQaHy5Sb2Nrc3RhcldpdGhJZEFuZENvdW50UmVzcG9uc2UiABJmCiJE",
            "ZWxldGVSZWFsRGVsZXRlQXVkaXRUZW5hbnRHYXRld2F5Eh0uUmVhbERlbGV0",
            "ZUF1ZGl0VGVuYW50R2F0ZXdheRofLlJvY2tzdGFyV2l0aElkQW5kQ291bnRS",
            "ZXNwb25zZSIAEksKHURlbGV0ZVJlYWxEZWxldGVBdWRpdFRlbmFudE1xEhgu",
            "UmVhbERlbGV0ZUF1ZGl0VGVuYW50TXEaDi5FbXB0eVJlc3BvbnNlIgASSQoV",
            "UG9zdFJlZ2VuZXJhdGVBcGlLZXlzEhIuUmVnZW5lcmF0ZUFwaUtleXMaGi5S",
            "ZWdlbmVyYXRlQXBpS2V5c1Jlc3BvbnNlIgASLQoLUHV0UmVnaXN0ZXISCS5S",
            "ZWdpc3RlchoRLlJlZ2lzdGVyUmVzcG9uc2UiABIuCgxQb3N0UmVnaXN0ZXIS",
            "CS5SZWdpc3RlchoRLlJlZ2lzdGVyUmVzcG9uc2UiABIxCg9HZXRSZXF1aXJl",
            "c0F1dGgSDS5SZXF1aXJlc0F1dGgaDS5SZXF1aXJlc0F1dGgiABIyChBQb3N0",
            "UmVxdWlyZXNBdXRoEg0uUmVxdWlyZXNBdXRoGg0uUmVxdWlyZXNBdXRoIgAS",
            "MQoPUHV0UmVxdWlyZXNBdXRoEg0uUmVxdWlyZXNBdXRoGg0uUmVxdWlyZXNB",
            "dXRoIgASNAoSRGVsZXRlUmVxdWlyZXNBdXRoEg0uUmVxdWlyZXNBdXRoGg0u",
            "UmVxdWlyZXNBdXRoIgASLwoOUG9zdFJlc2V0VG9kb3MSCy5SZXNldFRvZG9z",
            "Gg4uRW1wdHlSZXNwb25zZSIAEjgKD0dldFNlYXJjaE1vdmllcxINLlNlYXJj",
            "aE1vdmllcxoULlF1ZXJ5UmVzcG9uc2VfTW92aWUiABIrCgtQb3N0U2VjdXJl",
            "ZBIILlNlY3VyZWQaEC5TZWN1cmVkUmVzcG9uc2UiABJWChhQdXRTb2Z0RGVs",
            "ZXRlQXVkaXRUZW5hbnQSFi5Tb2Z0RGVsZXRlQXVkaXRUZW5hbnQaIC5Sb2Nr",
            "c3RhcldpdGhJZEFuZFJlc3VsdFJlc3BvbnNlIgASMwoRU2VydmVyU3RyZWFt",
            "RmlsZXMSDC5TdHJlYW1GaWxlcxoMLkZpbGVDb250ZW50IgAwARI4Cg9HZXRT",
            "dHJlYW1Nb3ZpZXMSDS5TdHJlYW1Nb3ZpZXMaFC5RdWVyeVJlc3BvbnNlX01v",
            "dmllIgASUAoYU2VydmVyU3RyZWFtU2VydmVyRXZlbnRzEhMuU3RyZWFtU2Vy",
            "dmVyRXZlbnRzGhsuU3RyZWFtU2VydmVyRXZlbnRzUmVzcG9uc2UiADABEkgK",
            "FlBvc3RUZXN0QXV0aFZhbGlkYXRvcnMSEy5UZXN0QXV0aFZhbGlkYXRvcnMa",
            "Fy5Sb2Nrc3RhcldpdGhJZFJlc3BvbnNlIgASQgoTUG9zdFRlc3REYkNvbmRp",
            "dGlvbhIQLlRlc3REYkNvbmRpdGlvbhoXLlJvY2tzdGFyV2l0aElkUmVzcG9u",
            "c2UiABJCChNQb3N0VGVzdERiVmFsaWRhdG9yEhAuVGVzdERiVmFsaWRhdG9y",
            "GhcuUm9ja3N0YXJXaXRoSWRSZXNwb25zZSIAEjoKD1Bvc3RUZXN0SXNBZG1p",
            "bhIMLlRlc3RJc0FkbWluGhcuUm9ja3N0YXJXaXRoSWRSZXNwb25zZSIAElIK",
            "G1Bvc3RUZXN0TXVsdGlBdXRoVmFsaWRhdG9ycxIYLlRlc3RNdWx0aUF1dGhW",
            "YWxpZGF0b3JzGhcuUm9ja3N0YXJXaXRoSWRSZXNwb25zZSIAEiQKCEdldFRo",
            "cm93EgYuVGhyb3caDi5IZWxsb1Jlc3BvbnNlIgASNgoOR2V0VGhyb3dDdXN0",
            "b20SDC5UaHJvd0N1c3RvbRoULlRocm93Q3VzdG9tUmVzcG9uc2UiABIsCgxH",
            "ZXRUaHJvd1ZvaWQSCi5UaHJvd1ZvaWQaDi5FbXB0eVJlc3BvbnNlIgASTAoY",
            "UG9zdFRyaWdnZXJBbGxWYWxpZGF0b3JzEhUuVHJpZ2dlckFsbFZhbGlkYXRv",
            "cnMaFy5Sb2Nrc3RhcldpdGhJZFJlc3BvbnNlIgASPQoVUG9zdFRyaWdnZXJW",
            "YWxpZGF0b3JzEhIuVHJpZ2dlclZhbGlkYXRvcnMaDi5FbXB0eVJlc3BvbnNl",
            "IgASPQoRUG9zdFVuQXNzaWduUm9sZXMSDi5VbkFzc2lnblJvbGVzGhYuVW5B",
            "c3NpZ25Sb2xlc1Jlc3BvbnNlIgASMwoSUGF0Y2hVcGRhdGVCb29raW5nEg4u",
            "VXBkYXRlQm9va2luZxoLLklkUmVzcG9uc2UiABJkCh9QdXRVcGRhdGVDb25u",
            "ZWN0aW9uSW5mb1JvY2tzdGFyEh0uVXBkYXRlQ29ubmVjdGlvbkluZm9Sb2Nr",
            "c3RhchogLlJvY2tzdGFyV2l0aElkQW5kUmVzdWx0UmVzcG9uc2UiABJSChZQ",
            "dXRVcGRhdGVOYW1lZFJvY2tzdGFyEhQuVXBkYXRlTmFtZWRSb2Nrc3Rhchog",
            "LlJvY2tzdGFyV2l0aElkQW5kUmVzdWx0UmVzcG9uc2UiABI2ChFQdXRVcGRh",
            "dGVSb2Nrc3RhchIPLlVwZGF0ZVJvY2tzdGFyGg4uRW1wdHlSZXNwb25zZSIA",
            "ElYKIVB1dFVwZGF0ZVJvY2tzdGFyQWRob2NOb25EZWZhdWx0cxIfLlVwZGF0",
            "ZVJvY2tzdGFyQWRob2NOb25EZWZhdWx0cxoOLkVtcHR5UmVzcG9uc2UiABJC",
            "ChhQYXRjaFVwZGF0ZVJvY2tzdGFyQXVkaXQSFC5VcGRhdGVSb2Nrc3RhckF1",
            "ZGl0Gg4uRW1wdHlSZXNwb25zZSIAEl4KHFB1dFVwZGF0ZVJvY2tzdGFyQXVk",
            "aXRUZW5hbnQSGi5VcGRhdGVSb2Nrc3RhckF1ZGl0VGVuYW50GiAuUm9ja3N0",
            "YXJXaXRoSWRBbmRSZXN1bHRSZXNwb25zZSIAEmwKI1B1dFVwZGF0ZVJvY2tz",
            "dGFyQXVkaXRUZW5hbnRHYXRld2F5EiEuVXBkYXRlUm9ja3N0YXJBdWRpdFRl",
            "bmFudEdhdGV3YXkaIC5Sb2Nrc3RhcldpdGhJZEFuZFJlc3VsdFJlc3BvbnNl",
            "IgASUAoeUHV0VXBkYXRlUm9ja3N0YXJBdWRpdFRlbmFudE1xEhwuVXBkYXRl",
            "Um9ja3N0YXJBdWRpdFRlbmFudE1xGg4uRW1wdHlSZXNwb25zZSIAElwKGlBh",
            "dGNoVXBkYXRlUm9ja3N0YXJWZXJzaW9uEhYuVXBkYXRlUm9ja3N0YXJWZXJz",
            "aW9uGiQuUm9ja3N0YXJXaXRoSWRBbmRSb3dWZXJzaW9uUmVzcG9uc2UiABIu",
            "Cg1QdXRVcGRhdGVUb2RvEgsuVXBkYXRlVG9kbxoOLkVtcHR5UmVzcG9uc2Ui",
            "ABJQChpQb3N0VmFsaWRhdGVDcmVhdGVSb2Nrc3RhchIXLlZhbGlkYXRlQ3Jl",
            "YXRlUm9ja3N0YXIaFy5Sb2Nrc3RhcldpdGhJZFJlc3BvbnNlIgBCTqoCJFNl",
            "cnZpY2VTdGFjay5FeHRlbnNpb25zLlRlc3RzLlByb3RvY8oCJFNlcnZpY2VT",
            "dGFjay5FeHRlbnNpb25zLlRlc3RzLlByb3RvY2IGcHJvdG8z"));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { global::Google.Protobuf.WellKnownTypes.DurationReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.TimestampReflection.Descriptor, },
          new pbr::GeneratedClrTypeInfo(new[] {typeof(global::ServiceStack.Extensions.Tests.Protoc.HttpStatusCode), typeof(global::ServiceStack.Extensions.Tests.Protoc.LivingStatus), typeof(global::ServiceStack.Extensions.Tests.Protoc.RoomType), typeof(global::ServiceStack.Extensions.Tests.Protoc.SomeEnum), typeof(global::ServiceStack.Extensions.Tests.Protoc.SomeEnumAsInt), }, null, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.AddHeader), global::ServiceStack.Extensions.Tests.Protoc.AddHeader.Parser, new[]{ "Name", "Value" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.Adhoc), global::ServiceStack.Extensions.Tests.Protoc.Adhoc.Parser, new[]{ "Id", "FirstName", "LastName" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.AllFields), global::ServiceStack.Extensions.Tests.Protoc.AllFields.Parser, new[]{ "Id", "NullableId", "Byte", "Short", "Int", "Long", "UShort", "UInt", "ULong", "Float", "Double", "Decimal", "String", "DateTime", "TimeSpan", "Guid", "NullableDateTime", "NullableTimeSpan", "NullableGuid", "Enum", "NullableEnum" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.AnyHello), global::ServiceStack.Extensions.Tests.Protoc.AnyHello.Parser, new[]{ "Name" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.AssignRoles), global::ServiceStack.Extensions.Tests.Protoc.AssignRoles.Parser, new[]{ "UserName", "Permissions", "Roles", "Meta" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.AssignRolesResponse), global::ServiceStack.Extensions.Tests.Protoc.AssignRolesResponse.Parser, new[]{ "AllRoles", "AllPermissions", "Meta", "ResponseStatus" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.AuditBase), global::ServiceStack.Extensions.Tests.Protoc.AuditBase.Parser, new[]{ "CreatedDate", "CreatedBy", "ModifiedDate", "ModifiedBy", "DeletedDate", "DeletedBy", "Booking", "RockstarAuditTenant" }, new[]{ "Subtype" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.Authenticate), global::ServiceStack.Extensions.Tests.Protoc.Authenticate.Parser, new[]{ "Provider", "UserName", "Password", "RememberMe", "AccessToken", "AccessTokenSecret", "ReturnUrl", "ErrorView", "Meta" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.AuthenticateResponse), global::ServiceStack.Extensions.Tests.Protoc.AuthenticateResponse.Parser, new[]{ "UserId", "SessionId", "UserName", "DisplayName", "ReferrerUrl", "BearerToken", "RefreshToken", "RefreshTokenExpiry", "ProfileUrl", "Roles", "Permissions", "AuthProvider", "ResponseStatus", "Meta" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.Bar), global::ServiceStack.Extensions.Tests.Protoc.Bar.Parser, new[]{ "Y" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.Booking), global::ServiceStack.Extensions.Tests.Protoc.Booking.Parser, new[]{ "Id", "RoomType", "RoomNumber", "BookingStartDate", "BookingEndDate", "Notes", "Cancelled", "Cost" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.Bookmark), global::ServiceStack.Extensions.Tests.Protoc.Bookmark.Parser, new[]{ "Slug", "Title", "Description", "Url" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.ChangeDb), global::ServiceStack.Extensions.Tests.Protoc.ChangeDb.Parser, new[]{ "NamedConnection", "ConnectionString", "ProviderName" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.ChangeDbResponse), global::ServiceStack.Extensions.Tests.Protoc.ChangeDbResponse.Parser, new[]{ "Results" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.ChatMessage), global::ServiceStack.Extensions.Tests.Protoc.ChatMessage.Parser, new[]{ "Id", "Channel", "FromUserId", "FromName", "DisplayName", "Message", "UserAuthId", "Private" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.ConvertSessionToToken), global::ServiceStack.Extensions.Tests.Protoc.ConvertSessionToToken.Parser, new[]{ "PreserveSession", "Meta" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.ConvertSessionToTokenResponse), global::ServiceStack.Extensions.Tests.Protoc.ConvertSessionToTokenResponse.Parser, new[]{ "Meta", "AccessToken", "RefreshToken", "ResponseStatus" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CreateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse), global::ServiceStack.Extensions.Tests.Protoc.CreateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse.Parser, new[]{ "CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse" }, new[]{ "Subtype" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CreateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse), global::ServiceStack.Extensions.Tests.Protoc.CreateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CreateBooking), global::ServiceStack.Extensions.Tests.Protoc.CreateBooking.Parser, new[]{ "RoomType", "RoomNumber", "BookingStartDate", "BookingEndDate", "Notes", "Cost" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CreateBookmark), global::ServiceStack.Extensions.Tests.Protoc.CreateBookmark.Parser, new[]{ "Slug", "Title", "Description", "Url" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CreateBookmarkResponse), global::ServiceStack.Extensions.Tests.Protoc.CreateBookmarkResponse.Parser, new[]{ "Id", "Result", "ResponseStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CreateConnectionInfoRockstar), global::ServiceStack.Extensions.Tests.Protoc.CreateConnectionInfoRockstar.Parser, new[]{ "FirstName", "LastName", "Age", "DateOfBirth", "DateDied", "LivingStatus", "Id" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CreateNamedRockstar), global::ServiceStack.Extensions.Tests.Protoc.CreateNamedRockstar.Parser, new[]{ "FirstName", "LastName", "Age", "DateOfBirth", "DateDied", "LivingStatus", "Id" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CreateRockstar), global::ServiceStack.Extensions.Tests.Protoc.CreateRockstar.Parser, new[]{ "FirstName", "LastName", "Age", "DateOfBirth", "DateDied", "LivingStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarAdhocNonDefaults), global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarAdhocNonDefaults.Parser, new[]{ "FirstName", "LastName", "Age", "DateOfBirth", "DateDied", "LivingStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarAudit), global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarAudit.Parser, new[]{ "FirstName", "LastName", "Age", "DateOfBirth", "DateDied", "LivingStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarAuditMqToken), global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarAuditMqToken.Parser, new[]{ "FirstName", "LastName", "Age", "DateOfBirth", "DateDied", "LivingStatus", "BearerToken" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarAuditTenant), global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarAuditTenant.Parser, new[]{ "BearerToken", "FirstName", "LastName", "Age", "DateOfBirth", "DateDied", "LivingStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarAuditTenantGateway), global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarAuditTenantGateway.Parser, new[]{ "FirstName", "LastName", "Age", "DateOfBirth", "DateDied", "LivingStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarAuditTenantMq), global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarAuditTenantMq.Parser, new[]{ "FirstName", "LastName", "Age", "DateOfBirth", "DateDied", "LivingStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarAutoMap), global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarAutoMap.Parser, new[]{ "MapFirstName", "MapLastName", "MapAge", "MapDateOfBirth", "MapDateDied", "MapLivingStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarResponse), global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarResponse.Parser, new[]{ "ResponseStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarVersion), global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarVersion.Parser, new[]{ "FirstName", "LastName", "Age", "DateOfBirth", "DateDied", "LivingStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarWithAutoGuid), global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarWithAutoGuid.Parser, new[]{ "FirstName", "LastName", "Age", "DateOfBirth", "DateDied", "LivingStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarWithReturn), global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarWithReturn.Parser, new[]{ "FirstName", "LastName", "Age", "DateOfBirth", "DateDied", "LivingStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarWithReturnGuidResponse), global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarWithReturnGuidResponse.Parser, new[]{ "Id", "Result", "ResponseStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarWithVoidReturn), global::ServiceStack.Extensions.Tests.Protoc.CreateRockstarWithVoidReturn.Parser, new[]{ "FirstName", "LastName", "Age", "DateOfBirth", "DateDied", "LivingStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CreateTodo), global::ServiceStack.Extensions.Tests.Protoc.CreateTodo.Parser, new[]{ "Title", "Order" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CreateTodoResponse), global::ServiceStack.Extensions.Tests.Protoc.CreateTodoResponse.Parser, new[]{ "Result", "ResponseStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CustomRockstar), global::ServiceStack.Extensions.Tests.Protoc.CustomRockstar.Parser, new[]{ "FirstName", "LastName", "Age", "RockstarAlbumName", "RockstarGenreName" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CustomRockstarSchema), global::ServiceStack.Extensions.Tests.Protoc.CustomRockstarSchema.Parser, new[]{ "FirstName", "LastName", "Age", "RockstarAlbumName", "RockstarGenreName" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CustomSelectRockstar), global::ServiceStack.Extensions.Tests.Protoc.CustomSelectRockstar.Parser, new[]{ "Id", "FirstName", "LastName", "Age" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CustomSelectRockstarResponse), global::ServiceStack.Extensions.Tests.Protoc.CustomSelectRockstarResponse.Parser, new[]{ "Id", "FirstName", "Age" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.CustomValidationErrors), global::ServiceStack.Extensions.Tests.Protoc.CustomValidationErrors.Parser, new[]{ "CustomErrorCode", "CustomErrorCodeAndMessage", "ErrorCodeRule", "IsOddCondition", "IsOddAndOverTwoDigitsCondition", "IsOddOrOverTwoDigitsCondition" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.DaoBase), global::ServiceStack.Extensions.Tests.Protoc.DaoBase.Parser, new[]{ "Id", "CreateDate", "CreatedBy", "ModifiedDate", "ModifiedBy", "Bookmark" }, new[]{ "Subtype" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.DeleteBooking), global::ServiceStack.Extensions.Tests.Protoc.DeleteBooking.Parser, new[]{ "Id" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.DeleteRockstar), global::ServiceStack.Extensions.Tests.Protoc.DeleteRockstar.Parser, new[]{ "Id" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.DeleteRockstarAudit), global::ServiceStack.Extensions.Tests.Protoc.DeleteRockstarAudit.Parser, new[]{ "Id" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.DeleteRockstarCountResponse), global::ServiceStack.Extensions.Tests.Protoc.DeleteRockstarCountResponse.Parser, new[]{ "Count", "ResponseStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.DeleteRockstarFilters), global::ServiceStack.Extensions.Tests.Protoc.DeleteRockstarFilters.Parser, new[]{ "FirstName", "LastName", "Age" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.DeleteTodo), global::ServiceStack.Extensions.Tests.Protoc.DeleteTodo.Parser, new[]{ "Id" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.DeleteTodos), global::ServiceStack.Extensions.Tests.Protoc.DeleteTodos.Parser, new[]{ "Ids" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.DynamicRequest), global::ServiceStack.Extensions.Tests.Protoc.DynamicRequest.Parser, new[]{ "Params" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.DynamicValidationRules), global::ServiceStack.Extensions.Tests.Protoc.DynamicValidationRules.Parser, new[]{ "FirstName", "LastName", "Age", "DateOfBirth", "LivingStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.EmptyResponse), global::ServiceStack.Extensions.Tests.Protoc.EmptyResponse.Parser, new[]{ "ResponseStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.EmptyValidators), global::ServiceStack.Extensions.Tests.Protoc.EmptyValidators.Parser, new[]{ "Int", "NInt", "TimeSpan", "NTimeSpan", "String", "IntArray", "StringList" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.EndsWithSuffixRequest), global::ServiceStack.Extensions.Tests.Protoc.EndsWithSuffixRequest.Parser, new[]{ "Suffix" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.EndsWithSuffixResponse), global::ServiceStack.Extensions.Tests.Protoc.EndsWithSuffixResponse.Parser, new[]{ "Result", "Count", "Words" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.FileContent), global::ServiceStack.Extensions.Tests.Protoc.FileContent.Parser, new[]{ "Name", "Type", "Length", "Body", "ResponseStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.Foo), global::ServiceStack.Extensions.Tests.Protoc.Foo.Parser, new[]{ "X", "Bar" }, new[]{ "Subtype" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.GetAccessToken), global::ServiceStack.Extensions.Tests.Protoc.GetAccessToken.Parser, new[]{ "RefreshToken", "Meta" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.GetAccessTokenResponse), global::ServiceStack.Extensions.Tests.Protoc.GetAccessTokenResponse.Parser, new[]{ "AccessToken", "Meta", "ResponseStatus" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.GetApiKeys), global::ServiceStack.Extensions.Tests.Protoc.GetApiKeys.Parser, new[]{ "Environment", "Meta" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.GetApiKeysResponse), global::ServiceStack.Extensions.Tests.Protoc.GetApiKeysResponse.Parser, new[]{ "Results", "Meta", "ResponseStatus" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.GetFile), global::ServiceStack.Extensions.Tests.Protoc.GetFile.Parser, new[]{ "Path" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.GetHello), global::ServiceStack.Extensions.Tests.Protoc.GetHello.Parser, new[]{ "Name" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.GetTodo), global::ServiceStack.Extensions.Tests.Protoc.GetTodo.Parser, new[]{ "Id" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.GetTodoResponse), global::ServiceStack.Extensions.Tests.Protoc.GetTodoResponse.Parser, new[]{ "Result", "ResponseStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.GetTodos), global::ServiceStack.Extensions.Tests.Protoc.GetTodos.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.GetTodosResponse), global::ServiceStack.Extensions.Tests.Protoc.GetTodosResponse.Parser, new[]{ "Results", "ResponseStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.HelloJwt), global::ServiceStack.Extensions.Tests.Protoc.HelloJwt.Parser, new[]{ "Name", "BearerToken" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.HelloJwtResponse), global::ServiceStack.Extensions.Tests.Protoc.HelloJwtResponse.Parser, new[]{ "Result", "ResponseStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.HelloResponse), global::ServiceStack.Extensions.Tests.Protoc.HelloResponse.Parser, new[]{ "Result", "ResponseStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.IdResponse), global::ServiceStack.Extensions.Tests.Protoc.IdResponse.Parser, new[]{ "Id", "ResponseStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.Incr), global::ServiceStack.Extensions.Tests.Protoc.Incr.Parser, new[]{ "Amount" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.Movie), global::ServiceStack.Extensions.Tests.Protoc.Movie.Parser, new[]{ "Id", "ImdbId", "Title", "Rating", "Score", "Director", "ReleaseDate", "TagLine", "Genres" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.Multiply), global::ServiceStack.Extensions.Tests.Protoc.Multiply.Parser, new[]{ "X", "Y" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.MultiplyResponse), global::ServiceStack.Extensions.Tests.Protoc.MultiplyResponse.Parser, new[]{ "Result" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.NamedRockstar), global::ServiceStack.Extensions.Tests.Protoc.NamedRockstar.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.NoAbstractValidator), global::ServiceStack.Extensions.Tests.Protoc.NoAbstractValidator.Parser, new[]{ "FirstName", "LastName", "Age", "DateOfBirth", "LivingStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.OnlyValidatesRequest), global::ServiceStack.Extensions.Tests.Protoc.OnlyValidatesRequest.Parser, new[]{ "Test", "NotNull" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.PagingTest), global::ServiceStack.Extensions.Tests.Protoc.PagingTest.Parser, new[]{ "Id", "Name", "Value" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.PatchAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse), global::ServiceStack.Extensions.Tests.Protoc.PatchAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse.Parser, new[]{ "PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse" }, new[]{ "Subtype" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.PatchAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse), global::ServiceStack.Extensions.Tests.Protoc.PatchAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.PatchRockstar), global::ServiceStack.Extensions.Tests.Protoc.PatchRockstar.Parser, new[]{ "Id", "FirstName", "LastName", "Age", "DateOfBirth", "DateDied", "LivingStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.PatchRockstarAuditTenant), global::ServiceStack.Extensions.Tests.Protoc.PatchRockstarAuditTenant.Parser, new[]{ "BearerToken", "Id", "FirstName", "LivingStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.PatchRockstarAuditTenantGateway), global::ServiceStack.Extensions.Tests.Protoc.PatchRockstarAuditTenantGateway.Parser, new[]{ "Id", "FirstName", "LivingStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.PatchRockstarAuditTenantMq), global::ServiceStack.Extensions.Tests.Protoc.PatchRockstarAuditTenantMq.Parser, new[]{ "Id", "FirstName", "LivingStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.PostChatToChannel), global::ServiceStack.Extensions.Tests.Protoc.PostChatToChannel.Parser, new[]{ "From", "ToUserId", "Channel", "Message", "Selector" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryAdhoc), global::ServiceStack.Extensions.Tests.Protoc.QueryAdhoc.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryAdhocRockstars), global::ServiceStack.Extensions.Tests.Protoc.QueryAdhocRockstars.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "FirstName" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryAllFields), global::ServiceStack.Extensions.Tests.Protoc.QueryAllFields.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Guid" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryBase), global::ServiceStack.Extensions.Tests.Protoc.QueryBase.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "QueryDbRockstarCustomRockstar", "QueryDbBooking", "QueryDbRockstarRockstarAlias", "QueryDbPagingTest", "QueryDbCustomSelectRockstar", "QueryDbMovie", "QueryDbRockstarReference", "QueryDbBookmark", "QueryDbAdhoc", "QueryDbFoo", "QueryDbTypeWithEnum", "QueryDbRockstarAlbum", "QueryDbCustomSelectRockstarCustomSelectRockstarResponse", "QueryDbRockstar", "QueryDbRockstarAuditTenantRockstarAuto", "QueryDbAllFields", "QueryDbRockstarCustomRockstarSchema" }, new[]{ "Subtype" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryBookings), global::ServiceStack.Extensions.Tests.Protoc.QueryBookings.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Ids" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryBookmarks), global::ServiceStack.Extensions.Tests.Protoc.QueryBookmarks.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryCaseInsensitiveOrderBy), global::ServiceStack.Extensions.Tests.Protoc.QueryCaseInsensitiveOrderBy.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Age" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryChangeDb), global::ServiceStack.Extensions.Tests.Protoc.QueryChangeDb.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "NamedConnection", "ConnectionString", "ProviderName" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryCustomRockstars), global::ServiceStack.Extensions.Tests.Protoc.QueryCustomRockstars.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Age" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryCustomRockstarsFilter), global::ServiceStack.Extensions.Tests.Protoc.QueryCustomRockstarsFilter.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Age" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryCustomRockstarsReferences), global::ServiceStack.Extensions.Tests.Protoc.QueryCustomRockstarsReferences.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Age" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryCustomRockstarsSchema), global::ServiceStack.Extensions.Tests.Protoc.QueryCustomRockstarsSchema.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Age" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryDbTenant_RockstarAuditTenant_RockstarAuto), global::ServiceStack.Extensions.Tests.Protoc.QueryDbTenant_RockstarAuditTenant_RockstarAuto.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Adhoc), global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Adhoc.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryDb_AllFields), global::ServiceStack.Extensions.Tests.Protoc.QueryDb_AllFields.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Booking), global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Booking.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Bookmark), global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Bookmark.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryDb_CustomSelectRockstar), global::ServiceStack.Extensions.Tests.Protoc.QueryDb_CustomSelectRockstar.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryDb_CustomSelectRockstar_CustomSelectRockstarResponse), global::ServiceStack.Extensions.Tests.Protoc.QueryDb_CustomSelectRockstar_CustomSelectRockstarResponse.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Foo), global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Foo.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Movie), global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Movie.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryDb_PagingTest), global::ServiceStack.Extensions.Tests.Protoc.QueryDb_PagingTest.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar), global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarAlbum), global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarAlbum.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarAuditTenant_RockstarAuto), global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarAuditTenant_RockstarAuto.Parser, new[]{ "QueryDbTenantRockstarAuditTenantRockstarAuto" }, new[]{ "Subtype" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarReference), global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarReference.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_CustomRockstar), global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_CustomRockstar.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_CustomRockstarSchema), global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_CustomRockstarSchema.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_RockstarAlias), global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_RockstarAlias.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryDb_TypeWithEnum), global::ServiceStack.Extensions.Tests.Protoc.QueryDb_TypeWithEnum.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryFieldRockstars), global::ServiceStack.Extensions.Tests.Protoc.QueryFieldRockstars.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "FirstName", "FirstNames", "Age", "FirstNameCaseInsensitive", "FirstNameStartsWith", "LastNameEndsWith", "FirstNameBetween", "OrLastName" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryFieldRockstarsDynamic), global::ServiceStack.Extensions.Tests.Protoc.QueryFieldRockstarsDynamic.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Age" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryFieldsImplicitConventions), global::ServiceStack.Extensions.Tests.Protoc.QueryFieldsImplicitConventions.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "FirstNameContains", "LastNameEndsWith" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryFoos), global::ServiceStack.Extensions.Tests.Protoc.QueryFoos.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "X" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryGetRockstars), global::ServiceStack.Extensions.Tests.Protoc.QueryGetRockstars.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Ids", "Ages", "FirstNames", "IdsBetween" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryGetRockstarsDynamic), global::ServiceStack.Extensions.Tests.Protoc.QueryGetRockstarsDynamic.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryJoinedRockstarAlbums), global::ServiceStack.Extensions.Tests.Protoc.QueryJoinedRockstarAlbums.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Age", "RockstarAlbumName" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryJoinedRockstarAlbumsCustomSelect), global::ServiceStack.Extensions.Tests.Protoc.QueryJoinedRockstarAlbumsCustomSelect.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Age", "RockstarAlbumName" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryJoinedRockstarAlbumsCustomSelectResponse), global::ServiceStack.Extensions.Tests.Protoc.QueryJoinedRockstarAlbumsCustomSelectResponse.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Age", "RockstarAlbumName" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryMovies), global::ServiceStack.Extensions.Tests.Protoc.QueryMovies.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Ids", "ImdbIds", "Ratings" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryMultiJoinRockstar), global::ServiceStack.Extensions.Tests.Protoc.QueryMultiJoinRockstar.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Age", "RockstarAlbumName", "RockstarGenreName" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryOrRockstars), global::ServiceStack.Extensions.Tests.Protoc.QueryOrRockstars.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Age", "FirstName" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryOrRockstarsFields), global::ServiceStack.Extensions.Tests.Protoc.QueryOrRockstarsFields.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "FirstName", "LastName" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryOverridedCustomRockstars), global::ServiceStack.Extensions.Tests.Protoc.QueryOverridedCustomRockstars.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Age" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryOverridedRockstars), global::ServiceStack.Extensions.Tests.Protoc.QueryOverridedRockstars.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Age" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryPagingTest), global::ServiceStack.Extensions.Tests.Protoc.QueryPagingTest.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Id", "Name", "Value" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_Adhoc), global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_Adhoc.Parser, new[]{ "Offset", "Total", "Results", "Meta", "ResponseStatus" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_AllFields), global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_AllFields.Parser, new[]{ "Offset", "Total", "Results", "Meta", "ResponseStatus" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_Booking), global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_Booking.Parser, new[]{ "Offset", "Total", "Results", "Meta", "ResponseStatus" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_Bookmark), global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_Bookmark.Parser, new[]{ "Offset", "Total", "Results", "Meta", "ResponseStatus" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_CustomRockstar), global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_CustomRockstar.Parser, new[]{ "Offset", "Total", "Results", "Meta", "ResponseStatus" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_CustomRockstarSchema), global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_CustomRockstarSchema.Parser, new[]{ "Offset", "Total", "Results", "Meta", "ResponseStatus" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_CustomSelectRockstar), global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_CustomSelectRockstar.Parser, new[]{ "Offset", "Total", "Results", "Meta", "ResponseStatus" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_CustomSelectRockstarResponse), global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_CustomSelectRockstarResponse.Parser, new[]{ "Offset", "Total", "Results", "Meta", "ResponseStatus" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_Foo), global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_Foo.Parser, new[]{ "Offset", "Total", "Results", "Meta", "ResponseStatus" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_Movie), global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_Movie.Parser, new[]{ "Offset", "Total", "Results", "Meta", "ResponseStatus" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_PagingTest), global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_PagingTest.Parser, new[]{ "Offset", "Total", "Results", "Meta", "ResponseStatus" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_Rockstar), global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_Rockstar.Parser, new[]{ "Offset", "Total", "Results", "Meta", "ResponseStatus" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_RockstarAlbum), global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_RockstarAlbum.Parser, new[]{ "Offset", "Total", "Results", "Meta", "ResponseStatus" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_RockstarAlias), global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_RockstarAlias.Parser, new[]{ "Offset", "Total", "Results", "Meta", "ResponseStatus" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_RockstarAuto), global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_RockstarAuto.Parser, new[]{ "Offset", "Total", "Results", "Meta", "ResponseStatus" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_RockstarReference), global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_RockstarReference.Parser, new[]{ "Offset", "Total", "Results", "Meta", "ResponseStatus" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_TypeWithEnum), global::ServiceStack.Extensions.Tests.Protoc.QueryResponse_TypeWithEnum.Parser, new[]{ "Offset", "Total", "Results", "Meta", "ResponseStatus" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarAlbums), global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarAlbums.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Id", "RockstarId", "Name", "Genre", "IdBetween" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarAlbumsCustomLeftJoin), global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarAlbumsCustomLeftJoin.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Age", "AlbumName", "IdNotEqualTo" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarAlbumsImplicit), global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarAlbumsImplicit.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarAlbumsLeftJoin), global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarAlbumsLeftJoin.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Age", "AlbumName", "IdNotEqualTo" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarAlias), global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarAlias.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Age", "RockstarAlbumName" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarAudit), global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarAudit.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Id" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarAuditSubOr), global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarAuditSubOr.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "FirstNameStartsWith", "AgeOlderThan" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarFilters), global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarFilters.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Ids", "Ages", "FirstNames", "IdsBetween" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryRockstars), global::ServiceStack.Extensions.Tests.Protoc.QueryRockstars.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Age" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarsConventions), global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarsConventions.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "DateOfBirthGreaterThan", "DateDiedLessThan", "Ids", "AgeOlderThan", "AgeGreaterThanOrEqualTo", "AgeGreaterThan", "GreaterThanAge", "FirstNameStartsWith", "LastNameEndsWith", "LastNameContains", "RockstarAlbumNameContains", "RockstarIdAfter", "RockstarIdOnOrAfter" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarsFilter), global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarsFilter.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Age" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarsIFilter), global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarsIFilter.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Age" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarsImplicit), global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarsImplicit.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarsWithReferences), global::ServiceStack.Extensions.Tests.Protoc.QueryRockstarsWithReferences.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Age" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryTypeWithEnums), global::ServiceStack.Extensions.Tests.Protoc.QueryTypeWithEnums.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.QueryUnknownRockstars), global::ServiceStack.Extensions.Tests.Protoc.QueryUnknownRockstars.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "UnknownInt", "UnknownProperty" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.RealDeleteAuditTenant), global::ServiceStack.Extensions.Tests.Protoc.RealDeleteAuditTenant.Parser, new[]{ "BearerToken", "Id", "Age" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.RealDeleteAuditTenantGateway), global::ServiceStack.Extensions.Tests.Protoc.RealDeleteAuditTenantGateway.Parser, new[]{ "Id" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.RealDeleteAuditTenantMq), global::ServiceStack.Extensions.Tests.Protoc.RealDeleteAuditTenantMq.Parser, new[]{ "Id" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.RegenerateApiKeys), global::ServiceStack.Extensions.Tests.Protoc.RegenerateApiKeys.Parser, new[]{ "Environment", "Meta" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.RegenerateApiKeysResponse), global::ServiceStack.Extensions.Tests.Protoc.RegenerateApiKeysResponse.Parser, new[]{ "Results", "Meta", "ResponseStatus" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.Register), global::ServiceStack.Extensions.Tests.Protoc.Register.Parser, new[]{ "UserName", "FirstName", "LastName", "DisplayName", "Email", "Password", "ConfirmPassword", "AutoLogin", "ErrorView", "Meta" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.RegisterResponse), global::ServiceStack.Extensions.Tests.Protoc.RegisterResponse.Parser, new[]{ "UserId", "SessionId", "UserName", "ReferrerUrl", "BearerToken", "RefreshToken", "RefreshTokenExpiry", "Roles", "Permissions", "RedirectUrl", "ResponseStatus", "Meta" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.RequiresAuth), global::ServiceStack.Extensions.Tests.Protoc.RequiresAuth.Parser, new[]{ "Name", "BearerToken" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.ResetTodos), global::ServiceStack.Extensions.Tests.Protoc.ResetTodos.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.ResponseError), global::ServiceStack.Extensions.Tests.Protoc.ResponseError.Parser, new[]{ "ErrorCode", "FieldName", "Message", "Meta" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus), global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus.Parser, new[]{ "ErrorCode", "Message", "StackTrace", "Errors", "Meta" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.Rockstar), global::ServiceStack.Extensions.Tests.Protoc.Rockstar.Parser, new[]{ "Id", "FirstName", "LastName", "Age", "DateOfBirth", "DateDied", "LivingStatus", "NamedRockstar" }, new[]{ "Subtype" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.RockstarAlbum), global::ServiceStack.Extensions.Tests.Protoc.RockstarAlbum.Parser, new[]{ "Id", "RockstarId", "Name", "Genre" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.RockstarAlias), global::ServiceStack.Extensions.Tests.Protoc.RockstarAlias.Parser, new[]{ "RockstarId", "FirstName", "Surname", "Album" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.RockstarAudit), global::ServiceStack.Extensions.Tests.Protoc.RockstarAudit.Parser, new[]{ "Id", "CreatedDate", "CreatedBy", "CreatedInfo", "ModifiedDate", "ModifiedBy", "ModifiedInfo" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.RockstarAuditTenant), global::ServiceStack.Extensions.Tests.Protoc.RockstarAuditTenant.Parser, new[]{ "TenantId", "Id", "FirstName", "LastName", "Age", "DateOfBirth", "DateDied", "LivingStatus", "CreatedInfo", "ModifiedInfo", "DeletedInfo" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.RockstarAuto), global::ServiceStack.Extensions.Tests.Protoc.RockstarAuto.Parser, new[]{ "Id" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.RockstarAutoGuid), global::ServiceStack.Extensions.Tests.Protoc.RockstarAutoGuid.Parser, new[]{ "Id" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.RockstarBase), global::ServiceStack.Extensions.Tests.Protoc.RockstarBase.Parser, new[]{ "FirstName", "LastName", "Age", "DateOfBirth", "DateDied", "LivingStatus", "RockstarAutoGuid", "RockstarAuto", "RockstarAudit", "RockstarVersion" }, new[]{ "Subtype" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.RockstarGenre), global::ServiceStack.Extensions.Tests.Protoc.RockstarGenre.Parser, new[]{ "Id", "RockstarId", "Name" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.RockstarReference), global::ServiceStack.Extensions.Tests.Protoc.RockstarReference.Parser, new[]{ "Id", "FirstName", "LastName", "Age", "Albums" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.RockstarVersion), global::ServiceStack.Extensions.Tests.Protoc.RockstarVersion.Parser, new[]{ "Id", "RowVersion" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.RockstarWithIdAndCountResponse), global::ServiceStack.Extensions.Tests.Protoc.RockstarWithIdAndCountResponse.Parser, new[]{ "Id", "Count", "ResponseStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.RockstarWithIdAndResultResponse), global::ServiceStack.Extensions.Tests.Protoc.RockstarWithIdAndResultResponse.Parser, new[]{ "Id", "Result", "ResponseStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.RockstarWithIdAndRowVersionResponse), global::ServiceStack.Extensions.Tests.Protoc.RockstarWithIdAndRowVersionResponse.Parser, new[]{ "Id", "RowVersion", "ResponseStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.RockstarWithIdResponse), global::ServiceStack.Extensions.Tests.Protoc.RockstarWithIdResponse.Parser, new[]{ "Id", "ResponseStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.SearchMovies), global::ServiceStack.Extensions.Tests.Protoc.SearchMovies.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.SearchResult), global::ServiceStack.Extensions.Tests.Protoc.SearchResult.Parser, new[]{ "Id", "Suffix" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.Secured), global::ServiceStack.Extensions.Tests.Protoc.Secured.Parser, new[]{ "Name" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.SecuredResponse), global::ServiceStack.Extensions.Tests.Protoc.SecuredResponse.Parser, new[]{ "Result", "ResponseStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.SoftDeleteAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse), global::ServiceStack.Extensions.Tests.Protoc.SoftDeleteAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse.Parser, new[]{ "SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse" }, new[]{ "Subtype" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.SoftDeleteAuditTenant), global::ServiceStack.Extensions.Tests.Protoc.SoftDeleteAuditTenant.Parser, new[]{ "Id" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.SoftDeleteAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse), global::ServiceStack.Extensions.Tests.Protoc.SoftDeleteAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.StreamFiles), global::ServiceStack.Extensions.Tests.Protoc.StreamFiles.Parser, new[]{ "Paths" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.StreamMovies), global::ServiceStack.Extensions.Tests.Protoc.StreamMovies.Parser, new[]{ "Skip", "Take", "OrderBy", "OrderByDesc", "Include", "Fields", "Meta", "Ratings" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.StreamServerEvents), global::ServiceStack.Extensions.Tests.Protoc.StreamServerEvents.Parser, new[]{ "Channels" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.StreamServerEventsResponse), global::ServiceStack.Extensions.Tests.Protoc.StreamServerEventsResponse.Parser, new[]{ "EventId", "Channel", "Selector", "Json", "Op", "Target", "CssSelector", "Meta", "UserId", "DisplayName", "ProfileUrl", "IsAuthenticated", "Channels", "CreatedAt", "Id", "UnRegisterUrl", "UpdateSubscriberUrl", "HeartbeatUrl", "HeartbeatIntervalMs", "IdleTimeoutMs", "ResponseStatus" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.TestAuthValidators), global::ServiceStack.Extensions.Tests.Protoc.TestAuthValidators.Parser, new[]{ "NotNull" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.TestDbCondition), global::ServiceStack.Extensions.Tests.Protoc.TestDbCondition.Parser, new[]{ "Id", "NotNull" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.TestDbValidator), global::ServiceStack.Extensions.Tests.Protoc.TestDbValidator.Parser, new[]{ "Id", "NotNull" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.TestIsAdmin), global::ServiceStack.Extensions.Tests.Protoc.TestIsAdmin.Parser, new[]{ "NotNull" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.TestMultiAuthValidators), global::ServiceStack.Extensions.Tests.Protoc.TestMultiAuthValidators.Parser, new[]{ "NotNull" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.Throw), global::ServiceStack.Extensions.Tests.Protoc.Throw.Parser, new[]{ "Message" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.ThrowCustom), global::ServiceStack.Extensions.Tests.Protoc.ThrowCustom.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.ThrowCustomResponse), global::ServiceStack.Extensions.Tests.Protoc.ThrowCustomResponse.Parser, new[]{ "ResponseStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.ThrowVoid), global::ServiceStack.Extensions.Tests.Protoc.ThrowVoid.Parser, new[]{ "Message" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.Todo), global::ServiceStack.Extensions.Tests.Protoc.Todo.Parser, new[]{ "Id", "Title", "Order", "Completed" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.TriggerAllValidators), global::ServiceStack.Extensions.Tests.Protoc.TriggerAllValidators.Parser, new[]{ "CreditCard", "Email", "Empty", "Equal", "ExclusiveBetween", "GreaterThanOrEqual", "GreaterThan", "InclusiveBetween", "Length", "LessThanOrEqual", "LessThan", "NotEmpty", "NotEqual", "Null", "RegularExpression", "ScalePrecision" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.TriggerValidators), global::ServiceStack.Extensions.Tests.Protoc.TriggerValidators.Parser, new[]{ "CreditCard", "Email", "Empty", "Equal", "ExclusiveBetween", "GreaterThanOrEqual", "GreaterThan", "InclusiveBetween", "Length", "LessThanOrEqual", "LessThan", "NotEmpty", "NotEqual", "Null", "RegularExpression", "ScalePrecision" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.TypeWithEnum), global::ServiceStack.Extensions.Tests.Protoc.TypeWithEnum.Parser, new[]{ "Id", "Name", "SomeEnum", "SomeEnumAsInt", "NSomeEnum", "NSomeEnumAsInt" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.UnAssignRoles), global::ServiceStack.Extensions.Tests.Protoc.UnAssignRoles.Parser, new[]{ "UserName", "Permissions", "Roles", "Meta" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.UnAssignRolesResponse), global::ServiceStack.Extensions.Tests.Protoc.UnAssignRolesResponse.Parser, new[]{ "AllRoles", "AllPermissions", "Meta", "ResponseStatus" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.UpdateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse), global::ServiceStack.Extensions.Tests.Protoc.UpdateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse.Parser, new[]{ "UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse" }, new[]{ "Subtype" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.UpdateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse), global::ServiceStack.Extensions.Tests.Protoc.UpdateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.UpdateBooking), global::ServiceStack.Extensions.Tests.Protoc.UpdateBooking.Parser, new[]{ "Id", "RoomType", "RoomNumber", "BookingStartDate", "BookingEndDate", "Notes", "Cancelled", "Cost" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.UpdateConnectionInfoRockstar), global::ServiceStack.Extensions.Tests.Protoc.UpdateConnectionInfoRockstar.Parser, new[]{ "FirstName", "LastName", "Age", "DateOfBirth", "DateDied", "LivingStatus", "Id" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.UpdateNamedRockstar), global::ServiceStack.Extensions.Tests.Protoc.UpdateNamedRockstar.Parser, new[]{ "FirstName", "LastName", "Age", "DateOfBirth", "DateDied", "LivingStatus", "Id" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.UpdateRockstar), global::ServiceStack.Extensions.Tests.Protoc.UpdateRockstar.Parser, new[]{ "FirstName", "LastName", "Age", "DateOfBirth", "DateDied", "LivingStatus", "Id" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.UpdateRockstarAdhocNonDefaults), global::ServiceStack.Extensions.Tests.Protoc.UpdateRockstarAdhocNonDefaults.Parser, new[]{ "Id", "FirstName", "LastName", "Age", "DateOfBirth", "DateDied", "LivingStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.UpdateRockstarAudit), global::ServiceStack.Extensions.Tests.Protoc.UpdateRockstarAudit.Parser, new[]{ "FirstName", "LastName", "Age", "DateOfBirth", "DateDied", "LivingStatus", "Id" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.UpdateRockstarAuditTenant), global::ServiceStack.Extensions.Tests.Protoc.UpdateRockstarAuditTenant.Parser, new[]{ "BearerToken", "Id", "FirstName", "LivingStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.UpdateRockstarAuditTenantGateway), global::ServiceStack.Extensions.Tests.Protoc.UpdateRockstarAuditTenantGateway.Parser, new[]{ "Id", "FirstName", "LivingStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.UpdateRockstarAuditTenantMq), global::ServiceStack.Extensions.Tests.Protoc.UpdateRockstarAuditTenantMq.Parser, new[]{ "Id", "FirstName", "LivingStatus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.UpdateRockstarVersion), global::ServiceStack.Extensions.Tests.Protoc.UpdateRockstarVersion.Parser, new[]{ "FirstName", "LastName", "Age", "DateOfBirth", "DateDied", "LivingStatus", "Id", "RowVersion" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.UpdateTodo), global::ServiceStack.Extensions.Tests.Protoc.UpdateTodo.Parser, new[]{ "Id", "Title", "Order", "Completed" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.UserApiKey), global::ServiceStack.Extensions.Tests.Protoc.UserApiKey.Parser, new[]{ "Key", "KeyType", "ExpiryDate", "Meta" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
            new pbr::GeneratedClrTypeInfo(typeof(global::ServiceStack.Extensions.Tests.Protoc.ValidateCreateRockstar), global::ServiceStack.Extensions.Tests.Protoc.ValidateCreateRockstar.Parser, new[]{ "FirstName", "LastName", "Age", "DateOfBirth", "DateDied", "LivingStatus" }, null, null, null, null)
          }));
    }
    #endregion

  }
  #region Enums
  public enum HttpStatusCode {
    /// <summary>
    /// proto3 requires a zero value as the first item (it can be named anything)
    /// </summary>
    [pbr::OriginalName("ZERO")] Zero = 0,
    [pbr::OriginalName("Continue")] Continue = 100,
    [pbr::OriginalName("SwitchingProtocols")] SwitchingProtocols = 101,
    [pbr::OriginalName("Processing")] Processing = 102,
    [pbr::OriginalName("EarlyHints")] EarlyHints = 103,
    [pbr::OriginalName("OK")] Ok = 200,
    [pbr::OriginalName("Created")] Created = 201,
    [pbr::OriginalName("Accepted")] Accepted = 202,
    [pbr::OriginalName("NonAuthoritativeInformation")] NonAuthoritativeInformation = 203,
    [pbr::OriginalName("NoContent")] NoContent = 204,
    [pbr::OriginalName("ResetContent")] ResetContent = 205,
    [pbr::OriginalName("PartialContent")] PartialContent = 206,
    [pbr::OriginalName("MultiStatus")] MultiStatus = 207,
    [pbr::OriginalName("AlreadyReported")] AlreadyReported = 208,
    [pbr::OriginalName("IMUsed")] Imused = 226,
    [pbr::OriginalName("MultipleChoices")] MultipleChoices = 300,
    [pbr::OriginalName("Ambiguous", PreferredAlias = false)] Ambiguous = 300,
    [pbr::OriginalName("MovedPermanently")] MovedPermanently = 301,
    [pbr::OriginalName("Moved", PreferredAlias = false)] Moved = 301,
    [pbr::OriginalName("Found")] Found = 302,
    [pbr::OriginalName("Redirect", PreferredAlias = false)] Redirect = 302,
    [pbr::OriginalName("SeeOther")] SeeOther = 303,
    [pbr::OriginalName("RedirectMethod", PreferredAlias = false)] RedirectMethod = 303,
    [pbr::OriginalName("NotModified")] NotModified = 304,
    [pbr::OriginalName("UseProxy")] UseProxy = 305,
    [pbr::OriginalName("Unused")] Unused = 306,
    [pbr::OriginalName("TemporaryRedirect")] TemporaryRedirect = 307,
    [pbr::OriginalName("RedirectKeepVerb", PreferredAlias = false)] RedirectKeepVerb = 307,
    [pbr::OriginalName("PermanentRedirect")] PermanentRedirect = 308,
    [pbr::OriginalName("BadRequest")] BadRequest = 400,
    [pbr::OriginalName("Unauthorized")] Unauthorized = 401,
    [pbr::OriginalName("PaymentRequired")] PaymentRequired = 402,
    [pbr::OriginalName("Forbidden")] Forbidden = 403,
    [pbr::OriginalName("NotFound")] NotFound = 404,
    [pbr::OriginalName("MethodNotAllowed")] MethodNotAllowed = 405,
    [pbr::OriginalName("NotAcceptable")] NotAcceptable = 406,
    [pbr::OriginalName("ProxyAuthenticationRequired")] ProxyAuthenticationRequired = 407,
    [pbr::OriginalName("RequestTimeout")] RequestTimeout = 408,
    [pbr::OriginalName("Conflict")] Conflict = 409,
    [pbr::OriginalName("Gone")] Gone = 410,
    [pbr::OriginalName("LengthRequired")] LengthRequired = 411,
    [pbr::OriginalName("PreconditionFailed")] PreconditionFailed = 412,
    [pbr::OriginalName("RequestEntityTooLarge")] RequestEntityTooLarge = 413,
    [pbr::OriginalName("RequestUriTooLong")] RequestUriTooLong = 414,
    [pbr::OriginalName("UnsupportedMediaType")] UnsupportedMediaType = 415,
    [pbr::OriginalName("RequestedRangeNotSatisfiable")] RequestedRangeNotSatisfiable = 416,
    [pbr::OriginalName("ExpectationFailed")] ExpectationFailed = 417,
    [pbr::OriginalName("MisdirectedRequest")] MisdirectedRequest = 421,
    [pbr::OriginalName("UnprocessableEntity")] UnprocessableEntity = 422,
    [pbr::OriginalName("UnprocessableContent", PreferredAlias = false)] UnprocessableContent = 422,
    [pbr::OriginalName("Locked")] Locked = 423,
    [pbr::OriginalName("FailedDependency")] FailedDependency = 424,
    [pbr::OriginalName("UpgradeRequired")] UpgradeRequired = 426,
    [pbr::OriginalName("PreconditionRequired")] PreconditionRequired = 428,
    [pbr::OriginalName("TooManyRequests")] TooManyRequests = 429,
    [pbr::OriginalName("RequestHeaderFieldsTooLarge")] RequestHeaderFieldsTooLarge = 431,
    [pbr::OriginalName("UnavailableForLegalReasons")] UnavailableForLegalReasons = 451,
    [pbr::OriginalName("InternalServerError")] InternalServerError = 500,
    [pbr::OriginalName("NotImplemented")] NotImplemented = 501,
    [pbr::OriginalName("BadGateway")] BadGateway = 502,
    [pbr::OriginalName("ServiceUnavailable")] ServiceUnavailable = 503,
    [pbr::OriginalName("GatewayTimeout")] GatewayTimeout = 504,
    [pbr::OriginalName("HttpVersionNotSupported")] HttpVersionNotSupported = 505,
    [pbr::OriginalName("VariantAlsoNegotiates")] VariantAlsoNegotiates = 506,
    [pbr::OriginalName("InsufficientStorage")] InsufficientStorage = 507,
    [pbr::OriginalName("LoopDetected")] LoopDetected = 508,
    [pbr::OriginalName("NotExtended")] NotExtended = 510,
    [pbr::OriginalName("NetworkAuthenticationRequired")] NetworkAuthenticationRequired = 511,
  }

  public enum LivingStatus {
    [pbr::OriginalName("Alive")] Alive = 0,
    [pbr::OriginalName("Dead")] Dead = 1,
  }

  public enum RoomType {
    [pbr::OriginalName("Single")] Single = 0,
    [pbr::OriginalName("Double")] Double = 1,
    [pbr::OriginalName("Queen")] Queen = 2,
    [pbr::OriginalName("Twin")] Twin = 3,
    [pbr::OriginalName("Suite")] Suite = 4,
  }

  public enum SomeEnum {
    [pbr::OriginalName("SomeEnum_Value0")] Value0 = 0,
    [pbr::OriginalName("SomeEnum_Value1")] Value1 = 1,
    [pbr::OriginalName("SomeEnum_Value2")] Value2 = 2,
    [pbr::OriginalName("SomeEnum_Value3")] Value3 = 3,
  }

  public enum SomeEnumAsInt {
    [pbr::OriginalName("Value0")] Value0 = 0,
    [pbr::OriginalName("Value1")] Value1 = 1,
    [pbr::OriginalName("Value2")] Value2 = 2,
    [pbr::OriginalName("Value3")] Value3 = 3,
  }

  #endregion

  #region Messages
  public sealed partial class AddHeader : pb::IMessage<AddHeader>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<AddHeader> _parser = new pb::MessageParser<AddHeader>(() => new AddHeader());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<AddHeader> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[0]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AddHeader() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AddHeader(AddHeader other) : this() {
      name_ = other.name_;
      value_ = other.value_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AddHeader Clone() {
      return new AddHeader(this);
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 1;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Value" field.</summary>
    public const int ValueFieldNumber = 2;
    private string value_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Value {
      get { return value_; }
      set {
        value_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as AddHeader);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(AddHeader other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Name != other.Name) return false;
      if (Value != other.Value) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Value.Length != 0) hash ^= Value.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (Value.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Value);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (Value.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Value);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Value.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Value);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(AddHeader other) {
      if (other == null) {
        return;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Value.Length != 0) {
        Value = other.Value;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            Value = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            Value = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Adhoc : pb::IMessage<Adhoc>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Adhoc> _parser = new pb::MessageParser<Adhoc>(() => new Adhoc());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Adhoc> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[1]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Adhoc() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Adhoc(Adhoc other) : this() {
      id_ = other.id_;
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Adhoc Clone() {
      return new Adhoc(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "first_name" field.</summary>
    public const int FirstNameFieldNumber = 2;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 3;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Adhoc);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Adhoc other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LastName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LastName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Adhoc other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 26: {
            LastName = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 26: {
            LastName = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class AllFields : pb::IMessage<AllFields>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<AllFields> _parser = new pb::MessageParser<AllFields>(() => new AllFields());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<AllFields> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[2]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AllFields() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AllFields(AllFields other) : this() {
      id_ = other.id_;
      nullableId_ = other.nullableId_;
      byte_ = other.byte_;
      short_ = other.short_;
      int_ = other.int_;
      long_ = other.long_;
      uShort_ = other.uShort_;
      uInt_ = other.uInt_;
      uLong_ = other.uLong_;
      float_ = other.float_;
      double_ = other.double_;
      decimal_ = other.decimal_;
      string_ = other.string_;
      dateTime_ = other.dateTime_ != null ? other.dateTime_.Clone() : null;
      timeSpan_ = other.timeSpan_ != null ? other.timeSpan_.Clone() : null;
      guid_ = other.guid_;
      nullableDateTime_ = other.nullableDateTime_ != null ? other.nullableDateTime_.Clone() : null;
      nullableTimeSpan_ = other.nullableTimeSpan_ != null ? other.nullableTimeSpan_.Clone() : null;
      nullableGuid_ = other.nullableGuid_;
      enum_ = other.enum_;
      nullableEnum_ = other.nullableEnum_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AllFields Clone() {
      return new AllFields(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "NullableId" field.</summary>
    public const int NullableIdFieldNumber = 2;
    private int nullableId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NullableId {
      get { return nullableId_; }
      set {
        nullableId_ = value;
      }
    }

    /// <summary>Field number for the "Byte" field.</summary>
    public const int ByteFieldNumber = 3;
    private uint byte_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint Byte {
      get { return byte_; }
      set {
        byte_ = value;
      }
    }

    /// <summary>Field number for the "Short" field.</summary>
    public const int ShortFieldNumber = 4;
    private int short_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Short {
      get { return short_; }
      set {
        short_ = value;
      }
    }

    /// <summary>Field number for the "Int" field.</summary>
    public const int IntFieldNumber = 5;
    private int int_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Int {
      get { return int_; }
      set {
        int_ = value;
      }
    }

    /// <summary>Field number for the "Long" field.</summary>
    public const int LongFieldNumber = 6;
    private long long_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Long {
      get { return long_; }
      set {
        long_ = value;
      }
    }

    /// <summary>Field number for the "UShort" field.</summary>
    public const int UShortFieldNumber = 7;
    private uint uShort_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint UShort {
      get { return uShort_; }
      set {
        uShort_ = value;
      }
    }

    /// <summary>Field number for the "UInt" field.</summary>
    public const int UIntFieldNumber = 8;
    private uint uInt_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint UInt {
      get { return uInt_; }
      set {
        uInt_ = value;
      }
    }

    /// <summary>Field number for the "ULong" field.</summary>
    public const int ULongFieldNumber = 9;
    private ulong uLong_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ulong ULong {
      get { return uLong_; }
      set {
        uLong_ = value;
      }
    }

    /// <summary>Field number for the "Float" field.</summary>
    public const int FloatFieldNumber = 10;
    private float float_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float Float {
      get { return float_; }
      set {
        float_ = value;
      }
    }

    /// <summary>Field number for the "Double" field.</summary>
    public const int DoubleFieldNumber = 11;
    private double double_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public double Double {
      get { return double_; }
      set {
        double_ = value;
      }
    }

    /// <summary>Field number for the "Decimal" field.</summary>
    public const int DecimalFieldNumber = 12;
    private string decimal_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Decimal {
      get { return decimal_; }
      set {
        decimal_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "String" field.</summary>
    public const int StringFieldNumber = 13;
    private string string_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string String {
      get { return string_; }
      set {
        string_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DateTime" field.</summary>
    public const int DateTimeFieldNumber = 14;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateTime_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateTime {
      get { return dateTime_; }
      set {
        dateTime_ = value;
      }
    }

    /// <summary>Field number for the "TimeSpan" field.</summary>
    public const int TimeSpanFieldNumber = 15;
    private global::Google.Protobuf.WellKnownTypes.Duration timeSpan_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Duration TimeSpan {
      get { return timeSpan_; }
      set {
        timeSpan_ = value;
      }
    }

    /// <summary>Field number for the "Guid" field.</summary>
    public const int GuidFieldNumber = 16;
    private string guid_ = "";
    /// <summary>
    /// default value could not be applied: 00000000-0000-0000-0000-000000000000
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Guid {
      get { return guid_; }
      set {
        guid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "NullableDateTime" field.</summary>
    public const int NullableDateTimeFieldNumber = 17;
    private global::Google.Protobuf.WellKnownTypes.Timestamp nullableDateTime_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp NullableDateTime {
      get { return nullableDateTime_; }
      set {
        nullableDateTime_ = value;
      }
    }

    /// <summary>Field number for the "NullableTimeSpan" field.</summary>
    public const int NullableTimeSpanFieldNumber = 18;
    private global::Google.Protobuf.WellKnownTypes.Duration nullableTimeSpan_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Duration NullableTimeSpan {
      get { return nullableTimeSpan_; }
      set {
        nullableTimeSpan_ = value;
      }
    }

    /// <summary>Field number for the "NullableGuid" field.</summary>
    public const int NullableGuidFieldNumber = 19;
    private string nullableGuid_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string NullableGuid {
      get { return nullableGuid_; }
      set {
        nullableGuid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Enum" field.</summary>
    public const int EnumFieldNumber = 20;
    private global::ServiceStack.Extensions.Tests.Protoc.HttpStatusCode enum_ = global::ServiceStack.Extensions.Tests.Protoc.HttpStatusCode.Zero;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.HttpStatusCode Enum {
      get { return enum_; }
      set {
        enum_ = value;
      }
    }

    /// <summary>Field number for the "NullableEnum" field.</summary>
    public const int NullableEnumFieldNumber = 21;
    private global::ServiceStack.Extensions.Tests.Protoc.HttpStatusCode nullableEnum_ = global::ServiceStack.Extensions.Tests.Protoc.HttpStatusCode.Zero;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.HttpStatusCode NullableEnum {
      get { return nullableEnum_; }
      set {
        nullableEnum_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as AllFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(AllFields other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (NullableId != other.NullableId) return false;
      if (Byte != other.Byte) return false;
      if (Short != other.Short) return false;
      if (Int != other.Int) return false;
      if (Long != other.Long) return false;
      if (UShort != other.UShort) return false;
      if (UInt != other.UInt) return false;
      if (ULong != other.ULong) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Float, other.Float)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Double, other.Double)) return false;
      if (Decimal != other.Decimal) return false;
      if (String != other.String) return false;
      if (!object.Equals(DateTime, other.DateTime)) return false;
      if (!object.Equals(TimeSpan, other.TimeSpan)) return false;
      if (Guid != other.Guid) return false;
      if (!object.Equals(NullableDateTime, other.NullableDateTime)) return false;
      if (!object.Equals(NullableTimeSpan, other.NullableTimeSpan)) return false;
      if (NullableGuid != other.NullableGuid) return false;
      if (Enum != other.Enum) return false;
      if (NullableEnum != other.NullableEnum) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (NullableId != 0) hash ^= NullableId.GetHashCode();
      if (Byte != 0) hash ^= Byte.GetHashCode();
      if (Short != 0) hash ^= Short.GetHashCode();
      if (Int != 0) hash ^= Int.GetHashCode();
      if (Long != 0L) hash ^= Long.GetHashCode();
      if (UShort != 0) hash ^= UShort.GetHashCode();
      if (UInt != 0) hash ^= UInt.GetHashCode();
      if (ULong != 0UL) hash ^= ULong.GetHashCode();
      if (Float != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Float);
      if (Double != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Double);
      if (Decimal.Length != 0) hash ^= Decimal.GetHashCode();
      if (String.Length != 0) hash ^= String.GetHashCode();
      if (dateTime_ != null) hash ^= DateTime.GetHashCode();
      if (timeSpan_ != null) hash ^= TimeSpan.GetHashCode();
      if (Guid.Length != 0) hash ^= Guid.GetHashCode();
      if (nullableDateTime_ != null) hash ^= NullableDateTime.GetHashCode();
      if (nullableTimeSpan_ != null) hash ^= NullableTimeSpan.GetHashCode();
      if (NullableGuid.Length != 0) hash ^= NullableGuid.GetHashCode();
      if (Enum != global::ServiceStack.Extensions.Tests.Protoc.HttpStatusCode.Zero) hash ^= Enum.GetHashCode();
      if (NullableEnum != global::ServiceStack.Extensions.Tests.Protoc.HttpStatusCode.Zero) hash ^= NullableEnum.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (NullableId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(NullableId);
      }
      if (Byte != 0) {
        output.WriteRawTag(24);
        output.WriteUInt32(Byte);
      }
      if (Short != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Short);
      }
      if (Int != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Int);
      }
      if (Long != 0L) {
        output.WriteRawTag(48);
        output.WriteInt64(Long);
      }
      if (UShort != 0) {
        output.WriteRawTag(56);
        output.WriteUInt32(UShort);
      }
      if (UInt != 0) {
        output.WriteRawTag(64);
        output.WriteUInt32(UInt);
      }
      if (ULong != 0UL) {
        output.WriteRawTag(72);
        output.WriteUInt64(ULong);
      }
      if (Float != 0F) {
        output.WriteRawTag(85);
        output.WriteFloat(Float);
      }
      if (Double != 0D) {
        output.WriteRawTag(89);
        output.WriteDouble(Double);
      }
      if (Decimal.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(Decimal);
      }
      if (String.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(String);
      }
      if (dateTime_ != null) {
        output.WriteRawTag(114);
        output.WriteMessage(DateTime);
      }
      if (timeSpan_ != null) {
        output.WriteRawTag(122);
        output.WriteMessage(TimeSpan);
      }
      if (Guid.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(Guid);
      }
      if (nullableDateTime_ != null) {
        output.WriteRawTag(138, 1);
        output.WriteMessage(NullableDateTime);
      }
      if (nullableTimeSpan_ != null) {
        output.WriteRawTag(146, 1);
        output.WriteMessage(NullableTimeSpan);
      }
      if (NullableGuid.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(NullableGuid);
      }
      if (Enum != global::ServiceStack.Extensions.Tests.Protoc.HttpStatusCode.Zero) {
        output.WriteRawTag(160, 1);
        output.WriteEnum((int) Enum);
      }
      if (NullableEnum != global::ServiceStack.Extensions.Tests.Protoc.HttpStatusCode.Zero) {
        output.WriteRawTag(168, 1);
        output.WriteEnum((int) NullableEnum);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (NullableId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(NullableId);
      }
      if (Byte != 0) {
        output.WriteRawTag(24);
        output.WriteUInt32(Byte);
      }
      if (Short != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Short);
      }
      if (Int != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Int);
      }
      if (Long != 0L) {
        output.WriteRawTag(48);
        output.WriteInt64(Long);
      }
      if (UShort != 0) {
        output.WriteRawTag(56);
        output.WriteUInt32(UShort);
      }
      if (UInt != 0) {
        output.WriteRawTag(64);
        output.WriteUInt32(UInt);
      }
      if (ULong != 0UL) {
        output.WriteRawTag(72);
        output.WriteUInt64(ULong);
      }
      if (Float != 0F) {
        output.WriteRawTag(85);
        output.WriteFloat(Float);
      }
      if (Double != 0D) {
        output.WriteRawTag(89);
        output.WriteDouble(Double);
      }
      if (Decimal.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(Decimal);
      }
      if (String.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(String);
      }
      if (dateTime_ != null) {
        output.WriteRawTag(114);
        output.WriteMessage(DateTime);
      }
      if (timeSpan_ != null) {
        output.WriteRawTag(122);
        output.WriteMessage(TimeSpan);
      }
      if (Guid.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(Guid);
      }
      if (nullableDateTime_ != null) {
        output.WriteRawTag(138, 1);
        output.WriteMessage(NullableDateTime);
      }
      if (nullableTimeSpan_ != null) {
        output.WriteRawTag(146, 1);
        output.WriteMessage(NullableTimeSpan);
      }
      if (NullableGuid.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(NullableGuid);
      }
      if (Enum != global::ServiceStack.Extensions.Tests.Protoc.HttpStatusCode.Zero) {
        output.WriteRawTag(160, 1);
        output.WriteEnum((int) Enum);
      }
      if (NullableEnum != global::ServiceStack.Extensions.Tests.Protoc.HttpStatusCode.Zero) {
        output.WriteRawTag(168, 1);
        output.WriteEnum((int) NullableEnum);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (NullableId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NullableId);
      }
      if (Byte != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Byte);
      }
      if (Short != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Short);
      }
      if (Int != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Int);
      }
      if (Long != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Long);
      }
      if (UShort != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(UShort);
      }
      if (UInt != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(UInt);
      }
      if (ULong != 0UL) {
        size += 1 + pb::CodedOutputStream.ComputeUInt64Size(ULong);
      }
      if (Float != 0F) {
        size += 1 + 4;
      }
      if (Double != 0D) {
        size += 1 + 8;
      }
      if (Decimal.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Decimal);
      }
      if (String.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(String);
      }
      if (dateTime_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateTime);
      }
      if (timeSpan_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(TimeSpan);
      }
      if (Guid.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Guid);
      }
      if (nullableDateTime_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(NullableDateTime);
      }
      if (nullableTimeSpan_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(NullableTimeSpan);
      }
      if (NullableGuid.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(NullableGuid);
      }
      if (Enum != global::ServiceStack.Extensions.Tests.Protoc.HttpStatusCode.Zero) {
        size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) Enum);
      }
      if (NullableEnum != global::ServiceStack.Extensions.Tests.Protoc.HttpStatusCode.Zero) {
        size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) NullableEnum);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(AllFields other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.NullableId != 0) {
        NullableId = other.NullableId;
      }
      if (other.Byte != 0) {
        Byte = other.Byte;
      }
      if (other.Short != 0) {
        Short = other.Short;
      }
      if (other.Int != 0) {
        Int = other.Int;
      }
      if (other.Long != 0L) {
        Long = other.Long;
      }
      if (other.UShort != 0) {
        UShort = other.UShort;
      }
      if (other.UInt != 0) {
        UInt = other.UInt;
      }
      if (other.ULong != 0UL) {
        ULong = other.ULong;
      }
      if (other.Float != 0F) {
        Float = other.Float;
      }
      if (other.Double != 0D) {
        Double = other.Double;
      }
      if (other.Decimal.Length != 0) {
        Decimal = other.Decimal;
      }
      if (other.String.Length != 0) {
        String = other.String;
      }
      if (other.dateTime_ != null) {
        if (dateTime_ == null) {
          DateTime = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateTime.MergeFrom(other.DateTime);
      }
      if (other.timeSpan_ != null) {
        if (timeSpan_ == null) {
          TimeSpan = new global::Google.Protobuf.WellKnownTypes.Duration();
        }
        TimeSpan.MergeFrom(other.TimeSpan);
      }
      if (other.Guid.Length != 0) {
        Guid = other.Guid;
      }
      if (other.nullableDateTime_ != null) {
        if (nullableDateTime_ == null) {
          NullableDateTime = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        NullableDateTime.MergeFrom(other.NullableDateTime);
      }
      if (other.nullableTimeSpan_ != null) {
        if (nullableTimeSpan_ == null) {
          NullableTimeSpan = new global::Google.Protobuf.WellKnownTypes.Duration();
        }
        NullableTimeSpan.MergeFrom(other.NullableTimeSpan);
      }
      if (other.NullableGuid.Length != 0) {
        NullableGuid = other.NullableGuid;
      }
      if (other.Enum != global::ServiceStack.Extensions.Tests.Protoc.HttpStatusCode.Zero) {
        Enum = other.Enum;
      }
      if (other.NullableEnum != global::ServiceStack.Extensions.Tests.Protoc.HttpStatusCode.Zero) {
        NullableEnum = other.NullableEnum;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            NullableId = input.ReadInt32();
            break;
          }
          case 24: {
            Byte = input.ReadUInt32();
            break;
          }
          case 32: {
            Short = input.ReadInt32();
            break;
          }
          case 40: {
            Int = input.ReadInt32();
            break;
          }
          case 48: {
            Long = input.ReadInt64();
            break;
          }
          case 56: {
            UShort = input.ReadUInt32();
            break;
          }
          case 64: {
            UInt = input.ReadUInt32();
            break;
          }
          case 72: {
            ULong = input.ReadUInt64();
            break;
          }
          case 85: {
            Float = input.ReadFloat();
            break;
          }
          case 89: {
            Double = input.ReadDouble();
            break;
          }
          case 98: {
            Decimal = input.ReadString();
            break;
          }
          case 106: {
            String = input.ReadString();
            break;
          }
          case 114: {
            if (dateTime_ == null) {
              DateTime = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateTime);
            break;
          }
          case 122: {
            if (timeSpan_ == null) {
              TimeSpan = new global::Google.Protobuf.WellKnownTypes.Duration();
            }
            input.ReadMessage(TimeSpan);
            break;
          }
          case 130: {
            Guid = input.ReadString();
            break;
          }
          case 138: {
            if (nullableDateTime_ == null) {
              NullableDateTime = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(NullableDateTime);
            break;
          }
          case 146: {
            if (nullableTimeSpan_ == null) {
              NullableTimeSpan = new global::Google.Protobuf.WellKnownTypes.Duration();
            }
            input.ReadMessage(NullableTimeSpan);
            break;
          }
          case 154: {
            NullableGuid = input.ReadString();
            break;
          }
          case 160: {
            Enum = (global::ServiceStack.Extensions.Tests.Protoc.HttpStatusCode) input.ReadEnum();
            break;
          }
          case 168: {
            NullableEnum = (global::ServiceStack.Extensions.Tests.Protoc.HttpStatusCode) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            NullableId = input.ReadInt32();
            break;
          }
          case 24: {
            Byte = input.ReadUInt32();
            break;
          }
          case 32: {
            Short = input.ReadInt32();
            break;
          }
          case 40: {
            Int = input.ReadInt32();
            break;
          }
          case 48: {
            Long = input.ReadInt64();
            break;
          }
          case 56: {
            UShort = input.ReadUInt32();
            break;
          }
          case 64: {
            UInt = input.ReadUInt32();
            break;
          }
          case 72: {
            ULong = input.ReadUInt64();
            break;
          }
          case 85: {
            Float = input.ReadFloat();
            break;
          }
          case 89: {
            Double = input.ReadDouble();
            break;
          }
          case 98: {
            Decimal = input.ReadString();
            break;
          }
          case 106: {
            String = input.ReadString();
            break;
          }
          case 114: {
            if (dateTime_ == null) {
              DateTime = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateTime);
            break;
          }
          case 122: {
            if (timeSpan_ == null) {
              TimeSpan = new global::Google.Protobuf.WellKnownTypes.Duration();
            }
            input.ReadMessage(TimeSpan);
            break;
          }
          case 130: {
            Guid = input.ReadString();
            break;
          }
          case 138: {
            if (nullableDateTime_ == null) {
              NullableDateTime = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(NullableDateTime);
            break;
          }
          case 146: {
            if (nullableTimeSpan_ == null) {
              NullableTimeSpan = new global::Google.Protobuf.WellKnownTypes.Duration();
            }
            input.ReadMessage(NullableTimeSpan);
            break;
          }
          case 154: {
            NullableGuid = input.ReadString();
            break;
          }
          case 160: {
            Enum = (global::ServiceStack.Extensions.Tests.Protoc.HttpStatusCode) input.ReadEnum();
            break;
          }
          case 168: {
            NullableEnum = (global::ServiceStack.Extensions.Tests.Protoc.HttpStatusCode) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class AnyHello : pb::IMessage<AnyHello>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<AnyHello> _parser = new pb::MessageParser<AnyHello>(() => new AnyHello());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<AnyHello> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[3]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AnyHello() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AnyHello(AnyHello other) : this() {
      name_ = other.name_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AnyHello Clone() {
      return new AnyHello(this);
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 1;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as AnyHello);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(AnyHello other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Name != other.Name) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(AnyHello other) {
      if (other == null) {
        return;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class AssignRoles : pb::IMessage<AssignRoles>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<AssignRoles> _parser = new pb::MessageParser<AssignRoles>(() => new AssignRoles());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<AssignRoles> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[4]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AssignRoles() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AssignRoles(AssignRoles other) : this() {
      userName_ = other.userName_;
      permissions_ = other.permissions_.Clone();
      roles_ = other.roles_.Clone();
      meta_ = other.meta_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AssignRoles Clone() {
      return new AssignRoles(this);
    }

    /// <summary>Field number for the "UserName" field.</summary>
    public const int UserNameFieldNumber = 1;
    private string userName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string UserName {
      get { return userName_; }
      set {
        userName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Permissions" field.</summary>
    public const int PermissionsFieldNumber = 2;
    private static readonly pb::FieldCodec<string> _repeated_permissions_codec
        = pb::FieldCodec.ForString(18);
    private readonly pbc::RepeatedField<string> permissions_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> Permissions {
      get { return permissions_; }
    }

    /// <summary>Field number for the "Roles" field.</summary>
    public const int RolesFieldNumber = 3;
    private static readonly pb::FieldCodec<string> _repeated_roles_codec
        = pb::FieldCodec.ForString(26);
    private readonly pbc::RepeatedField<string> roles_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> Roles {
      get { return roles_; }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 4;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 34);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as AssignRoles);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(AssignRoles other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (UserName != other.UserName) return false;
      if(!permissions_.Equals(other.permissions_)) return false;
      if(!roles_.Equals(other.roles_)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (UserName.Length != 0) hash ^= UserName.GetHashCode();
      hash ^= permissions_.GetHashCode();
      hash ^= roles_.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (UserName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(UserName);
      }
      permissions_.WriteTo(output, _repeated_permissions_codec);
      roles_.WriteTo(output, _repeated_roles_codec);
      meta_.WriteTo(output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (UserName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(UserName);
      }
      permissions_.WriteTo(ref output, _repeated_permissions_codec);
      roles_.WriteTo(ref output, _repeated_roles_codec);
      meta_.WriteTo(ref output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (UserName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(UserName);
      }
      size += permissions_.CalculateSize(_repeated_permissions_codec);
      size += roles_.CalculateSize(_repeated_roles_codec);
      size += meta_.CalculateSize(_map_meta_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(AssignRoles other) {
      if (other == null) {
        return;
      }
      if (other.UserName.Length != 0) {
        UserName = other.UserName;
      }
      permissions_.Add(other.permissions_);
      roles_.Add(other.roles_);
      meta_.Add(other.meta_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            UserName = input.ReadString();
            break;
          }
          case 18: {
            permissions_.AddEntriesFrom(input, _repeated_permissions_codec);
            break;
          }
          case 26: {
            roles_.AddEntriesFrom(input, _repeated_roles_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            UserName = input.ReadString();
            break;
          }
          case 18: {
            permissions_.AddEntriesFrom(ref input, _repeated_permissions_codec);
            break;
          }
          case 26: {
            roles_.AddEntriesFrom(ref input, _repeated_roles_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class AssignRolesResponse : pb::IMessage<AssignRolesResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<AssignRolesResponse> _parser = new pb::MessageParser<AssignRolesResponse>(() => new AssignRolesResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<AssignRolesResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[5]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AssignRolesResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AssignRolesResponse(AssignRolesResponse other) : this() {
      allRoles_ = other.allRoles_.Clone();
      allPermissions_ = other.allPermissions_.Clone();
      meta_ = other.meta_.Clone();
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AssignRolesResponse Clone() {
      return new AssignRolesResponse(this);
    }

    /// <summary>Field number for the "AllRoles" field.</summary>
    public const int AllRolesFieldNumber = 1;
    private static readonly pb::FieldCodec<string> _repeated_allRoles_codec
        = pb::FieldCodec.ForString(10);
    private readonly pbc::RepeatedField<string> allRoles_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> AllRoles {
      get { return allRoles_; }
    }

    /// <summary>Field number for the "AllPermissions" field.</summary>
    public const int AllPermissionsFieldNumber = 2;
    private static readonly pb::FieldCodec<string> _repeated_allPermissions_codec
        = pb::FieldCodec.ForString(18);
    private readonly pbc::RepeatedField<string> allPermissions_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> AllPermissions {
      get { return allPermissions_; }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 3;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 26);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 4;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as AssignRolesResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(AssignRolesResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!allRoles_.Equals(other.allRoles_)) return false;
      if(!allPermissions_.Equals(other.allPermissions_)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= allRoles_.GetHashCode();
      hash ^= allPermissions_.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      allRoles_.WriteTo(output, _repeated_allRoles_codec);
      allPermissions_.WriteTo(output, _repeated_allPermissions_codec);
      meta_.WriteTo(output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      allRoles_.WriteTo(ref output, _repeated_allRoles_codec);
      allPermissions_.WriteTo(ref output, _repeated_allPermissions_codec);
      meta_.WriteTo(ref output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += allRoles_.CalculateSize(_repeated_allRoles_codec);
      size += allPermissions_.CalculateSize(_repeated_allPermissions_codec);
      size += meta_.CalculateSize(_map_meta_codec);
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(AssignRolesResponse other) {
      if (other == null) {
        return;
      }
      allRoles_.Add(other.allRoles_);
      allPermissions_.Add(other.allPermissions_);
      meta_.Add(other.meta_);
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            allRoles_.AddEntriesFrom(input, _repeated_allRoles_codec);
            break;
          }
          case 18: {
            allPermissions_.AddEntriesFrom(input, _repeated_allPermissions_codec);
            break;
          }
          case 26: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 34: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            allRoles_.AddEntriesFrom(ref input, _repeated_allRoles_codec);
            break;
          }
          case 18: {
            allPermissions_.AddEntriesFrom(ref input, _repeated_allPermissions_codec);
            break;
          }
          case 26: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 34: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class AuditBase : pb::IMessage<AuditBase>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<AuditBase> _parser = new pb::MessageParser<AuditBase>(() => new AuditBase());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<AuditBase> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[6]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AuditBase() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AuditBase(AuditBase other) : this() {
      createdDate_ = other.createdDate_ != null ? other.createdDate_.Clone() : null;
      createdBy_ = other.createdBy_;
      modifiedDate_ = other.modifiedDate_ != null ? other.modifiedDate_.Clone() : null;
      modifiedBy_ = other.modifiedBy_;
      deletedDate_ = other.deletedDate_ != null ? other.deletedDate_.Clone() : null;
      deletedBy_ = other.deletedBy_;
      switch (other.SubtypeCase) {
        case SubtypeOneofCase.Booking:
          Booking = other.Booking.Clone();
          break;
        case SubtypeOneofCase.RockstarAuditTenant:
          RockstarAuditTenant = other.RockstarAuditTenant.Clone();
          break;
      }

      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AuditBase Clone() {
      return new AuditBase(this);
    }

    /// <summary>Field number for the "CreatedDate" field.</summary>
    public const int CreatedDateFieldNumber = 1;
    private global::Google.Protobuf.WellKnownTypes.Timestamp createdDate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp CreatedDate {
      get { return createdDate_; }
      set {
        createdDate_ = value;
      }
    }

    /// <summary>Field number for the "CreatedBy" field.</summary>
    public const int CreatedByFieldNumber = 2;
    private string createdBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CreatedBy {
      get { return createdBy_; }
      set {
        createdBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ModifiedDate" field.</summary>
    public const int ModifiedDateFieldNumber = 3;
    private global::Google.Protobuf.WellKnownTypes.Timestamp modifiedDate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp ModifiedDate {
      get { return modifiedDate_; }
      set {
        modifiedDate_ = value;
      }
    }

    /// <summary>Field number for the "ModifiedBy" field.</summary>
    public const int ModifiedByFieldNumber = 4;
    private string modifiedBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ModifiedBy {
      get { return modifiedBy_; }
      set {
        modifiedBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DeletedDate" field.</summary>
    public const int DeletedDateFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp deletedDate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DeletedDate {
      get { return deletedDate_; }
      set {
        deletedDate_ = value;
      }
    }

    /// <summary>Field number for the "DeletedBy" field.</summary>
    public const int DeletedByFieldNumber = 6;
    private string deletedBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DeletedBy {
      get { return deletedBy_; }
      set {
        deletedBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Booking" field.</summary>
    public const int BookingFieldNumber = 64344587;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.Booking Booking {
      get { return subtypeCase_ == SubtypeOneofCase.Booking ? (global::ServiceStack.Extensions.Tests.Protoc.Booking) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.Booking;
      }
    }

    /// <summary>Field number for the "RockstarAuditTenant" field.</summary>
    public const int RockstarAuditTenantFieldNumber = 252248706;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.RockstarAuditTenant RockstarAuditTenant {
      get { return subtypeCase_ == SubtypeOneofCase.RockstarAuditTenant ? (global::ServiceStack.Extensions.Tests.Protoc.RockstarAuditTenant) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.RockstarAuditTenant;
      }
    }

    private object subtype_;
    /// <summary>Enum of possible cases for the "subtype" oneof.</summary>
    public enum SubtypeOneofCase {
      None = 0,
      Booking = 64344587,
      RockstarAuditTenant = 252248706,
    }
    private SubtypeOneofCase subtypeCase_ = SubtypeOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SubtypeOneofCase SubtypeCase {
      get { return subtypeCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearSubtype() {
      subtypeCase_ = SubtypeOneofCase.None;
      subtype_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as AuditBase);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(AuditBase other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(CreatedDate, other.CreatedDate)) return false;
      if (CreatedBy != other.CreatedBy) return false;
      if (!object.Equals(ModifiedDate, other.ModifiedDate)) return false;
      if (ModifiedBy != other.ModifiedBy) return false;
      if (!object.Equals(DeletedDate, other.DeletedDate)) return false;
      if (DeletedBy != other.DeletedBy) return false;
      if (!object.Equals(Booking, other.Booking)) return false;
      if (!object.Equals(RockstarAuditTenant, other.RockstarAuditTenant)) return false;
      if (SubtypeCase != other.SubtypeCase) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (createdDate_ != null) hash ^= CreatedDate.GetHashCode();
      if (CreatedBy.Length != 0) hash ^= CreatedBy.GetHashCode();
      if (modifiedDate_ != null) hash ^= ModifiedDate.GetHashCode();
      if (ModifiedBy.Length != 0) hash ^= ModifiedBy.GetHashCode();
      if (deletedDate_ != null) hash ^= DeletedDate.GetHashCode();
      if (DeletedBy.Length != 0) hash ^= DeletedBy.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.Booking) hash ^= Booking.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.RockstarAuditTenant) hash ^= RockstarAuditTenant.GetHashCode();
      hash ^= (int) subtypeCase_;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (createdDate_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(CreatedDate);
      }
      if (CreatedBy.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(CreatedBy);
      }
      if (modifiedDate_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ModifiedDate);
      }
      if (ModifiedBy.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ModifiedBy);
      }
      if (deletedDate_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DeletedDate);
      }
      if (DeletedBy.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(DeletedBy);
      }
      if (subtypeCase_ == SubtypeOneofCase.Booking) {
        output.WriteRawTag(218, 160, 186, 245, 1);
        output.WriteMessage(Booking);
      }
      if (subtypeCase_ == SubtypeOneofCase.RockstarAuditTenant) {
        output.WriteRawTag(146, 168, 160, 194, 7);
        output.WriteMessage(RockstarAuditTenant);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (createdDate_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(CreatedDate);
      }
      if (CreatedBy.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(CreatedBy);
      }
      if (modifiedDate_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ModifiedDate);
      }
      if (ModifiedBy.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ModifiedBy);
      }
      if (deletedDate_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DeletedDate);
      }
      if (DeletedBy.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(DeletedBy);
      }
      if (subtypeCase_ == SubtypeOneofCase.Booking) {
        output.WriteRawTag(218, 160, 186, 245, 1);
        output.WriteMessage(Booking);
      }
      if (subtypeCase_ == SubtypeOneofCase.RockstarAuditTenant) {
        output.WriteRawTag(146, 168, 160, 194, 7);
        output.WriteMessage(RockstarAuditTenant);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (createdDate_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(CreatedDate);
      }
      if (CreatedBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CreatedBy);
      }
      if (modifiedDate_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ModifiedDate);
      }
      if (ModifiedBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ModifiedBy);
      }
      if (deletedDate_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DeletedDate);
      }
      if (DeletedBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DeletedBy);
      }
      if (subtypeCase_ == SubtypeOneofCase.Booking) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(Booking);
      }
      if (subtypeCase_ == SubtypeOneofCase.RockstarAuditTenant) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(RockstarAuditTenant);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(AuditBase other) {
      if (other == null) {
        return;
      }
      if (other.createdDate_ != null) {
        if (createdDate_ == null) {
          CreatedDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        CreatedDate.MergeFrom(other.CreatedDate);
      }
      if (other.CreatedBy.Length != 0) {
        CreatedBy = other.CreatedBy;
      }
      if (other.modifiedDate_ != null) {
        if (modifiedDate_ == null) {
          ModifiedDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        ModifiedDate.MergeFrom(other.ModifiedDate);
      }
      if (other.ModifiedBy.Length != 0) {
        ModifiedBy = other.ModifiedBy;
      }
      if (other.deletedDate_ != null) {
        if (deletedDate_ == null) {
          DeletedDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DeletedDate.MergeFrom(other.DeletedDate);
      }
      if (other.DeletedBy.Length != 0) {
        DeletedBy = other.DeletedBy;
      }
      switch (other.SubtypeCase) {
        case SubtypeOneofCase.Booking:
          if (Booking == null) {
            Booking = new global::ServiceStack.Extensions.Tests.Protoc.Booking();
          }
          Booking.MergeFrom(other.Booking);
          break;
        case SubtypeOneofCase.RockstarAuditTenant:
          if (RockstarAuditTenant == null) {
            RockstarAuditTenant = new global::ServiceStack.Extensions.Tests.Protoc.RockstarAuditTenant();
          }
          RockstarAuditTenant.MergeFrom(other.RockstarAuditTenant);
          break;
      }

      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            if (createdDate_ == null) {
              CreatedDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(CreatedDate);
            break;
          }
          case 18: {
            CreatedBy = input.ReadString();
            break;
          }
          case 26: {
            if (modifiedDate_ == null) {
              ModifiedDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(ModifiedDate);
            break;
          }
          case 34: {
            ModifiedBy = input.ReadString();
            break;
          }
          case 42: {
            if (deletedDate_ == null) {
              DeletedDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DeletedDate);
            break;
          }
          case 50: {
            DeletedBy = input.ReadString();
            break;
          }
          case 514756698: {
            global::ServiceStack.Extensions.Tests.Protoc.Booking subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.Booking();
            if (subtypeCase_ == SubtypeOneofCase.Booking) {
              subBuilder.MergeFrom(Booking);
            }
            input.ReadMessage(subBuilder);
            Booking = subBuilder;
            break;
          }
          case 2017989650: {
            global::ServiceStack.Extensions.Tests.Protoc.RockstarAuditTenant subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.RockstarAuditTenant();
            if (subtypeCase_ == SubtypeOneofCase.RockstarAuditTenant) {
              subBuilder.MergeFrom(RockstarAuditTenant);
            }
            input.ReadMessage(subBuilder);
            RockstarAuditTenant = subBuilder;
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            if (createdDate_ == null) {
              CreatedDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(CreatedDate);
            break;
          }
          case 18: {
            CreatedBy = input.ReadString();
            break;
          }
          case 26: {
            if (modifiedDate_ == null) {
              ModifiedDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(ModifiedDate);
            break;
          }
          case 34: {
            ModifiedBy = input.ReadString();
            break;
          }
          case 42: {
            if (deletedDate_ == null) {
              DeletedDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DeletedDate);
            break;
          }
          case 50: {
            DeletedBy = input.ReadString();
            break;
          }
          case 514756698: {
            global::ServiceStack.Extensions.Tests.Protoc.Booking subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.Booking();
            if (subtypeCase_ == SubtypeOneofCase.Booking) {
              subBuilder.MergeFrom(Booking);
            }
            input.ReadMessage(subBuilder);
            Booking = subBuilder;
            break;
          }
          case 2017989650: {
            global::ServiceStack.Extensions.Tests.Protoc.RockstarAuditTenant subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.RockstarAuditTenant();
            if (subtypeCase_ == SubtypeOneofCase.RockstarAuditTenant) {
              subBuilder.MergeFrom(RockstarAuditTenant);
            }
            input.ReadMessage(subBuilder);
            RockstarAuditTenant = subBuilder;
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Authenticate : pb::IMessage<Authenticate>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Authenticate> _parser = new pb::MessageParser<Authenticate>(() => new Authenticate());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Authenticate> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[7]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Authenticate() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Authenticate(Authenticate other) : this() {
      provider_ = other.provider_;
      userName_ = other.userName_;
      password_ = other.password_;
      rememberMe_ = other.rememberMe_;
      accessToken_ = other.accessToken_;
      accessTokenSecret_ = other.accessTokenSecret_;
      returnUrl_ = other.returnUrl_;
      errorView_ = other.errorView_;
      meta_ = other.meta_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Authenticate Clone() {
      return new Authenticate(this);
    }

    /// <summary>Field number for the "provider" field.</summary>
    public const int ProviderFieldNumber = 1;
    private string provider_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Provider {
      get { return provider_; }
      set {
        provider_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "UserName" field.</summary>
    public const int UserNameFieldNumber = 2;
    private string userName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string UserName {
      get { return userName_; }
      set {
        userName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Password" field.</summary>
    public const int PasswordFieldNumber = 3;
    private string password_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Password {
      get { return password_; }
      set {
        password_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "RememberMe" field.</summary>
    public const int RememberMeFieldNumber = 4;
    private bool rememberMe_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool RememberMe {
      get { return rememberMe_; }
      set {
        rememberMe_ = value;
      }
    }

    /// <summary>Field number for the "AccessToken" field.</summary>
    public const int AccessTokenFieldNumber = 5;
    private string accessToken_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AccessToken {
      get { return accessToken_; }
      set {
        accessToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "AccessTokenSecret" field.</summary>
    public const int AccessTokenSecretFieldNumber = 6;
    private string accessTokenSecret_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AccessTokenSecret {
      get { return accessTokenSecret_; }
      set {
        accessTokenSecret_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ReturnUrl" field.</summary>
    public const int ReturnUrlFieldNumber = 7;
    private string returnUrl_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ReturnUrl {
      get { return returnUrl_; }
      set {
        returnUrl_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ErrorView" field.</summary>
    public const int ErrorViewFieldNumber = 8;
    private string errorView_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ErrorView {
      get { return errorView_; }
      set {
        errorView_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 9;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 74);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Authenticate);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Authenticate other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Provider != other.Provider) return false;
      if (UserName != other.UserName) return false;
      if (Password != other.Password) return false;
      if (RememberMe != other.RememberMe) return false;
      if (AccessToken != other.AccessToken) return false;
      if (AccessTokenSecret != other.AccessTokenSecret) return false;
      if (ReturnUrl != other.ReturnUrl) return false;
      if (ErrorView != other.ErrorView) return false;
      if (!Meta.Equals(other.Meta)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Provider.Length != 0) hash ^= Provider.GetHashCode();
      if (UserName.Length != 0) hash ^= UserName.GetHashCode();
      if (Password.Length != 0) hash ^= Password.GetHashCode();
      if (RememberMe != false) hash ^= RememberMe.GetHashCode();
      if (AccessToken.Length != 0) hash ^= AccessToken.GetHashCode();
      if (AccessTokenSecret.Length != 0) hash ^= AccessTokenSecret.GetHashCode();
      if (ReturnUrl.Length != 0) hash ^= ReturnUrl.GetHashCode();
      if (ErrorView.Length != 0) hash ^= ErrorView.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Provider.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Provider);
      }
      if (UserName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(UserName);
      }
      if (Password.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Password);
      }
      if (RememberMe != false) {
        output.WriteRawTag(32);
        output.WriteBool(RememberMe);
      }
      if (AccessToken.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(AccessToken);
      }
      if (AccessTokenSecret.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(AccessTokenSecret);
      }
      if (ReturnUrl.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(ReturnUrl);
      }
      if (ErrorView.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(ErrorView);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Provider.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Provider);
      }
      if (UserName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(UserName);
      }
      if (Password.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Password);
      }
      if (RememberMe != false) {
        output.WriteRawTag(32);
        output.WriteBool(RememberMe);
      }
      if (AccessToken.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(AccessToken);
      }
      if (AccessTokenSecret.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(AccessTokenSecret);
      }
      if (ReturnUrl.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(ReturnUrl);
      }
      if (ErrorView.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(ErrorView);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Provider.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Provider);
      }
      if (UserName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(UserName);
      }
      if (Password.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Password);
      }
      if (RememberMe != false) {
        size += 1 + 1;
      }
      if (AccessToken.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AccessToken);
      }
      if (AccessTokenSecret.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AccessTokenSecret);
      }
      if (ReturnUrl.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ReturnUrl);
      }
      if (ErrorView.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorView);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Authenticate other) {
      if (other == null) {
        return;
      }
      if (other.Provider.Length != 0) {
        Provider = other.Provider;
      }
      if (other.UserName.Length != 0) {
        UserName = other.UserName;
      }
      if (other.Password.Length != 0) {
        Password = other.Password;
      }
      if (other.RememberMe != false) {
        RememberMe = other.RememberMe;
      }
      if (other.AccessToken.Length != 0) {
        AccessToken = other.AccessToken;
      }
      if (other.AccessTokenSecret.Length != 0) {
        AccessTokenSecret = other.AccessTokenSecret;
      }
      if (other.ReturnUrl.Length != 0) {
        ReturnUrl = other.ReturnUrl;
      }
      if (other.ErrorView.Length != 0) {
        ErrorView = other.ErrorView;
      }
      meta_.Add(other.meta_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Provider = input.ReadString();
            break;
          }
          case 18: {
            UserName = input.ReadString();
            break;
          }
          case 26: {
            Password = input.ReadString();
            break;
          }
          case 32: {
            RememberMe = input.ReadBool();
            break;
          }
          case 42: {
            AccessToken = input.ReadString();
            break;
          }
          case 50: {
            AccessTokenSecret = input.ReadString();
            break;
          }
          case 58: {
            ReturnUrl = input.ReadString();
            break;
          }
          case 66: {
            ErrorView = input.ReadString();
            break;
          }
          case 74: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Provider = input.ReadString();
            break;
          }
          case 18: {
            UserName = input.ReadString();
            break;
          }
          case 26: {
            Password = input.ReadString();
            break;
          }
          case 32: {
            RememberMe = input.ReadBool();
            break;
          }
          case 42: {
            AccessToken = input.ReadString();
            break;
          }
          case 50: {
            AccessTokenSecret = input.ReadString();
            break;
          }
          case 58: {
            ReturnUrl = input.ReadString();
            break;
          }
          case 66: {
            ErrorView = input.ReadString();
            break;
          }
          case 74: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class AuthenticateResponse : pb::IMessage<AuthenticateResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<AuthenticateResponse> _parser = new pb::MessageParser<AuthenticateResponse>(() => new AuthenticateResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<AuthenticateResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[8]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AuthenticateResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AuthenticateResponse(AuthenticateResponse other) : this() {
      userId_ = other.userId_;
      sessionId_ = other.sessionId_;
      userName_ = other.userName_;
      displayName_ = other.displayName_;
      referrerUrl_ = other.referrerUrl_;
      bearerToken_ = other.bearerToken_;
      refreshToken_ = other.refreshToken_;
      refreshTokenExpiry_ = other.refreshTokenExpiry_ != null ? other.refreshTokenExpiry_.Clone() : null;
      profileUrl_ = other.profileUrl_;
      roles_ = other.roles_.Clone();
      permissions_ = other.permissions_.Clone();
      authProvider_ = other.authProvider_;
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      meta_ = other.meta_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AuthenticateResponse Clone() {
      return new AuthenticateResponse(this);
    }

    /// <summary>Field number for the "UserId" field.</summary>
    public const int UserIdFieldNumber = 1;
    private string userId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string UserId {
      get { return userId_; }
      set {
        userId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SessionId" field.</summary>
    public const int SessionIdFieldNumber = 2;
    private string sessionId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SessionId {
      get { return sessionId_; }
      set {
        sessionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "UserName" field.</summary>
    public const int UserNameFieldNumber = 3;
    private string userName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string UserName {
      get { return userName_; }
      set {
        userName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DisplayName" field.</summary>
    public const int DisplayNameFieldNumber = 4;
    private string displayName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DisplayName {
      get { return displayName_; }
      set {
        displayName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ReferrerUrl" field.</summary>
    public const int ReferrerUrlFieldNumber = 5;
    private string referrerUrl_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ReferrerUrl {
      get { return referrerUrl_; }
      set {
        referrerUrl_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "BearerToken" field.</summary>
    public const int BearerTokenFieldNumber = 6;
    private string bearerToken_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BearerToken {
      get { return bearerToken_; }
      set {
        bearerToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "RefreshToken" field.</summary>
    public const int RefreshTokenFieldNumber = 7;
    private string refreshToken_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RefreshToken {
      get { return refreshToken_; }
      set {
        refreshToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "RefreshTokenExpiry" field.</summary>
    public const int RefreshTokenExpiryFieldNumber = 8;
    private global::Google.Protobuf.WellKnownTypes.Timestamp refreshTokenExpiry_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp RefreshTokenExpiry {
      get { return refreshTokenExpiry_; }
      set {
        refreshTokenExpiry_ = value;
      }
    }

    /// <summary>Field number for the "ProfileUrl" field.</summary>
    public const int ProfileUrlFieldNumber = 9;
    private string profileUrl_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ProfileUrl {
      get { return profileUrl_; }
      set {
        profileUrl_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Roles" field.</summary>
    public const int RolesFieldNumber = 10;
    private static readonly pb::FieldCodec<string> _repeated_roles_codec
        = pb::FieldCodec.ForString(82);
    private readonly pbc::RepeatedField<string> roles_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> Roles {
      get { return roles_; }
    }

    /// <summary>Field number for the "Permissions" field.</summary>
    public const int PermissionsFieldNumber = 11;
    private static readonly pb::FieldCodec<string> _repeated_permissions_codec
        = pb::FieldCodec.ForString(90);
    private readonly pbc::RepeatedField<string> permissions_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> Permissions {
      get { return permissions_; }
    }

    /// <summary>Field number for the "AuthProvider" field.</summary>
    public const int AuthProviderFieldNumber = 12;
    private string authProvider_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AuthProvider {
      get { return authProvider_; }
      set {
        authProvider_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 13;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 14;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 114);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as AuthenticateResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(AuthenticateResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (UserId != other.UserId) return false;
      if (SessionId != other.SessionId) return false;
      if (UserName != other.UserName) return false;
      if (DisplayName != other.DisplayName) return false;
      if (ReferrerUrl != other.ReferrerUrl) return false;
      if (BearerToken != other.BearerToken) return false;
      if (RefreshToken != other.RefreshToken) return false;
      if (!object.Equals(RefreshTokenExpiry, other.RefreshTokenExpiry)) return false;
      if (ProfileUrl != other.ProfileUrl) return false;
      if(!roles_.Equals(other.roles_)) return false;
      if(!permissions_.Equals(other.permissions_)) return false;
      if (AuthProvider != other.AuthProvider) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (UserId.Length != 0) hash ^= UserId.GetHashCode();
      if (SessionId.Length != 0) hash ^= SessionId.GetHashCode();
      if (UserName.Length != 0) hash ^= UserName.GetHashCode();
      if (DisplayName.Length != 0) hash ^= DisplayName.GetHashCode();
      if (ReferrerUrl.Length != 0) hash ^= ReferrerUrl.GetHashCode();
      if (BearerToken.Length != 0) hash ^= BearerToken.GetHashCode();
      if (RefreshToken.Length != 0) hash ^= RefreshToken.GetHashCode();
      if (refreshTokenExpiry_ != null) hash ^= RefreshTokenExpiry.GetHashCode();
      if (ProfileUrl.Length != 0) hash ^= ProfileUrl.GetHashCode();
      hash ^= roles_.GetHashCode();
      hash ^= permissions_.GetHashCode();
      if (AuthProvider.Length != 0) hash ^= AuthProvider.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (UserId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(UserId);
      }
      if (SessionId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SessionId);
      }
      if (UserName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(UserName);
      }
      if (DisplayName.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(DisplayName);
      }
      if (ReferrerUrl.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(ReferrerUrl);
      }
      if (BearerToken.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(BearerToken);
      }
      if (RefreshToken.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(RefreshToken);
      }
      if (refreshTokenExpiry_ != null) {
        output.WriteRawTag(66);
        output.WriteMessage(RefreshTokenExpiry);
      }
      if (ProfileUrl.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(ProfileUrl);
      }
      roles_.WriteTo(output, _repeated_roles_codec);
      permissions_.WriteTo(output, _repeated_permissions_codec);
      if (AuthProvider.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(AuthProvider);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(106);
        output.WriteMessage(ResponseStatus);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (UserId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(UserId);
      }
      if (SessionId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SessionId);
      }
      if (UserName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(UserName);
      }
      if (DisplayName.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(DisplayName);
      }
      if (ReferrerUrl.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(ReferrerUrl);
      }
      if (BearerToken.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(BearerToken);
      }
      if (RefreshToken.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(RefreshToken);
      }
      if (refreshTokenExpiry_ != null) {
        output.WriteRawTag(66);
        output.WriteMessage(RefreshTokenExpiry);
      }
      if (ProfileUrl.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(ProfileUrl);
      }
      roles_.WriteTo(ref output, _repeated_roles_codec);
      permissions_.WriteTo(ref output, _repeated_permissions_codec);
      if (AuthProvider.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(AuthProvider);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(106);
        output.WriteMessage(ResponseStatus);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (UserId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(UserId);
      }
      if (SessionId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SessionId);
      }
      if (UserName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(UserName);
      }
      if (DisplayName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DisplayName);
      }
      if (ReferrerUrl.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ReferrerUrl);
      }
      if (BearerToken.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BearerToken);
      }
      if (RefreshToken.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(RefreshToken);
      }
      if (refreshTokenExpiry_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(RefreshTokenExpiry);
      }
      if (ProfileUrl.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ProfileUrl);
      }
      size += roles_.CalculateSize(_repeated_roles_codec);
      size += permissions_.CalculateSize(_repeated_permissions_codec);
      if (AuthProvider.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AuthProvider);
      }
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(AuthenticateResponse other) {
      if (other == null) {
        return;
      }
      if (other.UserId.Length != 0) {
        UserId = other.UserId;
      }
      if (other.SessionId.Length != 0) {
        SessionId = other.SessionId;
      }
      if (other.UserName.Length != 0) {
        UserName = other.UserName;
      }
      if (other.DisplayName.Length != 0) {
        DisplayName = other.DisplayName;
      }
      if (other.ReferrerUrl.Length != 0) {
        ReferrerUrl = other.ReferrerUrl;
      }
      if (other.BearerToken.Length != 0) {
        BearerToken = other.BearerToken;
      }
      if (other.RefreshToken.Length != 0) {
        RefreshToken = other.RefreshToken;
      }
      if (other.refreshTokenExpiry_ != null) {
        if (refreshTokenExpiry_ == null) {
          RefreshTokenExpiry = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        RefreshTokenExpiry.MergeFrom(other.RefreshTokenExpiry);
      }
      if (other.ProfileUrl.Length != 0) {
        ProfileUrl = other.ProfileUrl;
      }
      roles_.Add(other.roles_);
      permissions_.Add(other.permissions_);
      if (other.AuthProvider.Length != 0) {
        AuthProvider = other.AuthProvider;
      }
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      meta_.Add(other.meta_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            UserId = input.ReadString();
            break;
          }
          case 18: {
            SessionId = input.ReadString();
            break;
          }
          case 26: {
            UserName = input.ReadString();
            break;
          }
          case 34: {
            DisplayName = input.ReadString();
            break;
          }
          case 42: {
            ReferrerUrl = input.ReadString();
            break;
          }
          case 50: {
            BearerToken = input.ReadString();
            break;
          }
          case 58: {
            RefreshToken = input.ReadString();
            break;
          }
          case 66: {
            if (refreshTokenExpiry_ == null) {
              RefreshTokenExpiry = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(RefreshTokenExpiry);
            break;
          }
          case 74: {
            ProfileUrl = input.ReadString();
            break;
          }
          case 82: {
            roles_.AddEntriesFrom(input, _repeated_roles_codec);
            break;
          }
          case 90: {
            permissions_.AddEntriesFrom(input, _repeated_permissions_codec);
            break;
          }
          case 98: {
            AuthProvider = input.ReadString();
            break;
          }
          case 106: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
          case 114: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            UserId = input.ReadString();
            break;
          }
          case 18: {
            SessionId = input.ReadString();
            break;
          }
          case 26: {
            UserName = input.ReadString();
            break;
          }
          case 34: {
            DisplayName = input.ReadString();
            break;
          }
          case 42: {
            ReferrerUrl = input.ReadString();
            break;
          }
          case 50: {
            BearerToken = input.ReadString();
            break;
          }
          case 58: {
            RefreshToken = input.ReadString();
            break;
          }
          case 66: {
            if (refreshTokenExpiry_ == null) {
              RefreshTokenExpiry = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(RefreshTokenExpiry);
            break;
          }
          case 74: {
            ProfileUrl = input.ReadString();
            break;
          }
          case 82: {
            roles_.AddEntriesFrom(ref input, _repeated_roles_codec);
            break;
          }
          case 90: {
            permissions_.AddEntriesFrom(ref input, _repeated_permissions_codec);
            break;
          }
          case 98: {
            AuthProvider = input.ReadString();
            break;
          }
          case 106: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
          case 114: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Bar : pb::IMessage<Bar>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Bar> _parser = new pb::MessageParser<Bar>(() => new Bar());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Bar> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[9]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Bar() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Bar(Bar other) : this() {
      y_ = other.y_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Bar Clone() {
      return new Bar(this);
    }

    /// <summary>Field number for the "Y" field.</summary>
    public const int YFieldNumber = 2;
    private string y_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Y {
      get { return y_; }
      set {
        y_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Bar);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Bar other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Y != other.Y) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Y.Length != 0) hash ^= Y.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Y.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Y);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Y.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Y);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Y.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Y);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Bar other) {
      if (other == null) {
        return;
      }
      if (other.Y.Length != 0) {
        Y = other.Y;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 18: {
            Y = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 18: {
            Y = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Booking : pb::IMessage<Booking>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Booking> _parser = new pb::MessageParser<Booking>(() => new Booking());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Booking> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[10]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Booking() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Booking(Booking other) : this() {
      id_ = other.id_;
      roomType_ = other.roomType_;
      roomNumber_ = other.roomNumber_;
      bookingStartDate_ = other.bookingStartDate_ != null ? other.bookingStartDate_.Clone() : null;
      bookingEndDate_ = other.bookingEndDate_ != null ? other.bookingEndDate_.Clone() : null;
      notes_ = other.notes_;
      cancelled_ = other.cancelled_;
      cost_ = other.cost_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Booking Clone() {
      return new Booking(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "RoomType" field.</summary>
    public const int RoomTypeFieldNumber = 2;
    private global::ServiceStack.Extensions.Tests.Protoc.RoomType roomType_ = global::ServiceStack.Extensions.Tests.Protoc.RoomType.Single;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.RoomType RoomType {
      get { return roomType_; }
      set {
        roomType_ = value;
      }
    }

    /// <summary>Field number for the "RoomNumber" field.</summary>
    public const int RoomNumberFieldNumber = 3;
    private int roomNumber_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RoomNumber {
      get { return roomNumber_; }
      set {
        roomNumber_ = value;
      }
    }

    /// <summary>Field number for the "BookingStartDate" field.</summary>
    public const int BookingStartDateFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp bookingStartDate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp BookingStartDate {
      get { return bookingStartDate_; }
      set {
        bookingStartDate_ = value;
      }
    }

    /// <summary>Field number for the "BookingEndDate" field.</summary>
    public const int BookingEndDateFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp bookingEndDate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp BookingEndDate {
      get { return bookingEndDate_; }
      set {
        bookingEndDate_ = value;
      }
    }

    /// <summary>Field number for the "Notes" field.</summary>
    public const int NotesFieldNumber = 6;
    private string notes_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Notes {
      get { return notes_; }
      set {
        notes_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Cancelled" field.</summary>
    public const int CancelledFieldNumber = 7;
    private bool cancelled_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Cancelled {
      get { return cancelled_; }
      set {
        cancelled_ = value;
      }
    }

    /// <summary>Field number for the "Cost" field.</summary>
    public const int CostFieldNumber = 8;
    private string cost_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Cost {
      get { return cost_; }
      set {
        cost_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Booking);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Booking other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (RoomType != other.RoomType) return false;
      if (RoomNumber != other.RoomNumber) return false;
      if (!object.Equals(BookingStartDate, other.BookingStartDate)) return false;
      if (!object.Equals(BookingEndDate, other.BookingEndDate)) return false;
      if (Notes != other.Notes) return false;
      if (Cancelled != other.Cancelled) return false;
      if (Cost != other.Cost) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (RoomType != global::ServiceStack.Extensions.Tests.Protoc.RoomType.Single) hash ^= RoomType.GetHashCode();
      if (RoomNumber != 0) hash ^= RoomNumber.GetHashCode();
      if (bookingStartDate_ != null) hash ^= BookingStartDate.GetHashCode();
      if (bookingEndDate_ != null) hash ^= BookingEndDate.GetHashCode();
      if (Notes.Length != 0) hash ^= Notes.GetHashCode();
      if (Cancelled != false) hash ^= Cancelled.GetHashCode();
      if (Cost.Length != 0) hash ^= Cost.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (RoomType != global::ServiceStack.Extensions.Tests.Protoc.RoomType.Single) {
        output.WriteRawTag(16);
        output.WriteEnum((int) RoomType);
      }
      if (RoomNumber != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(RoomNumber);
      }
      if (bookingStartDate_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(BookingStartDate);
      }
      if (bookingEndDate_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(BookingEndDate);
      }
      if (Notes.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Notes);
      }
      if (Cancelled != false) {
        output.WriteRawTag(56);
        output.WriteBool(Cancelled);
      }
      if (Cost.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Cost);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (RoomType != global::ServiceStack.Extensions.Tests.Protoc.RoomType.Single) {
        output.WriteRawTag(16);
        output.WriteEnum((int) RoomType);
      }
      if (RoomNumber != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(RoomNumber);
      }
      if (bookingStartDate_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(BookingStartDate);
      }
      if (bookingEndDate_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(BookingEndDate);
      }
      if (Notes.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Notes);
      }
      if (Cancelled != false) {
        output.WriteRawTag(56);
        output.WriteBool(Cancelled);
      }
      if (Cost.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Cost);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (RoomType != global::ServiceStack.Extensions.Tests.Protoc.RoomType.Single) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) RoomType);
      }
      if (RoomNumber != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoomNumber);
      }
      if (bookingStartDate_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(BookingStartDate);
      }
      if (bookingEndDate_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(BookingEndDate);
      }
      if (Notes.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Notes);
      }
      if (Cancelled != false) {
        size += 1 + 1;
      }
      if (Cost.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Cost);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Booking other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.RoomType != global::ServiceStack.Extensions.Tests.Protoc.RoomType.Single) {
        RoomType = other.RoomType;
      }
      if (other.RoomNumber != 0) {
        RoomNumber = other.RoomNumber;
      }
      if (other.bookingStartDate_ != null) {
        if (bookingStartDate_ == null) {
          BookingStartDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        BookingStartDate.MergeFrom(other.BookingStartDate);
      }
      if (other.bookingEndDate_ != null) {
        if (bookingEndDate_ == null) {
          BookingEndDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        BookingEndDate.MergeFrom(other.BookingEndDate);
      }
      if (other.Notes.Length != 0) {
        Notes = other.Notes;
      }
      if (other.Cancelled != false) {
        Cancelled = other.Cancelled;
      }
      if (other.Cost.Length != 0) {
        Cost = other.Cost;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            RoomType = (global::ServiceStack.Extensions.Tests.Protoc.RoomType) input.ReadEnum();
            break;
          }
          case 24: {
            RoomNumber = input.ReadInt32();
            break;
          }
          case 34: {
            if (bookingStartDate_ == null) {
              BookingStartDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(BookingStartDate);
            break;
          }
          case 42: {
            if (bookingEndDate_ == null) {
              BookingEndDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(BookingEndDate);
            break;
          }
          case 50: {
            Notes = input.ReadString();
            break;
          }
          case 56: {
            Cancelled = input.ReadBool();
            break;
          }
          case 66: {
            Cost = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            RoomType = (global::ServiceStack.Extensions.Tests.Protoc.RoomType) input.ReadEnum();
            break;
          }
          case 24: {
            RoomNumber = input.ReadInt32();
            break;
          }
          case 34: {
            if (bookingStartDate_ == null) {
              BookingStartDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(BookingStartDate);
            break;
          }
          case 42: {
            if (bookingEndDate_ == null) {
              BookingEndDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(BookingEndDate);
            break;
          }
          case 50: {
            Notes = input.ReadString();
            break;
          }
          case 56: {
            Cancelled = input.ReadBool();
            break;
          }
          case 66: {
            Cost = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Bookmark : pb::IMessage<Bookmark>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Bookmark> _parser = new pb::MessageParser<Bookmark>(() => new Bookmark());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Bookmark> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[11]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Bookmark() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Bookmark(Bookmark other) : this() {
      slug_ = other.slug_;
      title_ = other.title_;
      description_ = other.description_;
      url_ = other.url_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Bookmark Clone() {
      return new Bookmark(this);
    }

    /// <summary>Field number for the "Slug" field.</summary>
    public const int SlugFieldNumber = 1;
    private string slug_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Slug {
      get { return slug_; }
      set {
        slug_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 2;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Description" field.</summary>
    public const int DescriptionFieldNumber = 3;
    private string description_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Description {
      get { return description_; }
      set {
        description_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Url" field.</summary>
    public const int UrlFieldNumber = 4;
    private string url_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Url {
      get { return url_; }
      set {
        url_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Bookmark);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Bookmark other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Slug != other.Slug) return false;
      if (Title != other.Title) return false;
      if (Description != other.Description) return false;
      if (Url != other.Url) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Slug.Length != 0) hash ^= Slug.GetHashCode();
      if (Title.Length != 0) hash ^= Title.GetHashCode();
      if (Description.Length != 0) hash ^= Description.GetHashCode();
      if (Url.Length != 0) hash ^= Url.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Slug.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Slug);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Description.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (Url.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Url);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Slug.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Slug);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Description.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (Url.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Url);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Slug.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Slug);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (Description.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Description);
      }
      if (Url.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Url);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Bookmark other) {
      if (other == null) {
        return;
      }
      if (other.Slug.Length != 0) {
        Slug = other.Slug;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.Description.Length != 0) {
        Description = other.Description;
      }
      if (other.Url.Length != 0) {
        Url = other.Url;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Slug = input.ReadString();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
          case 34: {
            Url = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Slug = input.ReadString();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
          case 34: {
            Url = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class ChangeDb : pb::IMessage<ChangeDb>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ChangeDb> _parser = new pb::MessageParser<ChangeDb>(() => new ChangeDb());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ChangeDb> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[12]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ChangeDb() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ChangeDb(ChangeDb other) : this() {
      namedConnection_ = other.namedConnection_;
      connectionString_ = other.connectionString_;
      providerName_ = other.providerName_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ChangeDb Clone() {
      return new ChangeDb(this);
    }

    /// <summary>Field number for the "NamedConnection" field.</summary>
    public const int NamedConnectionFieldNumber = 1;
    private string namedConnection_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string NamedConnection {
      get { return namedConnection_; }
      set {
        namedConnection_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ConnectionString" field.</summary>
    public const int ConnectionStringFieldNumber = 2;
    private string connectionString_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ConnectionString {
      get { return connectionString_; }
      set {
        connectionString_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ProviderName" field.</summary>
    public const int ProviderNameFieldNumber = 3;
    private string providerName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ProviderName {
      get { return providerName_; }
      set {
        providerName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ChangeDb);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ChangeDb other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (NamedConnection != other.NamedConnection) return false;
      if (ConnectionString != other.ConnectionString) return false;
      if (ProviderName != other.ProviderName) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (NamedConnection.Length != 0) hash ^= NamedConnection.GetHashCode();
      if (ConnectionString.Length != 0) hash ^= ConnectionString.GetHashCode();
      if (ProviderName.Length != 0) hash ^= ProviderName.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (NamedConnection.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(NamedConnection);
      }
      if (ConnectionString.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(ConnectionString);
      }
      if (ProviderName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ProviderName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (NamedConnection.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(NamedConnection);
      }
      if (ConnectionString.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(ConnectionString);
      }
      if (ProviderName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ProviderName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (NamedConnection.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(NamedConnection);
      }
      if (ConnectionString.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ConnectionString);
      }
      if (ProviderName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ProviderName);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ChangeDb other) {
      if (other == null) {
        return;
      }
      if (other.NamedConnection.Length != 0) {
        NamedConnection = other.NamedConnection;
      }
      if (other.ConnectionString.Length != 0) {
        ConnectionString = other.ConnectionString;
      }
      if (other.ProviderName.Length != 0) {
        ProviderName = other.ProviderName;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            NamedConnection = input.ReadString();
            break;
          }
          case 18: {
            ConnectionString = input.ReadString();
            break;
          }
          case 26: {
            ProviderName = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            NamedConnection = input.ReadString();
            break;
          }
          case 18: {
            ConnectionString = input.ReadString();
            break;
          }
          case 26: {
            ProviderName = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class ChangeDbResponse : pb::IMessage<ChangeDbResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ChangeDbResponse> _parser = new pb::MessageParser<ChangeDbResponse>(() => new ChangeDbResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ChangeDbResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[13]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ChangeDbResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ChangeDbResponse(ChangeDbResponse other) : this() {
      results_ = other.results_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ChangeDbResponse Clone() {
      return new ChangeDbResponse(this);
    }

    /// <summary>Field number for the "Results" field.</summary>
    public const int ResultsFieldNumber = 1;
    private static readonly pb::FieldCodec<global::ServiceStack.Extensions.Tests.Protoc.Rockstar> _repeated_results_codec
        = pb::FieldCodec.ForMessage(10, global::ServiceStack.Extensions.Tests.Protoc.Rockstar.Parser);
    private readonly pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.Rockstar> results_ = new pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.Rockstar>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.Rockstar> Results {
      get { return results_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ChangeDbResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ChangeDbResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!results_.Equals(other.results_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= results_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      results_.WriteTo(output, _repeated_results_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      results_.WriteTo(ref output, _repeated_results_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += results_.CalculateSize(_repeated_results_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ChangeDbResponse other) {
      if (other == null) {
        return;
      }
      results_.Add(other.results_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            results_.AddEntriesFrom(input, _repeated_results_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            results_.AddEntriesFrom(ref input, _repeated_results_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class ChatMessage : pb::IMessage<ChatMessage>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ChatMessage> _parser = new pb::MessageParser<ChatMessage>(() => new ChatMessage());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ChatMessage> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[14]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ChatMessage() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ChatMessage(ChatMessage other) : this() {
      id_ = other.id_;
      channel_ = other.channel_;
      fromUserId_ = other.fromUserId_;
      fromName_ = other.fromName_;
      displayName_ = other.displayName_;
      message_ = other.message_;
      userAuthId_ = other.userAuthId_;
      private_ = other.private_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ChatMessage Clone() {
      return new ChatMessage(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private long id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Channel" field.</summary>
    public const int ChannelFieldNumber = 2;
    private string channel_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Channel {
      get { return channel_; }
      set {
        channel_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "FromUserId" field.</summary>
    public const int FromUserIdFieldNumber = 3;
    private string fromUserId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FromUserId {
      get { return fromUserId_; }
      set {
        fromUserId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "FromName" field.</summary>
    public const int FromNameFieldNumber = 4;
    private string fromName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FromName {
      get { return fromName_; }
      set {
        fromName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DisplayName" field.</summary>
    public const int DisplayNameFieldNumber = 5;
    private string displayName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DisplayName {
      get { return displayName_; }
      set {
        displayName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Message" field.</summary>
    public const int MessageFieldNumber = 6;
    private string message_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Message {
      get { return message_; }
      set {
        message_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "UserAuthId" field.</summary>
    public const int UserAuthIdFieldNumber = 7;
    private string userAuthId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string UserAuthId {
      get { return userAuthId_; }
      set {
        userAuthId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Private" field.</summary>
    public const int PrivateFieldNumber = 8;
    private bool private_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Private {
      get { return private_; }
      set {
        private_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ChatMessage);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ChatMessage other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Channel != other.Channel) return false;
      if (FromUserId != other.FromUserId) return false;
      if (FromName != other.FromName) return false;
      if (DisplayName != other.DisplayName) return false;
      if (Message != other.Message) return false;
      if (UserAuthId != other.UserAuthId) return false;
      if (Private != other.Private) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0L) hash ^= Id.GetHashCode();
      if (Channel.Length != 0) hash ^= Channel.GetHashCode();
      if (FromUserId.Length != 0) hash ^= FromUserId.GetHashCode();
      if (FromName.Length != 0) hash ^= FromName.GetHashCode();
      if (DisplayName.Length != 0) hash ^= DisplayName.GetHashCode();
      if (Message.Length != 0) hash ^= Message.GetHashCode();
      if (UserAuthId.Length != 0) hash ^= UserAuthId.GetHashCode();
      if (Private != false) hash ^= Private.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Id);
      }
      if (Channel.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Channel);
      }
      if (FromUserId.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(FromUserId);
      }
      if (FromName.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(FromName);
      }
      if (DisplayName.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(DisplayName);
      }
      if (Message.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Message);
      }
      if (UserAuthId.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(UserAuthId);
      }
      if (Private != false) {
        output.WriteRawTag(64);
        output.WriteBool(Private);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Id);
      }
      if (Channel.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Channel);
      }
      if (FromUserId.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(FromUserId);
      }
      if (FromName.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(FromName);
      }
      if (DisplayName.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(DisplayName);
      }
      if (Message.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Message);
      }
      if (UserAuthId.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(UserAuthId);
      }
      if (Private != false) {
        output.WriteRawTag(64);
        output.WriteBool(Private);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Id);
      }
      if (Channel.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Channel);
      }
      if (FromUserId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FromUserId);
      }
      if (FromName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FromName);
      }
      if (DisplayName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DisplayName);
      }
      if (Message.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Message);
      }
      if (UserAuthId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(UserAuthId);
      }
      if (Private != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ChatMessage other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0L) {
        Id = other.Id;
      }
      if (other.Channel.Length != 0) {
        Channel = other.Channel;
      }
      if (other.FromUserId.Length != 0) {
        FromUserId = other.FromUserId;
      }
      if (other.FromName.Length != 0) {
        FromName = other.FromName;
      }
      if (other.DisplayName.Length != 0) {
        DisplayName = other.DisplayName;
      }
      if (other.Message.Length != 0) {
        Message = other.Message;
      }
      if (other.UserAuthId.Length != 0) {
        UserAuthId = other.UserAuthId;
      }
      if (other.Private != false) {
        Private = other.Private;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt64();
            break;
          }
          case 18: {
            Channel = input.ReadString();
            break;
          }
          case 26: {
            FromUserId = input.ReadString();
            break;
          }
          case 34: {
            FromName = input.ReadString();
            break;
          }
          case 42: {
            DisplayName = input.ReadString();
            break;
          }
          case 50: {
            Message = input.ReadString();
            break;
          }
          case 58: {
            UserAuthId = input.ReadString();
            break;
          }
          case 64: {
            Private = input.ReadBool();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt64();
            break;
          }
          case 18: {
            Channel = input.ReadString();
            break;
          }
          case 26: {
            FromUserId = input.ReadString();
            break;
          }
          case 34: {
            FromName = input.ReadString();
            break;
          }
          case 42: {
            DisplayName = input.ReadString();
            break;
          }
          case 50: {
            Message = input.ReadString();
            break;
          }
          case 58: {
            UserAuthId = input.ReadString();
            break;
          }
          case 64: {
            Private = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class ConvertSessionToToken : pb::IMessage<ConvertSessionToToken>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ConvertSessionToToken> _parser = new pb::MessageParser<ConvertSessionToToken>(() => new ConvertSessionToToken());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ConvertSessionToToken> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[15]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ConvertSessionToToken() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ConvertSessionToToken(ConvertSessionToToken other) : this() {
      preserveSession_ = other.preserveSession_;
      meta_ = other.meta_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ConvertSessionToToken Clone() {
      return new ConvertSessionToToken(this);
    }

    /// <summary>Field number for the "PreserveSession" field.</summary>
    public const int PreserveSessionFieldNumber = 1;
    private bool preserveSession_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool PreserveSession {
      get { return preserveSession_; }
      set {
        preserveSession_ = value;
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 2;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 18);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ConvertSessionToToken);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ConvertSessionToToken other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (PreserveSession != other.PreserveSession) return false;
      if (!Meta.Equals(other.Meta)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (PreserveSession != false) hash ^= PreserveSession.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (PreserveSession != false) {
        output.WriteRawTag(8);
        output.WriteBool(PreserveSession);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (PreserveSession != false) {
        output.WriteRawTag(8);
        output.WriteBool(PreserveSession);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (PreserveSession != false) {
        size += 1 + 1;
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ConvertSessionToToken other) {
      if (other == null) {
        return;
      }
      if (other.PreserveSession != false) {
        PreserveSession = other.PreserveSession;
      }
      meta_.Add(other.meta_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            PreserveSession = input.ReadBool();
            break;
          }
          case 18: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            PreserveSession = input.ReadBool();
            break;
          }
          case 18: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class ConvertSessionToTokenResponse : pb::IMessage<ConvertSessionToTokenResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ConvertSessionToTokenResponse> _parser = new pb::MessageParser<ConvertSessionToTokenResponse>(() => new ConvertSessionToTokenResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ConvertSessionToTokenResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[16]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ConvertSessionToTokenResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ConvertSessionToTokenResponse(ConvertSessionToTokenResponse other) : this() {
      meta_ = other.meta_.Clone();
      accessToken_ = other.accessToken_;
      refreshToken_ = other.refreshToken_;
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ConvertSessionToTokenResponse Clone() {
      return new ConvertSessionToTokenResponse(this);
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 1;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 10);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "AccessToken" field.</summary>
    public const int AccessTokenFieldNumber = 2;
    private string accessToken_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AccessToken {
      get { return accessToken_; }
      set {
        accessToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "RefreshToken" field.</summary>
    public const int RefreshTokenFieldNumber = 3;
    private string refreshToken_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RefreshToken {
      get { return refreshToken_; }
      set {
        refreshToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 4;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ConvertSessionToTokenResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ConvertSessionToTokenResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!Meta.Equals(other.Meta)) return false;
      if (AccessToken != other.AccessToken) return false;
      if (RefreshToken != other.RefreshToken) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= Meta.GetHashCode();
      if (AccessToken.Length != 0) hash ^= AccessToken.GetHashCode();
      if (RefreshToken.Length != 0) hash ^= RefreshToken.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      meta_.WriteTo(output, _map_meta_codec);
      if (AccessToken.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(AccessToken);
      }
      if (RefreshToken.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(RefreshToken);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      meta_.WriteTo(ref output, _map_meta_codec);
      if (AccessToken.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(AccessToken);
      }
      if (RefreshToken.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(RefreshToken);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += meta_.CalculateSize(_map_meta_codec);
      if (AccessToken.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AccessToken);
      }
      if (RefreshToken.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(RefreshToken);
      }
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ConvertSessionToTokenResponse other) {
      if (other == null) {
        return;
      }
      meta_.Add(other.meta_);
      if (other.AccessToken.Length != 0) {
        AccessToken = other.AccessToken;
      }
      if (other.RefreshToken.Length != 0) {
        RefreshToken = other.RefreshToken;
      }
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 18: {
            AccessToken = input.ReadString();
            break;
          }
          case 26: {
            RefreshToken = input.ReadString();
            break;
          }
          case 34: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 18: {
            AccessToken = input.ReadString();
            break;
          }
          case 26: {
            RefreshToken = input.ReadString();
            break;
          }
          case 34: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CreateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse : pb::IMessage<CreateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CreateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse> _parser = new pb::MessageParser<CreateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse>(() => new CreateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CreateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[17]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse(CreateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse other) : this() {
      switch (other.SubtypeCase) {
        case SubtypeOneofCase.CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse:
          CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse = other.CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse.Clone();
          break;
      }

      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse Clone() {
      return new CreateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse(this);
    }

    /// <summary>Field number for the "CreateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse" field.</summary>
    public const int CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponseFieldNumber = 299297117;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.CreateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse {
      get { return subtypeCase_ == SubtypeOneofCase.CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse ? (global::ServiceStack.Extensions.Tests.Protoc.CreateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse;
      }
    }

    private object subtype_;
    /// <summary>Enum of possible cases for the "subtype" oneof.</summary>
    public enum SubtypeOneofCase {
      None = 0,
      CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse = 299297117,
    }
    private SubtypeOneofCase subtypeCase_ = SubtypeOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SubtypeOneofCase SubtypeCase {
      get { return subtypeCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearSubtype() {
      subtypeCase_ = SubtypeOneofCase.None;
      subtype_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CreateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CreateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse, other.CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse)) return false;
      if (SubtypeCase != other.SubtypeCase) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (subtypeCase_ == SubtypeOneofCase.CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse) hash ^= CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse.GetHashCode();
      hash ^= (int) subtypeCase_;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (subtypeCase_ == SubtypeOneofCase.CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse) {
        output.WriteRawTag(234, 149, 221, 245, 8);
        output.WriteMessage(CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (subtypeCase_ == SubtypeOneofCase.CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse) {
        output.WriteRawTag(234, 149, 221, 245, 8);
        output.WriteMessage(CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (subtypeCase_ == SubtypeOneofCase.CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CreateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse other) {
      if (other == null) {
        return;
      }
      switch (other.SubtypeCase) {
        case SubtypeOneofCase.CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse:
          if (CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse == null) {
            CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse = new global::ServiceStack.Extensions.Tests.Protoc.CreateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse();
          }
          CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse.MergeFrom(other.CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse);
          break;
      }

      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 2394376938: {
            global::ServiceStack.Extensions.Tests.Protoc.CreateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.CreateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse();
            if (subtypeCase_ == SubtypeOneofCase.CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse) {
              subBuilder.MergeFrom(CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse);
            }
            input.ReadMessage(subBuilder);
            CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse = subBuilder;
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 2394376938: {
            global::ServiceStack.Extensions.Tests.Protoc.CreateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.CreateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse();
            if (subtypeCase_ == SubtypeOneofCase.CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse) {
              subBuilder.MergeFrom(CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse);
            }
            input.ReadMessage(subBuilder);
            CreateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse = subBuilder;
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CreateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse : pb::IMessage<CreateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CreateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse> _parser = new pb::MessageParser<CreateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse>(() => new CreateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CreateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[18]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse(CreateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse Clone() {
      return new CreateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CreateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CreateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CreateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class CreateBooking : pb::IMessage<CreateBooking>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CreateBooking> _parser = new pb::MessageParser<CreateBooking>(() => new CreateBooking());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CreateBooking> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[19]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateBooking() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateBooking(CreateBooking other) : this() {
      roomType_ = other.roomType_;
      roomNumber_ = other.roomNumber_;
      bookingStartDate_ = other.bookingStartDate_ != null ? other.bookingStartDate_.Clone() : null;
      bookingEndDate_ = other.bookingEndDate_ != null ? other.bookingEndDate_.Clone() : null;
      notes_ = other.notes_;
      cost_ = other.cost_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateBooking Clone() {
      return new CreateBooking(this);
    }

    /// <summary>Field number for the "RoomType" field.</summary>
    public const int RoomTypeFieldNumber = 1;
    private global::ServiceStack.Extensions.Tests.Protoc.RoomType roomType_ = global::ServiceStack.Extensions.Tests.Protoc.RoomType.Single;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.RoomType RoomType {
      get { return roomType_; }
      set {
        roomType_ = value;
      }
    }

    /// <summary>Field number for the "RoomNumber" field.</summary>
    public const int RoomNumberFieldNumber = 2;
    private int roomNumber_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RoomNumber {
      get { return roomNumber_; }
      set {
        roomNumber_ = value;
      }
    }

    /// <summary>Field number for the "BookingStartDate" field.</summary>
    public const int BookingStartDateFieldNumber = 3;
    private global::Google.Protobuf.WellKnownTypes.Timestamp bookingStartDate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp BookingStartDate {
      get { return bookingStartDate_; }
      set {
        bookingStartDate_ = value;
      }
    }

    /// <summary>Field number for the "BookingEndDate" field.</summary>
    public const int BookingEndDateFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp bookingEndDate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp BookingEndDate {
      get { return bookingEndDate_; }
      set {
        bookingEndDate_ = value;
      }
    }

    /// <summary>Field number for the "Notes" field.</summary>
    public const int NotesFieldNumber = 5;
    private string notes_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Notes {
      get { return notes_; }
      set {
        notes_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Cost" field.</summary>
    public const int CostFieldNumber = 6;
    private string cost_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Cost {
      get { return cost_; }
      set {
        cost_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CreateBooking);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CreateBooking other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (RoomType != other.RoomType) return false;
      if (RoomNumber != other.RoomNumber) return false;
      if (!object.Equals(BookingStartDate, other.BookingStartDate)) return false;
      if (!object.Equals(BookingEndDate, other.BookingEndDate)) return false;
      if (Notes != other.Notes) return false;
      if (Cost != other.Cost) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (RoomType != global::ServiceStack.Extensions.Tests.Protoc.RoomType.Single) hash ^= RoomType.GetHashCode();
      if (RoomNumber != 0) hash ^= RoomNumber.GetHashCode();
      if (bookingStartDate_ != null) hash ^= BookingStartDate.GetHashCode();
      if (bookingEndDate_ != null) hash ^= BookingEndDate.GetHashCode();
      if (Notes.Length != 0) hash ^= Notes.GetHashCode();
      if (Cost.Length != 0) hash ^= Cost.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (RoomType != global::ServiceStack.Extensions.Tests.Protoc.RoomType.Single) {
        output.WriteRawTag(8);
        output.WriteEnum((int) RoomType);
      }
      if (RoomNumber != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(RoomNumber);
      }
      if (bookingStartDate_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(BookingStartDate);
      }
      if (bookingEndDate_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(BookingEndDate);
      }
      if (Notes.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Notes);
      }
      if (Cost.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Cost);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (RoomType != global::ServiceStack.Extensions.Tests.Protoc.RoomType.Single) {
        output.WriteRawTag(8);
        output.WriteEnum((int) RoomType);
      }
      if (RoomNumber != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(RoomNumber);
      }
      if (bookingStartDate_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(BookingStartDate);
      }
      if (bookingEndDate_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(BookingEndDate);
      }
      if (Notes.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Notes);
      }
      if (Cost.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Cost);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (RoomType != global::ServiceStack.Extensions.Tests.Protoc.RoomType.Single) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) RoomType);
      }
      if (RoomNumber != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoomNumber);
      }
      if (bookingStartDate_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(BookingStartDate);
      }
      if (bookingEndDate_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(BookingEndDate);
      }
      if (Notes.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Notes);
      }
      if (Cost.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Cost);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CreateBooking other) {
      if (other == null) {
        return;
      }
      if (other.RoomType != global::ServiceStack.Extensions.Tests.Protoc.RoomType.Single) {
        RoomType = other.RoomType;
      }
      if (other.RoomNumber != 0) {
        RoomNumber = other.RoomNumber;
      }
      if (other.bookingStartDate_ != null) {
        if (bookingStartDate_ == null) {
          BookingStartDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        BookingStartDate.MergeFrom(other.BookingStartDate);
      }
      if (other.bookingEndDate_ != null) {
        if (bookingEndDate_ == null) {
          BookingEndDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        BookingEndDate.MergeFrom(other.BookingEndDate);
      }
      if (other.Notes.Length != 0) {
        Notes = other.Notes;
      }
      if (other.Cost.Length != 0) {
        Cost = other.Cost;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            RoomType = (global::ServiceStack.Extensions.Tests.Protoc.RoomType) input.ReadEnum();
            break;
          }
          case 16: {
            RoomNumber = input.ReadInt32();
            break;
          }
          case 26: {
            if (bookingStartDate_ == null) {
              BookingStartDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(BookingStartDate);
            break;
          }
          case 34: {
            if (bookingEndDate_ == null) {
              BookingEndDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(BookingEndDate);
            break;
          }
          case 42: {
            Notes = input.ReadString();
            break;
          }
          case 50: {
            Cost = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            RoomType = (global::ServiceStack.Extensions.Tests.Protoc.RoomType) input.ReadEnum();
            break;
          }
          case 16: {
            RoomNumber = input.ReadInt32();
            break;
          }
          case 26: {
            if (bookingStartDate_ == null) {
              BookingStartDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(BookingStartDate);
            break;
          }
          case 34: {
            if (bookingEndDate_ == null) {
              BookingEndDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(BookingEndDate);
            break;
          }
          case 42: {
            Notes = input.ReadString();
            break;
          }
          case 50: {
            Cost = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CreateBookmark : pb::IMessage<CreateBookmark>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CreateBookmark> _parser = new pb::MessageParser<CreateBookmark>(() => new CreateBookmark());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CreateBookmark> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[20]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateBookmark() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateBookmark(CreateBookmark other) : this() {
      slug_ = other.slug_;
      title_ = other.title_;
      description_ = other.description_;
      url_ = other.url_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateBookmark Clone() {
      return new CreateBookmark(this);
    }

    /// <summary>Field number for the "Slug" field.</summary>
    public const int SlugFieldNumber = 1;
    private string slug_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Slug {
      get { return slug_; }
      set {
        slug_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 2;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Description" field.</summary>
    public const int DescriptionFieldNumber = 3;
    private string description_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Description {
      get { return description_; }
      set {
        description_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Url" field.</summary>
    public const int UrlFieldNumber = 4;
    private string url_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Url {
      get { return url_; }
      set {
        url_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CreateBookmark);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CreateBookmark other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Slug != other.Slug) return false;
      if (Title != other.Title) return false;
      if (Description != other.Description) return false;
      if (Url != other.Url) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Slug.Length != 0) hash ^= Slug.GetHashCode();
      if (Title.Length != 0) hash ^= Title.GetHashCode();
      if (Description.Length != 0) hash ^= Description.GetHashCode();
      if (Url.Length != 0) hash ^= Url.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Slug.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Slug);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Description.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (Url.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Url);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Slug.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Slug);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Description.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (Url.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Url);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Slug.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Slug);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (Description.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Description);
      }
      if (Url.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Url);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CreateBookmark other) {
      if (other == null) {
        return;
      }
      if (other.Slug.Length != 0) {
        Slug = other.Slug;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.Description.Length != 0) {
        Description = other.Description;
      }
      if (other.Url.Length != 0) {
        Url = other.Url;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Slug = input.ReadString();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
          case 34: {
            Url = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Slug = input.ReadString();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
          case 34: {
            Url = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CreateBookmarkResponse : pb::IMessage<CreateBookmarkResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CreateBookmarkResponse> _parser = new pb::MessageParser<CreateBookmarkResponse>(() => new CreateBookmarkResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CreateBookmarkResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[21]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateBookmarkResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateBookmarkResponse(CreateBookmarkResponse other) : this() {
      id_ = other.id_;
      result_ = other.result_ != null ? other.result_.Clone() : null;
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateBookmarkResponse Clone() {
      return new CreateBookmarkResponse(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private string id_ = "";
    /// <summary>
    /// default value could not be applied: 00000000-0000-0000-0000-000000000000
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Id {
      get { return id_; }
      set {
        id_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Result" field.</summary>
    public const int ResultFieldNumber = 2;
    private global::ServiceStack.Extensions.Tests.Protoc.DaoBase result_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.DaoBase Result {
      get { return result_; }
      set {
        result_ = value;
      }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 3;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CreateBookmarkResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CreateBookmarkResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (!object.Equals(Result, other.Result)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id.Length != 0) hash ^= Id.GetHashCode();
      if (result_ != null) hash ^= Result.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (result_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Result);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (result_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Result);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
      }
      if (result_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Result);
      }
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CreateBookmarkResponse other) {
      if (other == null) {
        return;
      }
      if (other.Id.Length != 0) {
        Id = other.Id;
      }
      if (other.result_ != null) {
        if (result_ == null) {
          Result = new global::ServiceStack.Extensions.Tests.Protoc.DaoBase();
        }
        Result.MergeFrom(other.Result);
      }
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            if (result_ == null) {
              Result = new global::ServiceStack.Extensions.Tests.Protoc.DaoBase();
            }
            input.ReadMessage(Result);
            break;
          }
          case 26: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            if (result_ == null) {
              Result = new global::ServiceStack.Extensions.Tests.Protoc.DaoBase();
            }
            input.ReadMessage(Result);
            break;
          }
          case 26: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CreateConnectionInfoRockstar : pb::IMessage<CreateConnectionInfoRockstar>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CreateConnectionInfoRockstar> _parser = new pb::MessageParser<CreateConnectionInfoRockstar>(() => new CreateConnectionInfoRockstar());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CreateConnectionInfoRockstar> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[22]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateConnectionInfoRockstar() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateConnectionInfoRockstar(CreateConnectionInfoRockstar other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      dateDied_ = other.dateDied_ != null ? other.dateDied_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      id_ = other.id_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateConnectionInfoRockstar Clone() {
      return new CreateConnectionInfoRockstar(this);
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 1;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 2;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "DateDied" field.</summary>
    public const int DateDiedFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateDied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateDied {
      get { return dateDied_; }
      set {
        dateDied_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 6;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 101;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CreateConnectionInfoRockstar);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CreateConnectionInfoRockstar other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (!object.Equals(DateDied, other.DateDied)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      if (Id != other.Id) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (dateDied_ != null) hash ^= DateDied.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (Id != 0) hash ^= Id.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (Id != 0) {
        output.WriteRawTag(168, 6);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (Id != 0) {
        output.WriteRawTag(168, 6);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (dateDied_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (Id != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CreateConnectionInfoRockstar other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.dateDied_ != null) {
        if (dateDied_ == null) {
          DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateDied.MergeFrom(other.DateDied);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
          case 808: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
          case 808: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CreateNamedRockstar : pb::IMessage<CreateNamedRockstar>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CreateNamedRockstar> _parser = new pb::MessageParser<CreateNamedRockstar>(() => new CreateNamedRockstar());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CreateNamedRockstar> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[23]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateNamedRockstar() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateNamedRockstar(CreateNamedRockstar other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      dateDied_ = other.dateDied_ != null ? other.dateDied_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      id_ = other.id_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateNamedRockstar Clone() {
      return new CreateNamedRockstar(this);
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 1;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 2;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "DateDied" field.</summary>
    public const int DateDiedFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateDied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateDied {
      get { return dateDied_; }
      set {
        dateDied_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 6;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 101;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CreateNamedRockstar);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CreateNamedRockstar other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (!object.Equals(DateDied, other.DateDied)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      if (Id != other.Id) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (dateDied_ != null) hash ^= DateDied.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (Id != 0) hash ^= Id.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (Id != 0) {
        output.WriteRawTag(168, 6);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (Id != 0) {
        output.WriteRawTag(168, 6);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (dateDied_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (Id != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CreateNamedRockstar other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.dateDied_ != null) {
        if (dateDied_ == null) {
          DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateDied.MergeFrom(other.DateDied);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
          case 808: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
          case 808: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CreateRockstar : pb::IMessage<CreateRockstar>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CreateRockstar> _parser = new pb::MessageParser<CreateRockstar>(() => new CreateRockstar());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CreateRockstar> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[24]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstar() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstar(CreateRockstar other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      dateDied_ = other.dateDied_ != null ? other.dateDied_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstar Clone() {
      return new CreateRockstar(this);
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 1;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 2;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "DateDied" field.</summary>
    public const int DateDiedFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateDied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateDied {
      get { return dateDied_; }
      set {
        dateDied_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 6;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CreateRockstar);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CreateRockstar other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (!object.Equals(DateDied, other.DateDied)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (dateDied_ != null) hash ^= DateDied.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (dateDied_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CreateRockstar other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.dateDied_ != null) {
        if (dateDied_ == null) {
          DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateDied.MergeFrom(other.DateDied);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CreateRockstarAdhocNonDefaults : pb::IMessage<CreateRockstarAdhocNonDefaults>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CreateRockstarAdhocNonDefaults> _parser = new pb::MessageParser<CreateRockstarAdhocNonDefaults>(() => new CreateRockstarAdhocNonDefaults());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CreateRockstarAdhocNonDefaults> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[25]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarAdhocNonDefaults() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarAdhocNonDefaults(CreateRockstarAdhocNonDefaults other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      dateDied_ = other.dateDied_ != null ? other.dateDied_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarAdhocNonDefaults Clone() {
      return new CreateRockstarAdhocNonDefaults(this);
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 1;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 2;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "DateDied" field.</summary>
    public const int DateDiedFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateDied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateDied {
      get { return dateDied_; }
      set {
        dateDied_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 6;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CreateRockstarAdhocNonDefaults);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CreateRockstarAdhocNonDefaults other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (!object.Equals(DateDied, other.DateDied)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (dateDied_ != null) hash ^= DateDied.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (dateDied_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CreateRockstarAdhocNonDefaults other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.dateDied_ != null) {
        if (dateDied_ == null) {
          DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateDied.MergeFrom(other.DateDied);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CreateRockstarAudit : pb::IMessage<CreateRockstarAudit>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CreateRockstarAudit> _parser = new pb::MessageParser<CreateRockstarAudit>(() => new CreateRockstarAudit());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CreateRockstarAudit> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[26]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarAudit() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarAudit(CreateRockstarAudit other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      dateDied_ = other.dateDied_ != null ? other.dateDied_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarAudit Clone() {
      return new CreateRockstarAudit(this);
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 1;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 2;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "DateDied" field.</summary>
    public const int DateDiedFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateDied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateDied {
      get { return dateDied_; }
      set {
        dateDied_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 6;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CreateRockstarAudit);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CreateRockstarAudit other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (!object.Equals(DateDied, other.DateDied)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (dateDied_ != null) hash ^= DateDied.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (dateDied_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CreateRockstarAudit other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.dateDied_ != null) {
        if (dateDied_ == null) {
          DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateDied.MergeFrom(other.DateDied);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CreateRockstarAuditMqToken : pb::IMessage<CreateRockstarAuditMqToken>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CreateRockstarAuditMqToken> _parser = new pb::MessageParser<CreateRockstarAuditMqToken>(() => new CreateRockstarAuditMqToken());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CreateRockstarAuditMqToken> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[27]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarAuditMqToken() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarAuditMqToken(CreateRockstarAuditMqToken other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      dateDied_ = other.dateDied_ != null ? other.dateDied_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      bearerToken_ = other.bearerToken_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarAuditMqToken Clone() {
      return new CreateRockstarAuditMqToken(this);
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 1;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 2;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "DateDied" field.</summary>
    public const int DateDiedFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateDied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateDied {
      get { return dateDied_; }
      set {
        dateDied_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 6;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    /// <summary>Field number for the "BearerToken" field.</summary>
    public const int BearerTokenFieldNumber = 101;
    private string bearerToken_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BearerToken {
      get { return bearerToken_; }
      set {
        bearerToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CreateRockstarAuditMqToken);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CreateRockstarAuditMqToken other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (!object.Equals(DateDied, other.DateDied)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      if (BearerToken != other.BearerToken) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (dateDied_ != null) hash ^= DateDied.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (BearerToken.Length != 0) hash ^= BearerToken.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (BearerToken.Length != 0) {
        output.WriteRawTag(170, 6);
        output.WriteString(BearerToken);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (BearerToken.Length != 0) {
        output.WriteRawTag(170, 6);
        output.WriteString(BearerToken);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (dateDied_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (BearerToken.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(BearerToken);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CreateRockstarAuditMqToken other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.dateDied_ != null) {
        if (dateDied_ == null) {
          DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateDied.MergeFrom(other.DateDied);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      if (other.BearerToken.Length != 0) {
        BearerToken = other.BearerToken;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
          case 810: {
            BearerToken = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
          case 810: {
            BearerToken = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CreateRockstarAuditTenant : pb::IMessage<CreateRockstarAuditTenant>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CreateRockstarAuditTenant> _parser = new pb::MessageParser<CreateRockstarAuditTenant>(() => new CreateRockstarAuditTenant());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CreateRockstarAuditTenant> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[28]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarAuditTenant() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarAuditTenant(CreateRockstarAuditTenant other) : this() {
      bearerToken_ = other.bearerToken_;
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      dateDied_ = other.dateDied_ != null ? other.dateDied_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarAuditTenant Clone() {
      return new CreateRockstarAuditTenant(this);
    }

    /// <summary>Field number for the "BearerToken" field.</summary>
    public const int BearerTokenFieldNumber = 201;
    private string bearerToken_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BearerToken {
      get { return bearerToken_; }
      set {
        bearerToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 202;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 203;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 204;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 205;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "DateDied" field.</summary>
    public const int DateDiedFieldNumber = 206;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateDied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateDied {
      get { return dateDied_; }
      set {
        dateDied_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 207;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CreateRockstarAuditTenant);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CreateRockstarAuditTenant other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (BearerToken != other.BearerToken) return false;
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (!object.Equals(DateDied, other.DateDied)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (BearerToken.Length != 0) hash ^= BearerToken.GetHashCode();
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (dateDied_ != null) hash ^= DateDied.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (BearerToken.Length != 0) {
        output.WriteRawTag(202, 12);
        output.WriteString(BearerToken);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(218, 12);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(224, 12);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(234, 12);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(242, 12);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(248, 12);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (BearerToken.Length != 0) {
        output.WriteRawTag(202, 12);
        output.WriteString(BearerToken);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(218, 12);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(224, 12);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(234, 12);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(242, 12);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(248, 12);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (BearerToken.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(BearerToken);
      }
      if (FirstName.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (dateDied_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CreateRockstarAuditTenant other) {
      if (other == null) {
        return;
      }
      if (other.BearerToken.Length != 0) {
        BearerToken = other.BearerToken;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.dateDied_ != null) {
        if (dateDied_ == null) {
          DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateDied.MergeFrom(other.DateDied);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 1610: {
            BearerToken = input.ReadString();
            break;
          }
          case 1618: {
            FirstName = input.ReadString();
            break;
          }
          case 1626: {
            LastName = input.ReadString();
            break;
          }
          case 1632: {
            Age = input.ReadInt32();
            break;
          }
          case 1642: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 1650: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 1656: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 1610: {
            BearerToken = input.ReadString();
            break;
          }
          case 1618: {
            FirstName = input.ReadString();
            break;
          }
          case 1626: {
            LastName = input.ReadString();
            break;
          }
          case 1632: {
            Age = input.ReadInt32();
            break;
          }
          case 1642: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 1650: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 1656: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CreateRockstarAuditTenantGateway : pb::IMessage<CreateRockstarAuditTenantGateway>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CreateRockstarAuditTenantGateway> _parser = new pb::MessageParser<CreateRockstarAuditTenantGateway>(() => new CreateRockstarAuditTenantGateway());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CreateRockstarAuditTenantGateway> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[29]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarAuditTenantGateway() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarAuditTenantGateway(CreateRockstarAuditTenantGateway other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      dateDied_ = other.dateDied_ != null ? other.dateDied_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarAuditTenantGateway Clone() {
      return new CreateRockstarAuditTenantGateway(this);
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 1;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 2;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "DateDied" field.</summary>
    public const int DateDiedFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateDied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateDied {
      get { return dateDied_; }
      set {
        dateDied_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 6;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CreateRockstarAuditTenantGateway);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CreateRockstarAuditTenantGateway other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (!object.Equals(DateDied, other.DateDied)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (dateDied_ != null) hash ^= DateDied.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (dateDied_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CreateRockstarAuditTenantGateway other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.dateDied_ != null) {
        if (dateDied_ == null) {
          DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateDied.MergeFrom(other.DateDied);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CreateRockstarAuditTenantMq : pb::IMessage<CreateRockstarAuditTenantMq>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CreateRockstarAuditTenantMq> _parser = new pb::MessageParser<CreateRockstarAuditTenantMq>(() => new CreateRockstarAuditTenantMq());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CreateRockstarAuditTenantMq> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[30]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarAuditTenantMq() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarAuditTenantMq(CreateRockstarAuditTenantMq other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      dateDied_ = other.dateDied_ != null ? other.dateDied_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarAuditTenantMq Clone() {
      return new CreateRockstarAuditTenantMq(this);
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 1;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 2;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "DateDied" field.</summary>
    public const int DateDiedFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateDied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateDied {
      get { return dateDied_; }
      set {
        dateDied_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 6;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CreateRockstarAuditTenantMq);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CreateRockstarAuditTenantMq other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (!object.Equals(DateDied, other.DateDied)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (dateDied_ != null) hash ^= DateDied.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (dateDied_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CreateRockstarAuditTenantMq other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.dateDied_ != null) {
        if (dateDied_ == null) {
          DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateDied.MergeFrom(other.DateDied);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CreateRockstarAutoMap : pb::IMessage<CreateRockstarAutoMap>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CreateRockstarAutoMap> _parser = new pb::MessageParser<CreateRockstarAutoMap>(() => new CreateRockstarAutoMap());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CreateRockstarAutoMap> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[31]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarAutoMap() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarAutoMap(CreateRockstarAutoMap other) : this() {
      mapFirstName_ = other.mapFirstName_;
      mapLastName_ = other.mapLastName_;
      mapAge_ = other.mapAge_;
      mapDateOfBirth_ = other.mapDateOfBirth_ != null ? other.mapDateOfBirth_.Clone() : null;
      mapDateDied_ = other.mapDateDied_ != null ? other.mapDateDied_.Clone() : null;
      mapLivingStatus_ = other.mapLivingStatus_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarAutoMap Clone() {
      return new CreateRockstarAutoMap(this);
    }

    /// <summary>Field number for the "MapFirstName" field.</summary>
    public const int MapFirstNameFieldNumber = 1;
    private string mapFirstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string MapFirstName {
      get { return mapFirstName_; }
      set {
        mapFirstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "MapLastName" field.</summary>
    public const int MapLastNameFieldNumber = 2;
    private string mapLastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string MapLastName {
      get { return mapLastName_; }
      set {
        mapLastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "MapAge" field.</summary>
    public const int MapAgeFieldNumber = 3;
    private int mapAge_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MapAge {
      get { return mapAge_; }
      set {
        mapAge_ = value;
      }
    }

    /// <summary>Field number for the "MapDateOfBirth" field.</summary>
    public const int MapDateOfBirthFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp mapDateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp MapDateOfBirth {
      get { return mapDateOfBirth_; }
      set {
        mapDateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "MapDateDied" field.</summary>
    public const int MapDateDiedFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp mapDateDied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp MapDateDied {
      get { return mapDateDied_; }
      set {
        mapDateDied_ = value;
      }
    }

    /// <summary>Field number for the "MapLivingStatus" field.</summary>
    public const int MapLivingStatusFieldNumber = 6;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus mapLivingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus MapLivingStatus {
      get { return mapLivingStatus_; }
      set {
        mapLivingStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CreateRockstarAutoMap);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CreateRockstarAutoMap other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (MapFirstName != other.MapFirstName) return false;
      if (MapLastName != other.MapLastName) return false;
      if (MapAge != other.MapAge) return false;
      if (!object.Equals(MapDateOfBirth, other.MapDateOfBirth)) return false;
      if (!object.Equals(MapDateDied, other.MapDateDied)) return false;
      if (MapLivingStatus != other.MapLivingStatus) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (MapFirstName.Length != 0) hash ^= MapFirstName.GetHashCode();
      if (MapLastName.Length != 0) hash ^= MapLastName.GetHashCode();
      if (MapAge != 0) hash ^= MapAge.GetHashCode();
      if (mapDateOfBirth_ != null) hash ^= MapDateOfBirth.GetHashCode();
      if (mapDateDied_ != null) hash ^= MapDateDied.GetHashCode();
      if (MapLivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= MapLivingStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (MapFirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(MapFirstName);
      }
      if (MapLastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(MapLastName);
      }
      if (MapAge != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(MapAge);
      }
      if (mapDateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(MapDateOfBirth);
      }
      if (mapDateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(MapDateDied);
      }
      if (MapLivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) MapLivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (MapFirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(MapFirstName);
      }
      if (MapLastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(MapLastName);
      }
      if (MapAge != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(MapAge);
      }
      if (mapDateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(MapDateOfBirth);
      }
      if (mapDateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(MapDateDied);
      }
      if (MapLivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) MapLivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (MapFirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(MapFirstName);
      }
      if (MapLastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(MapLastName);
      }
      if (MapAge != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MapAge);
      }
      if (mapDateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(MapDateOfBirth);
      }
      if (mapDateDied_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(MapDateDied);
      }
      if (MapLivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) MapLivingStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CreateRockstarAutoMap other) {
      if (other == null) {
        return;
      }
      if (other.MapFirstName.Length != 0) {
        MapFirstName = other.MapFirstName;
      }
      if (other.MapLastName.Length != 0) {
        MapLastName = other.MapLastName;
      }
      if (other.MapAge != 0) {
        MapAge = other.MapAge;
      }
      if (other.mapDateOfBirth_ != null) {
        if (mapDateOfBirth_ == null) {
          MapDateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        MapDateOfBirth.MergeFrom(other.MapDateOfBirth);
      }
      if (other.mapDateDied_ != null) {
        if (mapDateDied_ == null) {
          MapDateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        MapDateDied.MergeFrom(other.MapDateDied);
      }
      if (other.MapLivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        MapLivingStatus = other.MapLivingStatus;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            MapFirstName = input.ReadString();
            break;
          }
          case 18: {
            MapLastName = input.ReadString();
            break;
          }
          case 24: {
            MapAge = input.ReadInt32();
            break;
          }
          case 34: {
            if (mapDateOfBirth_ == null) {
              MapDateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(MapDateOfBirth);
            break;
          }
          case 42: {
            if (mapDateDied_ == null) {
              MapDateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(MapDateDied);
            break;
          }
          case 48: {
            MapLivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            MapFirstName = input.ReadString();
            break;
          }
          case 18: {
            MapLastName = input.ReadString();
            break;
          }
          case 24: {
            MapAge = input.ReadInt32();
            break;
          }
          case 34: {
            if (mapDateOfBirth_ == null) {
              MapDateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(MapDateOfBirth);
            break;
          }
          case 42: {
            if (mapDateDied_ == null) {
              MapDateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(MapDateDied);
            break;
          }
          case 48: {
            MapLivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CreateRockstarResponse : pb::IMessage<CreateRockstarResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CreateRockstarResponse> _parser = new pb::MessageParser<CreateRockstarResponse>(() => new CreateRockstarResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CreateRockstarResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[32]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarResponse(CreateRockstarResponse other) : this() {
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarResponse Clone() {
      return new CreateRockstarResponse(this);
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 1;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CreateRockstarResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CreateRockstarResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (responseStatus_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (responseStatus_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CreateRockstarResponse other) {
      if (other == null) {
        return;
      }
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CreateRockstarVersion : pb::IMessage<CreateRockstarVersion>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CreateRockstarVersion> _parser = new pb::MessageParser<CreateRockstarVersion>(() => new CreateRockstarVersion());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CreateRockstarVersion> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[33]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarVersion() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarVersion(CreateRockstarVersion other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      dateDied_ = other.dateDied_ != null ? other.dateDied_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarVersion Clone() {
      return new CreateRockstarVersion(this);
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 1;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 2;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "DateDied" field.</summary>
    public const int DateDiedFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateDied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateDied {
      get { return dateDied_; }
      set {
        dateDied_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 6;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CreateRockstarVersion);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CreateRockstarVersion other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (!object.Equals(DateDied, other.DateDied)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (dateDied_ != null) hash ^= DateDied.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (dateDied_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CreateRockstarVersion other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.dateDied_ != null) {
        if (dateDied_ == null) {
          DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateDied.MergeFrom(other.DateDied);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CreateRockstarWithAutoGuid : pb::IMessage<CreateRockstarWithAutoGuid>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CreateRockstarWithAutoGuid> _parser = new pb::MessageParser<CreateRockstarWithAutoGuid>(() => new CreateRockstarWithAutoGuid());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CreateRockstarWithAutoGuid> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[34]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarWithAutoGuid() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarWithAutoGuid(CreateRockstarWithAutoGuid other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      dateDied_ = other.dateDied_ != null ? other.dateDied_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarWithAutoGuid Clone() {
      return new CreateRockstarWithAutoGuid(this);
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 1;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 2;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "DateDied" field.</summary>
    public const int DateDiedFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateDied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateDied {
      get { return dateDied_; }
      set {
        dateDied_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 6;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CreateRockstarWithAutoGuid);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CreateRockstarWithAutoGuid other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (!object.Equals(DateDied, other.DateDied)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (dateDied_ != null) hash ^= DateDied.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (dateDied_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CreateRockstarWithAutoGuid other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.dateDied_ != null) {
        if (dateDied_ == null) {
          DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateDied.MergeFrom(other.DateDied);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CreateRockstarWithReturn : pb::IMessage<CreateRockstarWithReturn>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CreateRockstarWithReturn> _parser = new pb::MessageParser<CreateRockstarWithReturn>(() => new CreateRockstarWithReturn());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CreateRockstarWithReturn> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[35]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarWithReturn() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarWithReturn(CreateRockstarWithReturn other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      dateDied_ = other.dateDied_ != null ? other.dateDied_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarWithReturn Clone() {
      return new CreateRockstarWithReturn(this);
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 1;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 2;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "DateDied" field.</summary>
    public const int DateDiedFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateDied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateDied {
      get { return dateDied_; }
      set {
        dateDied_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 6;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CreateRockstarWithReturn);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CreateRockstarWithReturn other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (!object.Equals(DateDied, other.DateDied)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (dateDied_ != null) hash ^= DateDied.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (dateDied_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CreateRockstarWithReturn other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.dateDied_ != null) {
        if (dateDied_ == null) {
          DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateDied.MergeFrom(other.DateDied);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CreateRockstarWithReturnGuidResponse : pb::IMessage<CreateRockstarWithReturnGuidResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CreateRockstarWithReturnGuidResponse> _parser = new pb::MessageParser<CreateRockstarWithReturnGuidResponse>(() => new CreateRockstarWithReturnGuidResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CreateRockstarWithReturnGuidResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[36]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarWithReturnGuidResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarWithReturnGuidResponse(CreateRockstarWithReturnGuidResponse other) : this() {
      id_ = other.id_;
      result_ = other.result_ != null ? other.result_.Clone() : null;
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarWithReturnGuidResponse Clone() {
      return new CreateRockstarWithReturnGuidResponse(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private string id_ = "";
    /// <summary>
    /// default value could not be applied: 00000000-0000-0000-0000-000000000000
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Id {
      get { return id_; }
      set {
        id_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Result" field.</summary>
    public const int ResultFieldNumber = 2;
    private global::ServiceStack.Extensions.Tests.Protoc.RockstarBase result_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.RockstarBase Result {
      get { return result_; }
      set {
        result_ = value;
      }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 3;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CreateRockstarWithReturnGuidResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CreateRockstarWithReturnGuidResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (!object.Equals(Result, other.Result)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id.Length != 0) hash ^= Id.GetHashCode();
      if (result_ != null) hash ^= Result.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (result_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Result);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (result_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Result);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
      }
      if (result_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Result);
      }
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CreateRockstarWithReturnGuidResponse other) {
      if (other == null) {
        return;
      }
      if (other.Id.Length != 0) {
        Id = other.Id;
      }
      if (other.result_ != null) {
        if (result_ == null) {
          Result = new global::ServiceStack.Extensions.Tests.Protoc.RockstarBase();
        }
        Result.MergeFrom(other.Result);
      }
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            if (result_ == null) {
              Result = new global::ServiceStack.Extensions.Tests.Protoc.RockstarBase();
            }
            input.ReadMessage(Result);
            break;
          }
          case 26: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            if (result_ == null) {
              Result = new global::ServiceStack.Extensions.Tests.Protoc.RockstarBase();
            }
            input.ReadMessage(Result);
            break;
          }
          case 26: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CreateRockstarWithVoidReturn : pb::IMessage<CreateRockstarWithVoidReturn>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CreateRockstarWithVoidReturn> _parser = new pb::MessageParser<CreateRockstarWithVoidReturn>(() => new CreateRockstarWithVoidReturn());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CreateRockstarWithVoidReturn> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[37]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarWithVoidReturn() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarWithVoidReturn(CreateRockstarWithVoidReturn other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      dateDied_ = other.dateDied_ != null ? other.dateDied_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateRockstarWithVoidReturn Clone() {
      return new CreateRockstarWithVoidReturn(this);
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 1;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 2;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "DateDied" field.</summary>
    public const int DateDiedFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateDied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateDied {
      get { return dateDied_; }
      set {
        dateDied_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 6;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CreateRockstarWithVoidReturn);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CreateRockstarWithVoidReturn other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (!object.Equals(DateDied, other.DateDied)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (dateDied_ != null) hash ^= DateDied.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (dateDied_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CreateRockstarWithVoidReturn other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.dateDied_ != null) {
        if (dateDied_ == null) {
          DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateDied.MergeFrom(other.DateDied);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CreateTodo : pb::IMessage<CreateTodo>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CreateTodo> _parser = new pb::MessageParser<CreateTodo>(() => new CreateTodo());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CreateTodo> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[38]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateTodo() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateTodo(CreateTodo other) : this() {
      title_ = other.title_;
      order_ = other.order_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateTodo Clone() {
      return new CreateTodo(this);
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 1;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Order" field.</summary>
    public const int OrderFieldNumber = 2;
    private int order_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Order {
      get { return order_; }
      set {
        order_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CreateTodo);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CreateTodo other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Title != other.Title) return false;
      if (Order != other.Order) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Title.Length != 0) hash ^= Title.GetHashCode();
      if (Order != 0) hash ^= Order.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Title.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Title);
      }
      if (Order != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Order);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Title.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Title);
      }
      if (Order != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Order);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (Order != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Order);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CreateTodo other) {
      if (other == null) {
        return;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.Order != 0) {
        Order = other.Order;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Title = input.ReadString();
            break;
          }
          case 16: {
            Order = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Title = input.ReadString();
            break;
          }
          case 16: {
            Order = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CreateTodoResponse : pb::IMessage<CreateTodoResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CreateTodoResponse> _parser = new pb::MessageParser<CreateTodoResponse>(() => new CreateTodoResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CreateTodoResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[39]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateTodoResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateTodoResponse(CreateTodoResponse other) : this() {
      result_ = other.result_ != null ? other.result_.Clone() : null;
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateTodoResponse Clone() {
      return new CreateTodoResponse(this);
    }

    /// <summary>Field number for the "Result" field.</summary>
    public const int ResultFieldNumber = 1;
    private global::ServiceStack.Extensions.Tests.Protoc.Todo result_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.Todo Result {
      get { return result_; }
      set {
        result_ = value;
      }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 2;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CreateTodoResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CreateTodoResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(Result, other.Result)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (result_ != null) hash ^= Result.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (result_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(Result);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (result_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(Result);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (result_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Result);
      }
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CreateTodoResponse other) {
      if (other == null) {
        return;
      }
      if (other.result_ != null) {
        if (result_ == null) {
          Result = new global::ServiceStack.Extensions.Tests.Protoc.Todo();
        }
        Result.MergeFrom(other.Result);
      }
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            if (result_ == null) {
              Result = new global::ServiceStack.Extensions.Tests.Protoc.Todo();
            }
            input.ReadMessage(Result);
            break;
          }
          case 18: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            if (result_ == null) {
              Result = new global::ServiceStack.Extensions.Tests.Protoc.Todo();
            }
            input.ReadMessage(Result);
            break;
          }
          case 18: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CustomRockstar : pb::IMessage<CustomRockstar>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CustomRockstar> _parser = new pb::MessageParser<CustomRockstar>(() => new CustomRockstar());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CustomRockstar> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[40]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CustomRockstar() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CustomRockstar(CustomRockstar other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      rockstarAlbumName_ = other.rockstarAlbumName_;
      rockstarGenreName_ = other.rockstarGenreName_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CustomRockstar Clone() {
      return new CustomRockstar(this);
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 1;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 2;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "RockstarAlbumName" field.</summary>
    public const int RockstarAlbumNameFieldNumber = 4;
    private string rockstarAlbumName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RockstarAlbumName {
      get { return rockstarAlbumName_; }
      set {
        rockstarAlbumName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "RockstarGenreName" field.</summary>
    public const int RockstarGenreNameFieldNumber = 5;
    private string rockstarGenreName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RockstarGenreName {
      get { return rockstarGenreName_; }
      set {
        rockstarGenreName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CustomRockstar);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CustomRockstar other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (RockstarAlbumName != other.RockstarAlbumName) return false;
      if (RockstarGenreName != other.RockstarGenreName) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (RockstarAlbumName.Length != 0) hash ^= RockstarAlbumName.GetHashCode();
      if (RockstarGenreName.Length != 0) hash ^= RockstarGenreName.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (RockstarAlbumName.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(RockstarAlbumName);
      }
      if (RockstarGenreName.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(RockstarGenreName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (RockstarAlbumName.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(RockstarAlbumName);
      }
      if (RockstarGenreName.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(RockstarGenreName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (RockstarAlbumName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(RockstarAlbumName);
      }
      if (RockstarGenreName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(RockstarGenreName);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CustomRockstar other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.RockstarAlbumName.Length != 0) {
        RockstarAlbumName = other.RockstarAlbumName;
      }
      if (other.RockstarGenreName.Length != 0) {
        RockstarGenreName = other.RockstarGenreName;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            RockstarAlbumName = input.ReadString();
            break;
          }
          case 42: {
            RockstarGenreName = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            RockstarAlbumName = input.ReadString();
            break;
          }
          case 42: {
            RockstarGenreName = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CustomRockstarSchema : pb::IMessage<CustomRockstarSchema>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CustomRockstarSchema> _parser = new pb::MessageParser<CustomRockstarSchema>(() => new CustomRockstarSchema());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CustomRockstarSchema> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[41]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CustomRockstarSchema() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CustomRockstarSchema(CustomRockstarSchema other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      rockstarAlbumName_ = other.rockstarAlbumName_;
      rockstarGenreName_ = other.rockstarGenreName_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CustomRockstarSchema Clone() {
      return new CustomRockstarSchema(this);
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 1;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 2;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "RockstarAlbumName" field.</summary>
    public const int RockstarAlbumNameFieldNumber = 4;
    private string rockstarAlbumName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RockstarAlbumName {
      get { return rockstarAlbumName_; }
      set {
        rockstarAlbumName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "RockstarGenreName" field.</summary>
    public const int RockstarGenreNameFieldNumber = 5;
    private string rockstarGenreName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RockstarGenreName {
      get { return rockstarGenreName_; }
      set {
        rockstarGenreName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CustomRockstarSchema);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CustomRockstarSchema other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (RockstarAlbumName != other.RockstarAlbumName) return false;
      if (RockstarGenreName != other.RockstarGenreName) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (RockstarAlbumName.Length != 0) hash ^= RockstarAlbumName.GetHashCode();
      if (RockstarGenreName.Length != 0) hash ^= RockstarGenreName.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (RockstarAlbumName.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(RockstarAlbumName);
      }
      if (RockstarGenreName.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(RockstarGenreName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (RockstarAlbumName.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(RockstarAlbumName);
      }
      if (RockstarGenreName.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(RockstarGenreName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (RockstarAlbumName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(RockstarAlbumName);
      }
      if (RockstarGenreName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(RockstarGenreName);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CustomRockstarSchema other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.RockstarAlbumName.Length != 0) {
        RockstarAlbumName = other.RockstarAlbumName;
      }
      if (other.RockstarGenreName.Length != 0) {
        RockstarGenreName = other.RockstarGenreName;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            RockstarAlbumName = input.ReadString();
            break;
          }
          case 42: {
            RockstarGenreName = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            RockstarAlbumName = input.ReadString();
            break;
          }
          case 42: {
            RockstarGenreName = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CustomSelectRockstar : pb::IMessage<CustomSelectRockstar>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CustomSelectRockstar> _parser = new pb::MessageParser<CustomSelectRockstar>(() => new CustomSelectRockstar());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CustomSelectRockstar> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[42]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CustomSelectRockstar() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CustomSelectRockstar(CustomSelectRockstar other) : this() {
      id_ = other.id_;
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CustomSelectRockstar Clone() {
      return new CustomSelectRockstar(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 2;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 3;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 4;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CustomSelectRockstar);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CustomSelectRockstar other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CustomSelectRockstar other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 26: {
            LastName = input.ReadString();
            break;
          }
          case 32: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 26: {
            LastName = input.ReadString();
            break;
          }
          case 32: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CustomSelectRockstarResponse : pb::IMessage<CustomSelectRockstarResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CustomSelectRockstarResponse> _parser = new pb::MessageParser<CustomSelectRockstarResponse>(() => new CustomSelectRockstarResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CustomSelectRockstarResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[43]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CustomSelectRockstarResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CustomSelectRockstarResponse(CustomSelectRockstarResponse other) : this() {
      id_ = other.id_;
      firstName_ = other.firstName_;
      age_ = other.age_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CustomSelectRockstarResponse Clone() {
      return new CustomSelectRockstarResponse(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 2;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CustomSelectRockstarResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CustomSelectRockstarResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (FirstName != other.FirstName) return false;
      if (Age != other.Age) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CustomSelectRockstarResponse other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class CustomValidationErrors : pb::IMessage<CustomValidationErrors>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CustomValidationErrors> _parser = new pb::MessageParser<CustomValidationErrors>(() => new CustomValidationErrors());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CustomValidationErrors> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[44]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CustomValidationErrors() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CustomValidationErrors(CustomValidationErrors other) : this() {
      customErrorCode_ = other.customErrorCode_;
      customErrorCodeAndMessage_ = other.customErrorCodeAndMessage_;
      errorCodeRule_ = other.errorCodeRule_;
      isOddCondition_ = other.isOddCondition_;
      isOddAndOverTwoDigitsCondition_ = other.isOddAndOverTwoDigitsCondition_;
      isOddOrOverTwoDigitsCondition_ = other.isOddOrOverTwoDigitsCondition_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CustomValidationErrors Clone() {
      return new CustomValidationErrors(this);
    }

    /// <summary>Field number for the "CustomErrorCode" field.</summary>
    public const int CustomErrorCodeFieldNumber = 1;
    private string customErrorCode_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CustomErrorCode {
      get { return customErrorCode_; }
      set {
        customErrorCode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "CustomErrorCodeAndMessage" field.</summary>
    public const int CustomErrorCodeAndMessageFieldNumber = 2;
    private int customErrorCodeAndMessage_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CustomErrorCodeAndMessage {
      get { return customErrorCodeAndMessage_; }
      set {
        customErrorCodeAndMessage_ = value;
      }
    }

    /// <summary>Field number for the "ErrorCodeRule" field.</summary>
    public const int ErrorCodeRuleFieldNumber = 3;
    private string errorCodeRule_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ErrorCodeRule {
      get { return errorCodeRule_; }
      set {
        errorCodeRule_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "IsOddCondition" field.</summary>
    public const int IsOddConditionFieldNumber = 4;
    private int isOddCondition_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int IsOddCondition {
      get { return isOddCondition_; }
      set {
        isOddCondition_ = value;
      }
    }

    /// <summary>Field number for the "IsOddAndOverTwoDigitsCondition" field.</summary>
    public const int IsOddAndOverTwoDigitsConditionFieldNumber = 5;
    private int isOddAndOverTwoDigitsCondition_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int IsOddAndOverTwoDigitsCondition {
      get { return isOddAndOverTwoDigitsCondition_; }
      set {
        isOddAndOverTwoDigitsCondition_ = value;
      }
    }

    /// <summary>Field number for the "IsOddOrOverTwoDigitsCondition" field.</summary>
    public const int IsOddOrOverTwoDigitsConditionFieldNumber = 6;
    private int isOddOrOverTwoDigitsCondition_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int IsOddOrOverTwoDigitsCondition {
      get { return isOddOrOverTwoDigitsCondition_; }
      set {
        isOddOrOverTwoDigitsCondition_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CustomValidationErrors);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CustomValidationErrors other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CustomErrorCode != other.CustomErrorCode) return false;
      if (CustomErrorCodeAndMessage != other.CustomErrorCodeAndMessage) return false;
      if (ErrorCodeRule != other.ErrorCodeRule) return false;
      if (IsOddCondition != other.IsOddCondition) return false;
      if (IsOddAndOverTwoDigitsCondition != other.IsOddAndOverTwoDigitsCondition) return false;
      if (IsOddOrOverTwoDigitsCondition != other.IsOddOrOverTwoDigitsCondition) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (CustomErrorCode.Length != 0) hash ^= CustomErrorCode.GetHashCode();
      if (CustomErrorCodeAndMessage != 0) hash ^= CustomErrorCodeAndMessage.GetHashCode();
      if (ErrorCodeRule.Length != 0) hash ^= ErrorCodeRule.GetHashCode();
      if (IsOddCondition != 0) hash ^= IsOddCondition.GetHashCode();
      if (IsOddAndOverTwoDigitsCondition != 0) hash ^= IsOddAndOverTwoDigitsCondition.GetHashCode();
      if (IsOddOrOverTwoDigitsCondition != 0) hash ^= IsOddOrOverTwoDigitsCondition.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (CustomErrorCode.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CustomErrorCode);
      }
      if (CustomErrorCodeAndMessage != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CustomErrorCodeAndMessage);
      }
      if (ErrorCodeRule.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ErrorCodeRule);
      }
      if (IsOddCondition != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(IsOddCondition);
      }
      if (IsOddAndOverTwoDigitsCondition != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(IsOddAndOverTwoDigitsCondition);
      }
      if (IsOddOrOverTwoDigitsCondition != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(IsOddOrOverTwoDigitsCondition);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (CustomErrorCode.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CustomErrorCode);
      }
      if (CustomErrorCodeAndMessage != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CustomErrorCodeAndMessage);
      }
      if (ErrorCodeRule.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ErrorCodeRule);
      }
      if (IsOddCondition != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(IsOddCondition);
      }
      if (IsOddAndOverTwoDigitsCondition != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(IsOddAndOverTwoDigitsCondition);
      }
      if (IsOddOrOverTwoDigitsCondition != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(IsOddOrOverTwoDigitsCondition);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (CustomErrorCode.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CustomErrorCode);
      }
      if (CustomErrorCodeAndMessage != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CustomErrorCodeAndMessage);
      }
      if (ErrorCodeRule.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorCodeRule);
      }
      if (IsOddCondition != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(IsOddCondition);
      }
      if (IsOddAndOverTwoDigitsCondition != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(IsOddAndOverTwoDigitsCondition);
      }
      if (IsOddOrOverTwoDigitsCondition != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(IsOddOrOverTwoDigitsCondition);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CustomValidationErrors other) {
      if (other == null) {
        return;
      }
      if (other.CustomErrorCode.Length != 0) {
        CustomErrorCode = other.CustomErrorCode;
      }
      if (other.CustomErrorCodeAndMessage != 0) {
        CustomErrorCodeAndMessage = other.CustomErrorCodeAndMessage;
      }
      if (other.ErrorCodeRule.Length != 0) {
        ErrorCodeRule = other.ErrorCodeRule;
      }
      if (other.IsOddCondition != 0) {
        IsOddCondition = other.IsOddCondition;
      }
      if (other.IsOddAndOverTwoDigitsCondition != 0) {
        IsOddAndOverTwoDigitsCondition = other.IsOddAndOverTwoDigitsCondition;
      }
      if (other.IsOddOrOverTwoDigitsCondition != 0) {
        IsOddOrOverTwoDigitsCondition = other.IsOddOrOverTwoDigitsCondition;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            CustomErrorCode = input.ReadString();
            break;
          }
          case 16: {
            CustomErrorCodeAndMessage = input.ReadInt32();
            break;
          }
          case 26: {
            ErrorCodeRule = input.ReadString();
            break;
          }
          case 32: {
            IsOddCondition = input.ReadInt32();
            break;
          }
          case 40: {
            IsOddAndOverTwoDigitsCondition = input.ReadInt32();
            break;
          }
          case 48: {
            IsOddOrOverTwoDigitsCondition = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            CustomErrorCode = input.ReadString();
            break;
          }
          case 16: {
            CustomErrorCodeAndMessage = input.ReadInt32();
            break;
          }
          case 26: {
            ErrorCodeRule = input.ReadString();
            break;
          }
          case 32: {
            IsOddCondition = input.ReadInt32();
            break;
          }
          case 40: {
            IsOddAndOverTwoDigitsCondition = input.ReadInt32();
            break;
          }
          case 48: {
            IsOddOrOverTwoDigitsCondition = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class DaoBase : pb::IMessage<DaoBase>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DaoBase> _parser = new pb::MessageParser<DaoBase>(() => new DaoBase());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DaoBase> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[45]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DaoBase() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DaoBase(DaoBase other) : this() {
      id_ = other.id_;
      createDate_ = other.createDate_ != null ? other.createDate_.Clone() : null;
      createdBy_ = other.createdBy_;
      modifiedDate_ = other.modifiedDate_ != null ? other.modifiedDate_.Clone() : null;
      modifiedBy_ = other.modifiedBy_;
      switch (other.SubtypeCase) {
        case SubtypeOneofCase.Bookmark:
          Bookmark = other.Bookmark.Clone();
          break;
      }

      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DaoBase Clone() {
      return new DaoBase(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private string id_ = "";
    /// <summary>
    /// default value could not be applied: 00000000-0000-0000-0000-000000000000
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Id {
      get { return id_; }
      set {
        id_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "CreateDate" field.</summary>
    public const int CreateDateFieldNumber = 2;
    private global::Google.Protobuf.WellKnownTypes.Timestamp createDate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp CreateDate {
      get { return createDate_; }
      set {
        createDate_ = value;
      }
    }

    /// <summary>Field number for the "CreatedBy" field.</summary>
    public const int CreatedByFieldNumber = 3;
    private string createdBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CreatedBy {
      get { return createdBy_; }
      set {
        createdBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ModifiedDate" field.</summary>
    public const int ModifiedDateFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp modifiedDate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp ModifiedDate {
      get { return modifiedDate_; }
      set {
        modifiedDate_ = value;
      }
    }

    /// <summary>Field number for the "ModifiedBy" field.</summary>
    public const int ModifiedByFieldNumber = 5;
    private string modifiedBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ModifiedBy {
      get { return modifiedBy_; }
      set {
        modifiedBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Bookmark" field.</summary>
    public const int BookmarkFieldNumber = 439450339;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.Bookmark Bookmark {
      get { return subtypeCase_ == SubtypeOneofCase.Bookmark ? (global::ServiceStack.Extensions.Tests.Protoc.Bookmark) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.Bookmark;
      }
    }

    private object subtype_;
    /// <summary>Enum of possible cases for the "subtype" oneof.</summary>
    public enum SubtypeOneofCase {
      None = 0,
      Bookmark = 439450339,
    }
    private SubtypeOneofCase subtypeCase_ = SubtypeOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SubtypeOneofCase SubtypeCase {
      get { return subtypeCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearSubtype() {
      subtypeCase_ = SubtypeOneofCase.None;
      subtype_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DaoBase);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DaoBase other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (!object.Equals(CreateDate, other.CreateDate)) return false;
      if (CreatedBy != other.CreatedBy) return false;
      if (!object.Equals(ModifiedDate, other.ModifiedDate)) return false;
      if (ModifiedBy != other.ModifiedBy) return false;
      if (!object.Equals(Bookmark, other.Bookmark)) return false;
      if (SubtypeCase != other.SubtypeCase) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id.Length != 0) hash ^= Id.GetHashCode();
      if (createDate_ != null) hash ^= CreateDate.GetHashCode();
      if (CreatedBy.Length != 0) hash ^= CreatedBy.GetHashCode();
      if (modifiedDate_ != null) hash ^= ModifiedDate.GetHashCode();
      if (ModifiedBy.Length != 0) hash ^= ModifiedBy.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.Bookmark) hash ^= Bookmark.GetHashCode();
      hash ^= (int) subtypeCase_;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (createDate_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(CreateDate);
      }
      if (CreatedBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(CreatedBy);
      }
      if (modifiedDate_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(ModifiedDate);
      }
      if (ModifiedBy.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(ModifiedBy);
      }
      if (subtypeCase_ == SubtypeOneofCase.Bookmark) {
        output.WriteRawTag(154, 174, 175, 140, 13);
        output.WriteMessage(Bookmark);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (createDate_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(CreateDate);
      }
      if (CreatedBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(CreatedBy);
      }
      if (modifiedDate_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(ModifiedDate);
      }
      if (ModifiedBy.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(ModifiedBy);
      }
      if (subtypeCase_ == SubtypeOneofCase.Bookmark) {
        output.WriteRawTag(154, 174, 175, 140, 13);
        output.WriteMessage(Bookmark);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
      }
      if (createDate_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(CreateDate);
      }
      if (CreatedBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CreatedBy);
      }
      if (modifiedDate_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ModifiedDate);
      }
      if (ModifiedBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ModifiedBy);
      }
      if (subtypeCase_ == SubtypeOneofCase.Bookmark) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(Bookmark);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DaoBase other) {
      if (other == null) {
        return;
      }
      if (other.Id.Length != 0) {
        Id = other.Id;
      }
      if (other.createDate_ != null) {
        if (createDate_ == null) {
          CreateDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        CreateDate.MergeFrom(other.CreateDate);
      }
      if (other.CreatedBy.Length != 0) {
        CreatedBy = other.CreatedBy;
      }
      if (other.modifiedDate_ != null) {
        if (modifiedDate_ == null) {
          ModifiedDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        ModifiedDate.MergeFrom(other.ModifiedDate);
      }
      if (other.ModifiedBy.Length != 0) {
        ModifiedBy = other.ModifiedBy;
      }
      switch (other.SubtypeCase) {
        case SubtypeOneofCase.Bookmark:
          if (Bookmark == null) {
            Bookmark = new global::ServiceStack.Extensions.Tests.Protoc.Bookmark();
          }
          Bookmark.MergeFrom(other.Bookmark);
          break;
      }

      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            if (createDate_ == null) {
              CreateDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(CreateDate);
            break;
          }
          case 26: {
            CreatedBy = input.ReadString();
            break;
          }
          case 34: {
            if (modifiedDate_ == null) {
              ModifiedDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(ModifiedDate);
            break;
          }
          case 42: {
            ModifiedBy = input.ReadString();
            break;
          }
          case 3515602714: {
            global::ServiceStack.Extensions.Tests.Protoc.Bookmark subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.Bookmark();
            if (subtypeCase_ == SubtypeOneofCase.Bookmark) {
              subBuilder.MergeFrom(Bookmark);
            }
            input.ReadMessage(subBuilder);
            Bookmark = subBuilder;
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            if (createDate_ == null) {
              CreateDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(CreateDate);
            break;
          }
          case 26: {
            CreatedBy = input.ReadString();
            break;
          }
          case 34: {
            if (modifiedDate_ == null) {
              ModifiedDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(ModifiedDate);
            break;
          }
          case 42: {
            ModifiedBy = input.ReadString();
            break;
          }
          case 3515602714: {
            global::ServiceStack.Extensions.Tests.Protoc.Bookmark subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.Bookmark();
            if (subtypeCase_ == SubtypeOneofCase.Bookmark) {
              subBuilder.MergeFrom(Bookmark);
            }
            input.ReadMessage(subBuilder);
            Bookmark = subBuilder;
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class DeleteBooking : pb::IMessage<DeleteBooking>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DeleteBooking> _parser = new pb::MessageParser<DeleteBooking>(() => new DeleteBooking());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DeleteBooking> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[46]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteBooking() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteBooking(DeleteBooking other) : this() {
      id_ = other.id_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteBooking Clone() {
      return new DeleteBooking(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DeleteBooking);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DeleteBooking other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DeleteBooking other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class DeleteRockstar : pb::IMessage<DeleteRockstar>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DeleteRockstar> _parser = new pb::MessageParser<DeleteRockstar>(() => new DeleteRockstar());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DeleteRockstar> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[47]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteRockstar() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteRockstar(DeleteRockstar other) : this() {
      id_ = other.id_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteRockstar Clone() {
      return new DeleteRockstar(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DeleteRockstar);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DeleteRockstar other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DeleteRockstar other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class DeleteRockstarAudit : pb::IMessage<DeleteRockstarAudit>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DeleteRockstarAudit> _parser = new pb::MessageParser<DeleteRockstarAudit>(() => new DeleteRockstarAudit());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DeleteRockstarAudit> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[48]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteRockstarAudit() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteRockstarAudit(DeleteRockstarAudit other) : this() {
      id_ = other.id_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteRockstarAudit Clone() {
      return new DeleteRockstarAudit(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DeleteRockstarAudit);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DeleteRockstarAudit other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DeleteRockstarAudit other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class DeleteRockstarCountResponse : pb::IMessage<DeleteRockstarCountResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DeleteRockstarCountResponse> _parser = new pb::MessageParser<DeleteRockstarCountResponse>(() => new DeleteRockstarCountResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DeleteRockstarCountResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[49]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteRockstarCountResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteRockstarCountResponse(DeleteRockstarCountResponse other) : this() {
      count_ = other.count_;
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteRockstarCountResponse Clone() {
      return new DeleteRockstarCountResponse(this);
    }

    /// <summary>Field number for the "Count" field.</summary>
    public const int CountFieldNumber = 1;
    private int count_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Count {
      get { return count_; }
      set {
        count_ = value;
      }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 2;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DeleteRockstarCountResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DeleteRockstarCountResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Count != other.Count) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Count != 0) hash ^= Count.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Count != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Count);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Count != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Count);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Count != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
      }
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DeleteRockstarCountResponse other) {
      if (other == null) {
        return;
      }
      if (other.Count != 0) {
        Count = other.Count;
      }
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Count = input.ReadInt32();
            break;
          }
          case 18: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Count = input.ReadInt32();
            break;
          }
          case 18: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class DeleteRockstarFilters : pb::IMessage<DeleteRockstarFilters>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DeleteRockstarFilters> _parser = new pb::MessageParser<DeleteRockstarFilters>(() => new DeleteRockstarFilters());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DeleteRockstarFilters> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[50]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteRockstarFilters() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteRockstarFilters(DeleteRockstarFilters other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteRockstarFilters Clone() {
      return new DeleteRockstarFilters(this);
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 1;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 2;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DeleteRockstarFilters);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DeleteRockstarFilters other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DeleteRockstarFilters other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class DeleteTodo : pb::IMessage<DeleteTodo>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DeleteTodo> _parser = new pb::MessageParser<DeleteTodo>(() => new DeleteTodo());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DeleteTodo> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[51]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteTodo() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteTodo(DeleteTodo other) : this() {
      id_ = other.id_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteTodo Clone() {
      return new DeleteTodo(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private long id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DeleteTodo);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DeleteTodo other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0L) hash ^= Id.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Id);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DeleteTodo other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0L) {
        Id = other.Id;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt64();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt64();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class DeleteTodos : pb::IMessage<DeleteTodos>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DeleteTodos> _parser = new pb::MessageParser<DeleteTodos>(() => new DeleteTodos());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DeleteTodos> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[52]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteTodos() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteTodos(DeleteTodos other) : this() {
      ids_ = other.ids_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteTodos Clone() {
      return new DeleteTodos(this);
    }

    /// <summary>Field number for the "Ids" field.</summary>
    public const int IdsFieldNumber = 1;
    private static readonly pb::FieldCodec<long> _repeated_ids_codec
        = pb::FieldCodec.ForInt64(8);
    private readonly pbc::RepeatedField<long> ids_ = new pbc::RepeatedField<long>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<long> Ids {
      get { return ids_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DeleteTodos);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DeleteTodos other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!ids_.Equals(other.ids_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= ids_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      ids_.WriteTo(output, _repeated_ids_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      ids_.WriteTo(ref output, _repeated_ids_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += ids_.CalculateSize(_repeated_ids_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DeleteTodos other) {
      if (other == null) {
        return;
      }
      ids_.Add(other.ids_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10:
          case 8: {
            ids_.AddEntriesFrom(input, _repeated_ids_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10:
          case 8: {
            ids_.AddEntriesFrom(ref input, _repeated_ids_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class DynamicRequest : pb::IMessage<DynamicRequest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DynamicRequest> _parser = new pb::MessageParser<DynamicRequest>(() => new DynamicRequest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DynamicRequest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[53]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DynamicRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DynamicRequest(DynamicRequest other) : this() {
      params_ = other.params_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DynamicRequest Clone() {
      return new DynamicRequest(this);
    }

    /// <summary>Field number for the "Params" field.</summary>
    public const int ParamsFieldNumber = 1;
    private static readonly pbc::MapField<string, string>.Codec _map_params_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 10);
    private readonly pbc::MapField<string, string> params_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Params {
      get { return params_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DynamicRequest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DynamicRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!Params.Equals(other.Params)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= Params.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      params_.WriteTo(output, _map_params_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      params_.WriteTo(ref output, _map_params_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += params_.CalculateSize(_map_params_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DynamicRequest other) {
      if (other == null) {
        return;
      }
      params_.Add(other.params_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            params_.AddEntriesFrom(input, _map_params_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            params_.AddEntriesFrom(ref input, _map_params_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class DynamicValidationRules : pb::IMessage<DynamicValidationRules>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DynamicValidationRules> _parser = new pb::MessageParser<DynamicValidationRules>(() => new DynamicValidationRules());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DynamicValidationRules> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[54]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DynamicValidationRules() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DynamicValidationRules(DynamicValidationRules other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DynamicValidationRules Clone() {
      return new DynamicValidationRules(this);
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 1;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 2;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 5;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DynamicValidationRules);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DynamicValidationRules other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(40);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(40);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DynamicValidationRules other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 40: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 40: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class EmptyResponse : pb::IMessage<EmptyResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<EmptyResponse> _parser = new pb::MessageParser<EmptyResponse>(() => new EmptyResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<EmptyResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[55]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EmptyResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EmptyResponse(EmptyResponse other) : this() {
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EmptyResponse Clone() {
      return new EmptyResponse(this);
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 1;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as EmptyResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(EmptyResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (responseStatus_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (responseStatus_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(EmptyResponse other) {
      if (other == null) {
        return;
      }
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class EmptyValidators : pb::IMessage<EmptyValidators>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<EmptyValidators> _parser = new pb::MessageParser<EmptyValidators>(() => new EmptyValidators());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<EmptyValidators> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[56]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EmptyValidators() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EmptyValidators(EmptyValidators other) : this() {
      int_ = other.int_;
      nInt_ = other.nInt_;
      timeSpan_ = other.timeSpan_ != null ? other.timeSpan_.Clone() : null;
      nTimeSpan_ = other.nTimeSpan_ != null ? other.nTimeSpan_.Clone() : null;
      string_ = other.string_;
      intArray_ = other.intArray_.Clone();
      stringList_ = other.stringList_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EmptyValidators Clone() {
      return new EmptyValidators(this);
    }

    /// <summary>Field number for the "Int" field.</summary>
    public const int IntFieldNumber = 1;
    private int int_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Int {
      get { return int_; }
      set {
        int_ = value;
      }
    }

    /// <summary>Field number for the "NInt" field.</summary>
    public const int NIntFieldNumber = 2;
    private int nInt_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NInt {
      get { return nInt_; }
      set {
        nInt_ = value;
      }
    }

    /// <summary>Field number for the "TimeSpan" field.</summary>
    public const int TimeSpanFieldNumber = 3;
    private global::Google.Protobuf.WellKnownTypes.Duration timeSpan_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Duration TimeSpan {
      get { return timeSpan_; }
      set {
        timeSpan_ = value;
      }
    }

    /// <summary>Field number for the "NTimeSpan" field.</summary>
    public const int NTimeSpanFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Duration nTimeSpan_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Duration NTimeSpan {
      get { return nTimeSpan_; }
      set {
        nTimeSpan_ = value;
      }
    }

    /// <summary>Field number for the "String" field.</summary>
    public const int StringFieldNumber = 5;
    private string string_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string String {
      get { return string_; }
      set {
        string_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "IntArray" field.</summary>
    public const int IntArrayFieldNumber = 6;
    private static readonly pb::FieldCodec<int> _repeated_intArray_codec
        = pb::FieldCodec.ForInt32(48);
    private readonly pbc::RepeatedField<int> intArray_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> IntArray {
      get { return intArray_; }
    }

    /// <summary>Field number for the "StringList" field.</summary>
    public const int StringListFieldNumber = 7;
    private static readonly pb::FieldCodec<string> _repeated_stringList_codec
        = pb::FieldCodec.ForString(58);
    private readonly pbc::RepeatedField<string> stringList_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> StringList {
      get { return stringList_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as EmptyValidators);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(EmptyValidators other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Int != other.Int) return false;
      if (NInt != other.NInt) return false;
      if (!object.Equals(TimeSpan, other.TimeSpan)) return false;
      if (!object.Equals(NTimeSpan, other.NTimeSpan)) return false;
      if (String != other.String) return false;
      if(!intArray_.Equals(other.intArray_)) return false;
      if(!stringList_.Equals(other.stringList_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Int != 0) hash ^= Int.GetHashCode();
      if (NInt != 0) hash ^= NInt.GetHashCode();
      if (timeSpan_ != null) hash ^= TimeSpan.GetHashCode();
      if (nTimeSpan_ != null) hash ^= NTimeSpan.GetHashCode();
      if (String.Length != 0) hash ^= String.GetHashCode();
      hash ^= intArray_.GetHashCode();
      hash ^= stringList_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Int != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Int);
      }
      if (NInt != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(NInt);
      }
      if (timeSpan_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(TimeSpan);
      }
      if (nTimeSpan_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(NTimeSpan);
      }
      if (String.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(String);
      }
      intArray_.WriteTo(output, _repeated_intArray_codec);
      stringList_.WriteTo(output, _repeated_stringList_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Int != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Int);
      }
      if (NInt != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(NInt);
      }
      if (timeSpan_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(TimeSpan);
      }
      if (nTimeSpan_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(NTimeSpan);
      }
      if (String.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(String);
      }
      intArray_.WriteTo(ref output, _repeated_intArray_codec);
      stringList_.WriteTo(ref output, _repeated_stringList_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Int != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Int);
      }
      if (NInt != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NInt);
      }
      if (timeSpan_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(TimeSpan);
      }
      if (nTimeSpan_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(NTimeSpan);
      }
      if (String.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(String);
      }
      size += intArray_.CalculateSize(_repeated_intArray_codec);
      size += stringList_.CalculateSize(_repeated_stringList_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(EmptyValidators other) {
      if (other == null) {
        return;
      }
      if (other.Int != 0) {
        Int = other.Int;
      }
      if (other.NInt != 0) {
        NInt = other.NInt;
      }
      if (other.timeSpan_ != null) {
        if (timeSpan_ == null) {
          TimeSpan = new global::Google.Protobuf.WellKnownTypes.Duration();
        }
        TimeSpan.MergeFrom(other.TimeSpan);
      }
      if (other.nTimeSpan_ != null) {
        if (nTimeSpan_ == null) {
          NTimeSpan = new global::Google.Protobuf.WellKnownTypes.Duration();
        }
        NTimeSpan.MergeFrom(other.NTimeSpan);
      }
      if (other.String.Length != 0) {
        String = other.String;
      }
      intArray_.Add(other.intArray_);
      stringList_.Add(other.stringList_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Int = input.ReadInt32();
            break;
          }
          case 16: {
            NInt = input.ReadInt32();
            break;
          }
          case 26: {
            if (timeSpan_ == null) {
              TimeSpan = new global::Google.Protobuf.WellKnownTypes.Duration();
            }
            input.ReadMessage(TimeSpan);
            break;
          }
          case 34: {
            if (nTimeSpan_ == null) {
              NTimeSpan = new global::Google.Protobuf.WellKnownTypes.Duration();
            }
            input.ReadMessage(NTimeSpan);
            break;
          }
          case 42: {
            String = input.ReadString();
            break;
          }
          case 50:
          case 48: {
            intArray_.AddEntriesFrom(input, _repeated_intArray_codec);
            break;
          }
          case 58: {
            stringList_.AddEntriesFrom(input, _repeated_stringList_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Int = input.ReadInt32();
            break;
          }
          case 16: {
            NInt = input.ReadInt32();
            break;
          }
          case 26: {
            if (timeSpan_ == null) {
              TimeSpan = new global::Google.Protobuf.WellKnownTypes.Duration();
            }
            input.ReadMessage(TimeSpan);
            break;
          }
          case 34: {
            if (nTimeSpan_ == null) {
              NTimeSpan = new global::Google.Protobuf.WellKnownTypes.Duration();
            }
            input.ReadMessage(NTimeSpan);
            break;
          }
          case 42: {
            String = input.ReadString();
            break;
          }
          case 50:
          case 48: {
            intArray_.AddEntriesFrom(ref input, _repeated_intArray_codec);
            break;
          }
          case 58: {
            stringList_.AddEntriesFrom(ref input, _repeated_stringList_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class EndsWithSuffixRequest : pb::IMessage<EndsWithSuffixRequest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<EndsWithSuffixRequest> _parser = new pb::MessageParser<EndsWithSuffixRequest>(() => new EndsWithSuffixRequest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<EndsWithSuffixRequest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[57]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EndsWithSuffixRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EndsWithSuffixRequest(EndsWithSuffixRequest other) : this() {
      suffix_ = other.suffix_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EndsWithSuffixRequest Clone() {
      return new EndsWithSuffixRequest(this);
    }

    /// <summary>Field number for the "Suffix" field.</summary>
    public const int SuffixFieldNumber = 1;
    private string suffix_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Suffix {
      get { return suffix_; }
      set {
        suffix_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as EndsWithSuffixRequest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(EndsWithSuffixRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Suffix != other.Suffix) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Suffix.Length != 0) hash ^= Suffix.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Suffix.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Suffix);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Suffix.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Suffix);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Suffix.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Suffix);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(EndsWithSuffixRequest other) {
      if (other == null) {
        return;
      }
      if (other.Suffix.Length != 0) {
        Suffix = other.Suffix;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Suffix = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Suffix = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class EndsWithSuffixResponse : pb::IMessage<EndsWithSuffixResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<EndsWithSuffixResponse> _parser = new pb::MessageParser<EndsWithSuffixResponse>(() => new EndsWithSuffixResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<EndsWithSuffixResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[58]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EndsWithSuffixResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EndsWithSuffixResponse(EndsWithSuffixResponse other) : this() {
      result_ = other.result_ != null ? other.result_.Clone() : null;
      count_ = other.count_;
      words_ = other.words_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EndsWithSuffixResponse Clone() {
      return new EndsWithSuffixResponse(this);
    }

    /// <summary>Field number for the "Result" field.</summary>
    public const int ResultFieldNumber = 1;
    private global::ServiceStack.Extensions.Tests.Protoc.SearchResult result_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.SearchResult Result {
      get { return result_; }
      set {
        result_ = value;
      }
    }

    /// <summary>Field number for the "Count" field.</summary>
    public const int CountFieldNumber = 2;
    private int count_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Count {
      get { return count_; }
      set {
        count_ = value;
      }
    }

    /// <summary>Field number for the "Words" field.</summary>
    public const int WordsFieldNumber = 3;
    private static readonly pb::FieldCodec<string> _repeated_words_codec
        = pb::FieldCodec.ForString(26);
    private readonly pbc::RepeatedField<string> words_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> Words {
      get { return words_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as EndsWithSuffixResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(EndsWithSuffixResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(Result, other.Result)) return false;
      if (Count != other.Count) return false;
      if(!words_.Equals(other.words_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (result_ != null) hash ^= Result.GetHashCode();
      if (Count != 0) hash ^= Count.GetHashCode();
      hash ^= words_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (result_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(Result);
      }
      if (Count != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Count);
      }
      words_.WriteTo(output, _repeated_words_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (result_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(Result);
      }
      if (Count != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Count);
      }
      words_.WriteTo(ref output, _repeated_words_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (result_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Result);
      }
      if (Count != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
      }
      size += words_.CalculateSize(_repeated_words_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(EndsWithSuffixResponse other) {
      if (other == null) {
        return;
      }
      if (other.result_ != null) {
        if (result_ == null) {
          Result = new global::ServiceStack.Extensions.Tests.Protoc.SearchResult();
        }
        Result.MergeFrom(other.Result);
      }
      if (other.Count != 0) {
        Count = other.Count;
      }
      words_.Add(other.words_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            if (result_ == null) {
              Result = new global::ServiceStack.Extensions.Tests.Protoc.SearchResult();
            }
            input.ReadMessage(Result);
            break;
          }
          case 16: {
            Count = input.ReadInt32();
            break;
          }
          case 26: {
            words_.AddEntriesFrom(input, _repeated_words_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            if (result_ == null) {
              Result = new global::ServiceStack.Extensions.Tests.Protoc.SearchResult();
            }
            input.ReadMessage(Result);
            break;
          }
          case 16: {
            Count = input.ReadInt32();
            break;
          }
          case 26: {
            words_.AddEntriesFrom(ref input, _repeated_words_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class FileContent : pb::IMessage<FileContent>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<FileContent> _parser = new pb::MessageParser<FileContent>(() => new FileContent());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<FileContent> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[59]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public FileContent() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public FileContent(FileContent other) : this() {
      name_ = other.name_;
      type_ = other.type_;
      length_ = other.length_;
      body_ = other.body_;
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public FileContent Clone() {
      return new FileContent(this);
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 1;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Type" field.</summary>
    public const int TypeFieldNumber = 2;
    private string type_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Type {
      get { return type_; }
      set {
        type_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Length" field.</summary>
    public const int LengthFieldNumber = 3;
    private int length_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Length {
      get { return length_; }
      set {
        length_ = value;
      }
    }

    /// <summary>Field number for the "Body" field.</summary>
    public const int BodyFieldNumber = 4;
    private pb::ByteString body_ = pb::ByteString.Empty;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pb::ByteString Body {
      get { return body_; }
      set {
        body_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 5;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as FileContent);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(FileContent other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Name != other.Name) return false;
      if (Type != other.Type) return false;
      if (Length != other.Length) return false;
      if (Body != other.Body) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Type.Length != 0) hash ^= Type.GetHashCode();
      if (Length != 0) hash ^= Length.GetHashCode();
      if (Body.Length != 0) hash ^= Body.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (Type.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Type);
      }
      if (Length != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Length);
      }
      if (Body.Length != 0) {
        output.WriteRawTag(34);
        output.WriteBytes(Body);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (Type.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Type);
      }
      if (Length != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Length);
      }
      if (Body.Length != 0) {
        output.WriteRawTag(34);
        output.WriteBytes(Body);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Type.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Type);
      }
      if (Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Length);
      }
      if (Body.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeBytesSize(Body);
      }
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(FileContent other) {
      if (other == null) {
        return;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Type.Length != 0) {
        Type = other.Type;
      }
      if (other.Length != 0) {
        Length = other.Length;
      }
      if (other.Body.Length != 0) {
        Body = other.Body;
      }
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            Type = input.ReadString();
            break;
          }
          case 24: {
            Length = input.ReadInt32();
            break;
          }
          case 34: {
            Body = input.ReadBytes();
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            Type = input.ReadString();
            break;
          }
          case 24: {
            Length = input.ReadInt32();
            break;
          }
          case 34: {
            Body = input.ReadBytes();
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Foo : pb::IMessage<Foo>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Foo> _parser = new pb::MessageParser<Foo>(() => new Foo());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Foo> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[60]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Foo() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Foo(Foo other) : this() {
      x_ = other.x_;
      switch (other.SubtypeCase) {
        case SubtypeOneofCase.Bar:
          Bar = other.Bar.Clone();
          break;
      }

      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Foo Clone() {
      return new Foo(this);
    }

    /// <summary>Field number for the "X" field.</summary>
    public const int XFieldNumber = 1;
    private string x_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string X {
      get { return x_; }
      set {
        x_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Bar" field.</summary>
    public const int BarFieldNumber = 210304982;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.Bar Bar {
      get { return subtypeCase_ == SubtypeOneofCase.Bar ? (global::ServiceStack.Extensions.Tests.Protoc.Bar) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.Bar;
      }
    }

    private object subtype_;
    /// <summary>Enum of possible cases for the "subtype" oneof.</summary>
    public enum SubtypeOneofCase {
      None = 0,
      Bar = 210304982,
    }
    private SubtypeOneofCase subtypeCase_ = SubtypeOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SubtypeOneofCase SubtypeCase {
      get { return subtypeCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearSubtype() {
      subtypeCase_ = SubtypeOneofCase.None;
      subtype_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Foo);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Foo other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (X != other.X) return false;
      if (!object.Equals(Bar, other.Bar)) return false;
      if (SubtypeCase != other.SubtypeCase) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (X.Length != 0) hash ^= X.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.Bar) hash ^= Bar.GetHashCode();
      hash ^= (int) subtypeCase_;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (X.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(X);
      }
      if (subtypeCase_ == SubtypeOneofCase.Bar) {
        output.WriteRawTag(178, 253, 159, 162, 6);
        output.WriteMessage(Bar);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (X.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(X);
      }
      if (subtypeCase_ == SubtypeOneofCase.Bar) {
        output.WriteRawTag(178, 253, 159, 162, 6);
        output.WriteMessage(Bar);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (X.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(X);
      }
      if (subtypeCase_ == SubtypeOneofCase.Bar) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(Bar);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Foo other) {
      if (other == null) {
        return;
      }
      if (other.X.Length != 0) {
        X = other.X;
      }
      switch (other.SubtypeCase) {
        case SubtypeOneofCase.Bar:
          if (Bar == null) {
            Bar = new global::ServiceStack.Extensions.Tests.Protoc.Bar();
          }
          Bar.MergeFrom(other.Bar);
          break;
      }

      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            X = input.ReadString();
            break;
          }
          case 1682439858: {
            global::ServiceStack.Extensions.Tests.Protoc.Bar subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.Bar();
            if (subtypeCase_ == SubtypeOneofCase.Bar) {
              subBuilder.MergeFrom(Bar);
            }
            input.ReadMessage(subBuilder);
            Bar = subBuilder;
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            X = input.ReadString();
            break;
          }
          case 1682439858: {
            global::ServiceStack.Extensions.Tests.Protoc.Bar subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.Bar();
            if (subtypeCase_ == SubtypeOneofCase.Bar) {
              subBuilder.MergeFrom(Bar);
            }
            input.ReadMessage(subBuilder);
            Bar = subBuilder;
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class GetAccessToken : pb::IMessage<GetAccessToken>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<GetAccessToken> _parser = new pb::MessageParser<GetAccessToken>(() => new GetAccessToken());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<GetAccessToken> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[61]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetAccessToken() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetAccessToken(GetAccessToken other) : this() {
      refreshToken_ = other.refreshToken_;
      meta_ = other.meta_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetAccessToken Clone() {
      return new GetAccessToken(this);
    }

    /// <summary>Field number for the "RefreshToken" field.</summary>
    public const int RefreshTokenFieldNumber = 1;
    private string refreshToken_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RefreshToken {
      get { return refreshToken_; }
      set {
        refreshToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 2;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 18);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as GetAccessToken);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(GetAccessToken other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (RefreshToken != other.RefreshToken) return false;
      if (!Meta.Equals(other.Meta)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (RefreshToken.Length != 0) hash ^= RefreshToken.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (RefreshToken.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(RefreshToken);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (RefreshToken.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(RefreshToken);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (RefreshToken.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(RefreshToken);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(GetAccessToken other) {
      if (other == null) {
        return;
      }
      if (other.RefreshToken.Length != 0) {
        RefreshToken = other.RefreshToken;
      }
      meta_.Add(other.meta_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            RefreshToken = input.ReadString();
            break;
          }
          case 18: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            RefreshToken = input.ReadString();
            break;
          }
          case 18: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class GetAccessTokenResponse : pb::IMessage<GetAccessTokenResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<GetAccessTokenResponse> _parser = new pb::MessageParser<GetAccessTokenResponse>(() => new GetAccessTokenResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<GetAccessTokenResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[62]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetAccessTokenResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetAccessTokenResponse(GetAccessTokenResponse other) : this() {
      accessToken_ = other.accessToken_;
      meta_ = other.meta_.Clone();
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetAccessTokenResponse Clone() {
      return new GetAccessTokenResponse(this);
    }

    /// <summary>Field number for the "AccessToken" field.</summary>
    public const int AccessTokenFieldNumber = 1;
    private string accessToken_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AccessToken {
      get { return accessToken_; }
      set {
        accessToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 2;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 18);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 3;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as GetAccessTokenResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(GetAccessTokenResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (AccessToken != other.AccessToken) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (AccessToken.Length != 0) hash ^= AccessToken.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (AccessToken.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(AccessToken);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (AccessToken.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(AccessToken);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (AccessToken.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AccessToken);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(GetAccessTokenResponse other) {
      if (other == null) {
        return;
      }
      if (other.AccessToken.Length != 0) {
        AccessToken = other.AccessToken;
      }
      meta_.Add(other.meta_);
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            AccessToken = input.ReadString();
            break;
          }
          case 18: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 26: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            AccessToken = input.ReadString();
            break;
          }
          case 18: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 26: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class GetApiKeys : pb::IMessage<GetApiKeys>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<GetApiKeys> _parser = new pb::MessageParser<GetApiKeys>(() => new GetApiKeys());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<GetApiKeys> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[63]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetApiKeys() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetApiKeys(GetApiKeys other) : this() {
      environment_ = other.environment_;
      meta_ = other.meta_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetApiKeys Clone() {
      return new GetApiKeys(this);
    }

    /// <summary>Field number for the "Environment" field.</summary>
    public const int EnvironmentFieldNumber = 1;
    private string environment_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Environment {
      get { return environment_; }
      set {
        environment_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 2;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 18);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as GetApiKeys);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(GetApiKeys other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Environment != other.Environment) return false;
      if (!Meta.Equals(other.Meta)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Environment.Length != 0) hash ^= Environment.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Environment.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Environment);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Environment.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Environment);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Environment.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Environment);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(GetApiKeys other) {
      if (other == null) {
        return;
      }
      if (other.Environment.Length != 0) {
        Environment = other.Environment;
      }
      meta_.Add(other.meta_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Environment = input.ReadString();
            break;
          }
          case 18: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Environment = input.ReadString();
            break;
          }
          case 18: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class GetApiKeysResponse : pb::IMessage<GetApiKeysResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<GetApiKeysResponse> _parser = new pb::MessageParser<GetApiKeysResponse>(() => new GetApiKeysResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<GetApiKeysResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[64]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetApiKeysResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetApiKeysResponse(GetApiKeysResponse other) : this() {
      results_ = other.results_.Clone();
      meta_ = other.meta_.Clone();
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetApiKeysResponse Clone() {
      return new GetApiKeysResponse(this);
    }

    /// <summary>Field number for the "Results" field.</summary>
    public const int ResultsFieldNumber = 1;
    private static readonly pb::FieldCodec<global::ServiceStack.Extensions.Tests.Protoc.UserApiKey> _repeated_results_codec
        = pb::FieldCodec.ForMessage(10, global::ServiceStack.Extensions.Tests.Protoc.UserApiKey.Parser);
    private readonly pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.UserApiKey> results_ = new pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.UserApiKey>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.UserApiKey> Results {
      get { return results_; }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 2;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 18);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 3;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as GetApiKeysResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(GetApiKeysResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!results_.Equals(other.results_)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= results_.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      results_.WriteTo(output, _repeated_results_codec);
      meta_.WriteTo(output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      results_.WriteTo(ref output, _repeated_results_codec);
      meta_.WriteTo(ref output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += results_.CalculateSize(_repeated_results_codec);
      size += meta_.CalculateSize(_map_meta_codec);
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(GetApiKeysResponse other) {
      if (other == null) {
        return;
      }
      results_.Add(other.results_);
      meta_.Add(other.meta_);
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            results_.AddEntriesFrom(input, _repeated_results_codec);
            break;
          }
          case 18: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 26: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            results_.AddEntriesFrom(ref input, _repeated_results_codec);
            break;
          }
          case 18: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 26: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class GetFile : pb::IMessage<GetFile>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<GetFile> _parser = new pb::MessageParser<GetFile>(() => new GetFile());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<GetFile> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[65]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetFile() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetFile(GetFile other) : this() {
      path_ = other.path_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetFile Clone() {
      return new GetFile(this);
    }

    /// <summary>Field number for the "Path" field.</summary>
    public const int PathFieldNumber = 1;
    private string path_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Path {
      get { return path_; }
      set {
        path_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as GetFile);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(GetFile other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Path != other.Path) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Path.Length != 0) hash ^= Path.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Path.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Path);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Path.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Path);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Path.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Path);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(GetFile other) {
      if (other == null) {
        return;
      }
      if (other.Path.Length != 0) {
        Path = other.Path;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Path = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Path = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class GetHello : pb::IMessage<GetHello>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<GetHello> _parser = new pb::MessageParser<GetHello>(() => new GetHello());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<GetHello> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[66]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetHello() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetHello(GetHello other) : this() {
      name_ = other.name_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetHello Clone() {
      return new GetHello(this);
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 1;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as GetHello);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(GetHello other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Name != other.Name) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(GetHello other) {
      if (other == null) {
        return;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class GetTodo : pb::IMessage<GetTodo>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<GetTodo> _parser = new pb::MessageParser<GetTodo>(() => new GetTodo());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<GetTodo> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[67]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetTodo() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetTodo(GetTodo other) : this() {
      id_ = other.id_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetTodo Clone() {
      return new GetTodo(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private long id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as GetTodo);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(GetTodo other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0L) hash ^= Id.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Id);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(GetTodo other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0L) {
        Id = other.Id;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt64();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt64();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class GetTodoResponse : pb::IMessage<GetTodoResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<GetTodoResponse> _parser = new pb::MessageParser<GetTodoResponse>(() => new GetTodoResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<GetTodoResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[68]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetTodoResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetTodoResponse(GetTodoResponse other) : this() {
      result_ = other.result_ != null ? other.result_.Clone() : null;
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetTodoResponse Clone() {
      return new GetTodoResponse(this);
    }

    /// <summary>Field number for the "Result" field.</summary>
    public const int ResultFieldNumber = 1;
    private global::ServiceStack.Extensions.Tests.Protoc.Todo result_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.Todo Result {
      get { return result_; }
      set {
        result_ = value;
      }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 2;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as GetTodoResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(GetTodoResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(Result, other.Result)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (result_ != null) hash ^= Result.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (result_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(Result);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (result_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(Result);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (result_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Result);
      }
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(GetTodoResponse other) {
      if (other == null) {
        return;
      }
      if (other.result_ != null) {
        if (result_ == null) {
          Result = new global::ServiceStack.Extensions.Tests.Protoc.Todo();
        }
        Result.MergeFrom(other.Result);
      }
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            if (result_ == null) {
              Result = new global::ServiceStack.Extensions.Tests.Protoc.Todo();
            }
            input.ReadMessage(Result);
            break;
          }
          case 18: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            if (result_ == null) {
              Result = new global::ServiceStack.Extensions.Tests.Protoc.Todo();
            }
            input.ReadMessage(Result);
            break;
          }
          case 18: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class GetTodos : pb::IMessage<GetTodos>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<GetTodos> _parser = new pb::MessageParser<GetTodos>(() => new GetTodos());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<GetTodos> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[69]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetTodos() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetTodos(GetTodos other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetTodos Clone() {
      return new GetTodos(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as GetTodos);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(GetTodos other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(GetTodos other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class GetTodosResponse : pb::IMessage<GetTodosResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<GetTodosResponse> _parser = new pb::MessageParser<GetTodosResponse>(() => new GetTodosResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<GetTodosResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[70]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetTodosResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetTodosResponse(GetTodosResponse other) : this() {
      results_ = other.results_.Clone();
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetTodosResponse Clone() {
      return new GetTodosResponse(this);
    }

    /// <summary>Field number for the "Results" field.</summary>
    public const int ResultsFieldNumber = 1;
    private static readonly pb::FieldCodec<global::ServiceStack.Extensions.Tests.Protoc.Todo> _repeated_results_codec
        = pb::FieldCodec.ForMessage(10, global::ServiceStack.Extensions.Tests.Protoc.Todo.Parser);
    private readonly pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.Todo> results_ = new pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.Todo>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.Todo> Results {
      get { return results_; }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 2;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as GetTodosResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(GetTodosResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!results_.Equals(other.results_)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= results_.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      results_.WriteTo(output, _repeated_results_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      results_.WriteTo(ref output, _repeated_results_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += results_.CalculateSize(_repeated_results_codec);
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(GetTodosResponse other) {
      if (other == null) {
        return;
      }
      results_.Add(other.results_);
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            results_.AddEntriesFrom(input, _repeated_results_codec);
            break;
          }
          case 18: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            results_.AddEntriesFrom(ref input, _repeated_results_codec);
            break;
          }
          case 18: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class HelloJwt : pb::IMessage<HelloJwt>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<HelloJwt> _parser = new pb::MessageParser<HelloJwt>(() => new HelloJwt());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<HelloJwt> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[71]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public HelloJwt() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public HelloJwt(HelloJwt other) : this() {
      name_ = other.name_;
      bearerToken_ = other.bearerToken_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public HelloJwt Clone() {
      return new HelloJwt(this);
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 1;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "BearerToken" field.</summary>
    public const int BearerTokenFieldNumber = 2;
    private string bearerToken_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BearerToken {
      get { return bearerToken_; }
      set {
        bearerToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as HelloJwt);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(HelloJwt other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Name != other.Name) return false;
      if (BearerToken != other.BearerToken) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (BearerToken.Length != 0) hash ^= BearerToken.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (BearerToken.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(BearerToken);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (BearerToken.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(BearerToken);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (BearerToken.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BearerToken);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(HelloJwt other) {
      if (other == null) {
        return;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.BearerToken.Length != 0) {
        BearerToken = other.BearerToken;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            BearerToken = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            BearerToken = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class HelloJwtResponse : pb::IMessage<HelloJwtResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<HelloJwtResponse> _parser = new pb::MessageParser<HelloJwtResponse>(() => new HelloJwtResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<HelloJwtResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[72]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public HelloJwtResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public HelloJwtResponse(HelloJwtResponse other) : this() {
      result_ = other.result_;
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public HelloJwtResponse Clone() {
      return new HelloJwtResponse(this);
    }

    /// <summary>Field number for the "Result" field.</summary>
    public const int ResultFieldNumber = 1;
    private string result_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Result {
      get { return result_; }
      set {
        result_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 2;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as HelloJwtResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(HelloJwtResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Result != other.Result) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Result.Length != 0) hash ^= Result.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Result.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Result);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Result.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Result);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Result.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Result);
      }
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(HelloJwtResponse other) {
      if (other == null) {
        return;
      }
      if (other.Result.Length != 0) {
        Result = other.Result;
      }
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Result = input.ReadString();
            break;
          }
          case 18: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Result = input.ReadString();
            break;
          }
          case 18: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class HelloResponse : pb::IMessage<HelloResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<HelloResponse> _parser = new pb::MessageParser<HelloResponse>(() => new HelloResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<HelloResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[73]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public HelloResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public HelloResponse(HelloResponse other) : this() {
      result_ = other.result_;
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public HelloResponse Clone() {
      return new HelloResponse(this);
    }

    /// <summary>Field number for the "Result" field.</summary>
    public const int ResultFieldNumber = 1;
    private string result_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Result {
      get { return result_; }
      set {
        result_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 2;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as HelloResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(HelloResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Result != other.Result) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Result.Length != 0) hash ^= Result.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Result.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Result);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Result.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Result);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Result.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Result);
      }
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(HelloResponse other) {
      if (other == null) {
        return;
      }
      if (other.Result.Length != 0) {
        Result = other.Result;
      }
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Result = input.ReadString();
            break;
          }
          case 18: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Result = input.ReadString();
            break;
          }
          case 18: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class IdResponse : pb::IMessage<IdResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<IdResponse> _parser = new pb::MessageParser<IdResponse>(() => new IdResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<IdResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[74]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public IdResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public IdResponse(IdResponse other) : this() {
      id_ = other.id_;
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public IdResponse Clone() {
      return new IdResponse(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private string id_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Id {
      get { return id_; }
      set {
        id_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 2;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as IdResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(IdResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id.Length != 0) hash ^= Id.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
      }
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(IdResponse other) {
      if (other == null) {
        return;
      }
      if (other.Id.Length != 0) {
        Id = other.Id;
      }
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Incr : pb::IMessage<Incr>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Incr> _parser = new pb::MessageParser<Incr>(() => new Incr());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Incr> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[75]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Incr() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Incr(Incr other) : this() {
      amount_ = other.amount_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Incr Clone() {
      return new Incr(this);
    }

    /// <summary>Field number for the "Amount" field.</summary>
    public const int AmountFieldNumber = 1;
    private int amount_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Amount {
      get { return amount_; }
      set {
        amount_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Incr);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Incr other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Amount != other.Amount) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Amount != 0) hash ^= Amount.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Amount != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Amount);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Amount != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Amount);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Amount != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Amount);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Incr other) {
      if (other == null) {
        return;
      }
      if (other.Amount != 0) {
        Amount = other.Amount;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Amount = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Amount = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Movie : pb::IMessage<Movie>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Movie> _parser = new pb::MessageParser<Movie>(() => new Movie());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Movie> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[76]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Movie() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Movie(Movie other) : this() {
      id_ = other.id_;
      imdbId_ = other.imdbId_;
      title_ = other.title_;
      rating_ = other.rating_;
      score_ = other.score_;
      director_ = other.director_;
      releaseDate_ = other.releaseDate_ != null ? other.releaseDate_.Clone() : null;
      tagLine_ = other.tagLine_;
      genres_ = other.genres_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Movie Clone() {
      return new Movie(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "ImdbId" field.</summary>
    public const int ImdbIdFieldNumber = 2;
    private string imdbId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ImdbId {
      get { return imdbId_; }
      set {
        imdbId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 3;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Rating" field.</summary>
    public const int RatingFieldNumber = 4;
    private string rating_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Rating {
      get { return rating_; }
      set {
        rating_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Score" field.</summary>
    public const int ScoreFieldNumber = 5;
    private string score_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Score {
      get { return score_; }
      set {
        score_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Director" field.</summary>
    public const int DirectorFieldNumber = 6;
    private string director_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Director {
      get { return director_; }
      set {
        director_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ReleaseDate" field.</summary>
    public const int ReleaseDateFieldNumber = 7;
    private global::Google.Protobuf.WellKnownTypes.Timestamp releaseDate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp ReleaseDate {
      get { return releaseDate_; }
      set {
        releaseDate_ = value;
      }
    }

    /// <summary>Field number for the "TagLine" field.</summary>
    public const int TagLineFieldNumber = 8;
    private string tagLine_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TagLine {
      get { return tagLine_; }
      set {
        tagLine_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Genres" field.</summary>
    public const int GenresFieldNumber = 9;
    private static readonly pb::FieldCodec<string> _repeated_genres_codec
        = pb::FieldCodec.ForString(74);
    private readonly pbc::RepeatedField<string> genres_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> Genres {
      get { return genres_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Movie);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Movie other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (ImdbId != other.ImdbId) return false;
      if (Title != other.Title) return false;
      if (Rating != other.Rating) return false;
      if (Score != other.Score) return false;
      if (Director != other.Director) return false;
      if (!object.Equals(ReleaseDate, other.ReleaseDate)) return false;
      if (TagLine != other.TagLine) return false;
      if(!genres_.Equals(other.genres_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (ImdbId.Length != 0) hash ^= ImdbId.GetHashCode();
      if (Title.Length != 0) hash ^= Title.GetHashCode();
      if (Rating.Length != 0) hash ^= Rating.GetHashCode();
      if (Score.Length != 0) hash ^= Score.GetHashCode();
      if (Director.Length != 0) hash ^= Director.GetHashCode();
      if (releaseDate_ != null) hash ^= ReleaseDate.GetHashCode();
      if (TagLine.Length != 0) hash ^= TagLine.GetHashCode();
      hash ^= genres_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (ImdbId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(ImdbId);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Title);
      }
      if (Rating.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Rating);
      }
      if (Score.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Score);
      }
      if (Director.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Director);
      }
      if (releaseDate_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(ReleaseDate);
      }
      if (TagLine.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(TagLine);
      }
      genres_.WriteTo(output, _repeated_genres_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (ImdbId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(ImdbId);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Title);
      }
      if (Rating.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Rating);
      }
      if (Score.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Score);
      }
      if (Director.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Director);
      }
      if (releaseDate_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(ReleaseDate);
      }
      if (TagLine.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(TagLine);
      }
      genres_.WriteTo(ref output, _repeated_genres_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (ImdbId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ImdbId);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (Rating.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Rating);
      }
      if (Score.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Score);
      }
      if (Director.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Director);
      }
      if (releaseDate_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ReleaseDate);
      }
      if (TagLine.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(TagLine);
      }
      size += genres_.CalculateSize(_repeated_genres_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Movie other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.ImdbId.Length != 0) {
        ImdbId = other.ImdbId;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.Rating.Length != 0) {
        Rating = other.Rating;
      }
      if (other.Score.Length != 0) {
        Score = other.Score;
      }
      if (other.Director.Length != 0) {
        Director = other.Director;
      }
      if (other.releaseDate_ != null) {
        if (releaseDate_ == null) {
          ReleaseDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        ReleaseDate.MergeFrom(other.ReleaseDate);
      }
      if (other.TagLine.Length != 0) {
        TagLine = other.TagLine;
      }
      genres_.Add(other.genres_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            ImdbId = input.ReadString();
            break;
          }
          case 26: {
            Title = input.ReadString();
            break;
          }
          case 34: {
            Rating = input.ReadString();
            break;
          }
          case 42: {
            Score = input.ReadString();
            break;
          }
          case 50: {
            Director = input.ReadString();
            break;
          }
          case 58: {
            if (releaseDate_ == null) {
              ReleaseDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(ReleaseDate);
            break;
          }
          case 66: {
            TagLine = input.ReadString();
            break;
          }
          case 74: {
            genres_.AddEntriesFrom(input, _repeated_genres_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            ImdbId = input.ReadString();
            break;
          }
          case 26: {
            Title = input.ReadString();
            break;
          }
          case 34: {
            Rating = input.ReadString();
            break;
          }
          case 42: {
            Score = input.ReadString();
            break;
          }
          case 50: {
            Director = input.ReadString();
            break;
          }
          case 58: {
            if (releaseDate_ == null) {
              ReleaseDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(ReleaseDate);
            break;
          }
          case 66: {
            TagLine = input.ReadString();
            break;
          }
          case 74: {
            genres_.AddEntriesFrom(ref input, _repeated_genres_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Multiply : pb::IMessage<Multiply>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Multiply> _parser = new pb::MessageParser<Multiply>(() => new Multiply());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Multiply> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[77]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Multiply() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Multiply(Multiply other) : this() {
      x_ = other.x_;
      y_ = other.y_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Multiply Clone() {
      return new Multiply(this);
    }

    /// <summary>Field number for the "X" field.</summary>
    public const int XFieldNumber = 1;
    private int x_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int X {
      get { return x_; }
      set {
        x_ = value;
      }
    }

    /// <summary>Field number for the "Y" field.</summary>
    public const int YFieldNumber = 2;
    private int y_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Y {
      get { return y_; }
      set {
        y_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Multiply);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Multiply other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (X != other.X) return false;
      if (Y != other.Y) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (X != 0) hash ^= X.GetHashCode();
      if (Y != 0) hash ^= Y.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (X != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(X);
      }
      if (Y != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Y);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (X != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(X);
      }
      if (Y != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Y);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (X != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(X);
      }
      if (Y != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Y);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Multiply other) {
      if (other == null) {
        return;
      }
      if (other.X != 0) {
        X = other.X;
      }
      if (other.Y != 0) {
        Y = other.Y;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            X = input.ReadInt32();
            break;
          }
          case 16: {
            Y = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            X = input.ReadInt32();
            break;
          }
          case 16: {
            Y = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class MultiplyResponse : pb::IMessage<MultiplyResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<MultiplyResponse> _parser = new pb::MessageParser<MultiplyResponse>(() => new MultiplyResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<MultiplyResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[78]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MultiplyResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MultiplyResponse(MultiplyResponse other) : this() {
      result_ = other.result_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MultiplyResponse Clone() {
      return new MultiplyResponse(this);
    }

    /// <summary>Field number for the "Result" field.</summary>
    public const int ResultFieldNumber = 1;
    private int result_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Result {
      get { return result_; }
      set {
        result_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as MultiplyResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(MultiplyResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Result != other.Result) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Result != 0) hash ^= Result.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Result != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Result);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Result != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Result);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Result != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Result);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(MultiplyResponse other) {
      if (other == null) {
        return;
      }
      if (other.Result != 0) {
        Result = other.Result;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Result = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Result = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class NamedRockstar : pb::IMessage<NamedRockstar>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<NamedRockstar> _parser = new pb::MessageParser<NamedRockstar>(() => new NamedRockstar());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<NamedRockstar> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[79]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public NamedRockstar() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public NamedRockstar(NamedRockstar other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public NamedRockstar Clone() {
      return new NamedRockstar(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as NamedRockstar);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(NamedRockstar other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(NamedRockstar other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class NoAbstractValidator : pb::IMessage<NoAbstractValidator>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<NoAbstractValidator> _parser = new pb::MessageParser<NoAbstractValidator>(() => new NoAbstractValidator());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<NoAbstractValidator> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[80]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public NoAbstractValidator() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public NoAbstractValidator(NoAbstractValidator other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public NoAbstractValidator Clone() {
      return new NoAbstractValidator(this);
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 1;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 2;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 5;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as NoAbstractValidator);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(NoAbstractValidator other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(40);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(40);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(NoAbstractValidator other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 40: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 40: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class OnlyValidatesRequest : pb::IMessage<OnlyValidatesRequest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<OnlyValidatesRequest> _parser = new pb::MessageParser<OnlyValidatesRequest>(() => new OnlyValidatesRequest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<OnlyValidatesRequest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[81]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public OnlyValidatesRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public OnlyValidatesRequest(OnlyValidatesRequest other) : this() {
      test_ = other.test_;
      notNull_ = other.notNull_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public OnlyValidatesRequest Clone() {
      return new OnlyValidatesRequest(this);
    }

    /// <summary>Field number for the "Test" field.</summary>
    public const int TestFieldNumber = 1;
    private int test_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Test {
      get { return test_; }
      set {
        test_ = value;
      }
    }

    /// <summary>Field number for the "NotNull" field.</summary>
    public const int NotNullFieldNumber = 2;
    private string notNull_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string NotNull {
      get { return notNull_; }
      set {
        notNull_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as OnlyValidatesRequest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(OnlyValidatesRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Test != other.Test) return false;
      if (NotNull != other.NotNull) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Test != 0) hash ^= Test.GetHashCode();
      if (NotNull.Length != 0) hash ^= NotNull.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Test != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Test);
      }
      if (NotNull.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(NotNull);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Test != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Test);
      }
      if (NotNull.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(NotNull);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Test != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Test);
      }
      if (NotNull.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(NotNull);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(OnlyValidatesRequest other) {
      if (other == null) {
        return;
      }
      if (other.Test != 0) {
        Test = other.Test;
      }
      if (other.NotNull.Length != 0) {
        NotNull = other.NotNull;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Test = input.ReadInt32();
            break;
          }
          case 18: {
            NotNull = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Test = input.ReadInt32();
            break;
          }
          case 18: {
            NotNull = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class PagingTest : pb::IMessage<PagingTest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<PagingTest> _parser = new pb::MessageParser<PagingTest>(() => new PagingTest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<PagingTest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[82]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PagingTest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PagingTest(PagingTest other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      value_ = other.value_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PagingTest Clone() {
      return new PagingTest(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Value" field.</summary>
    public const int ValueFieldNumber = 3;
    private int value_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Value {
      get { return value_; }
      set {
        value_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as PagingTest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PagingTest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Value != other.Value) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Value != 0) hash ^= Value.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Value != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Value);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Value != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Value);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Value != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Value);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PagingTest other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Value != 0) {
        Value = other.Value;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            Value = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            Value = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class PatchAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse : pb::IMessage<PatchAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<PatchAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse> _parser = new pb::MessageParser<PatchAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse>(() => new PatchAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<PatchAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[83]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PatchAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PatchAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse(PatchAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse other) : this() {
      switch (other.SubtypeCase) {
        case SubtypeOneofCase.PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse:
          PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse = other.PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse.Clone();
          break;
      }

      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PatchAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse Clone() {
      return new PatchAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse(this);
    }

    /// <summary>Field number for the "PatchAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse" field.</summary>
    public const int PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponseFieldNumber = 346521681;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.PatchAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse {
      get { return subtypeCase_ == SubtypeOneofCase.PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse ? (global::ServiceStack.Extensions.Tests.Protoc.PatchAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse;
      }
    }

    private object subtype_;
    /// <summary>Enum of possible cases for the "subtype" oneof.</summary>
    public enum SubtypeOneofCase {
      None = 0,
      PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse = 346521681,
    }
    private SubtypeOneofCase subtypeCase_ = SubtypeOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SubtypeOneofCase SubtypeCase {
      get { return subtypeCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearSubtype() {
      subtypeCase_ = SubtypeOneofCase.None;
      subtype_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as PatchAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PatchAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse, other.PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse)) return false;
      if (SubtypeCase != other.SubtypeCase) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (subtypeCase_ == SubtypeOneofCase.PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse) hash ^= PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse.GetHashCode();
      hash ^= (int) subtypeCase_;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (subtypeCase_ == SubtypeOneofCase.PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse) {
        output.WriteRawTag(138, 133, 240, 169, 10);
        output.WriteMessage(PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (subtypeCase_ == SubtypeOneofCase.PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse) {
        output.WriteRawTag(138, 133, 240, 169, 10);
        output.WriteMessage(PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (subtypeCase_ == SubtypeOneofCase.PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PatchAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse other) {
      if (other == null) {
        return;
      }
      switch (other.SubtypeCase) {
        case SubtypeOneofCase.PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse:
          if (PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse == null) {
            PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse = new global::ServiceStack.Extensions.Tests.Protoc.PatchAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse();
          }
          PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse.MergeFrom(other.PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse);
          break;
      }

      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 2772173450: {
            global::ServiceStack.Extensions.Tests.Protoc.PatchAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.PatchAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse();
            if (subtypeCase_ == SubtypeOneofCase.PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse) {
              subBuilder.MergeFrom(PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse);
            }
            input.ReadMessage(subBuilder);
            PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse = subBuilder;
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 2772173450: {
            global::ServiceStack.Extensions.Tests.Protoc.PatchAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.PatchAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse();
            if (subtypeCase_ == SubtypeOneofCase.PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse) {
              subBuilder.MergeFrom(PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse);
            }
            input.ReadMessage(subBuilder);
            PatchAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse = subBuilder;
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class PatchAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse : pb::IMessage<PatchAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<PatchAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse> _parser = new pb::MessageParser<PatchAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse>(() => new PatchAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<PatchAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[84]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PatchAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PatchAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse(PatchAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PatchAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse Clone() {
      return new PatchAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as PatchAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PatchAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PatchAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class PatchRockstar : pb::IMessage<PatchRockstar>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<PatchRockstar> _parser = new pb::MessageParser<PatchRockstar>(() => new PatchRockstar());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<PatchRockstar> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[85]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PatchRockstar() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PatchRockstar(PatchRockstar other) : this() {
      id_ = other.id_;
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      dateDied_ = other.dateDied_ != null ? other.dateDied_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PatchRockstar Clone() {
      return new PatchRockstar(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 2;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 3;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 4;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "DateDied" field.</summary>
    public const int DateDiedFieldNumber = 6;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateDied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateDied {
      get { return dateDied_; }
      set {
        dateDied_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 7;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as PatchRockstar);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PatchRockstar other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (!object.Equals(DateDied, other.DateDied)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (dateDied_ != null) hash ^= DateDied.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(56);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(56);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (dateDied_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PatchRockstar other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.dateDied_ != null) {
        if (dateDied_ == null) {
          DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateDied.MergeFrom(other.DateDied);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 26: {
            LastName = input.ReadString();
            break;
          }
          case 32: {
            Age = input.ReadInt32();
            break;
          }
          case 42: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 50: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 56: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 26: {
            LastName = input.ReadString();
            break;
          }
          case 32: {
            Age = input.ReadInt32();
            break;
          }
          case 42: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 50: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 56: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class PatchRockstarAuditTenant : pb::IMessage<PatchRockstarAuditTenant>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<PatchRockstarAuditTenant> _parser = new pb::MessageParser<PatchRockstarAuditTenant>(() => new PatchRockstarAuditTenant());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<PatchRockstarAuditTenant> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[86]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PatchRockstarAuditTenant() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PatchRockstarAuditTenant(PatchRockstarAuditTenant other) : this() {
      bearerToken_ = other.bearerToken_;
      id_ = other.id_;
      firstName_ = other.firstName_;
      livingStatus_ = other.livingStatus_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PatchRockstarAuditTenant Clone() {
      return new PatchRockstarAuditTenant(this);
    }

    /// <summary>Field number for the "BearerToken" field.</summary>
    public const int BearerTokenFieldNumber = 201;
    private string bearerToken_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BearerToken {
      get { return bearerToken_; }
      set {
        bearerToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 202;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 203;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 204;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as PatchRockstarAuditTenant);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PatchRockstarAuditTenant other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (BearerToken != other.BearerToken) return false;
      if (Id != other.Id) return false;
      if (FirstName != other.FirstName) return false;
      if (LivingStatus != other.LivingStatus) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (BearerToken.Length != 0) hash ^= BearerToken.GetHashCode();
      if (Id != 0) hash ^= Id.GetHashCode();
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (BearerToken.Length != 0) {
        output.WriteRawTag(202, 12);
        output.WriteString(BearerToken);
      }
      if (Id != 0) {
        output.WriteRawTag(208, 12);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(218, 12);
        output.WriteString(FirstName);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(224, 12);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (BearerToken.Length != 0) {
        output.WriteRawTag(202, 12);
        output.WriteString(BearerToken);
      }
      if (Id != 0) {
        output.WriteRawTag(208, 12);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(218, 12);
        output.WriteString(FirstName);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(224, 12);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (BearerToken.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(BearerToken);
      }
      if (Id != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (FirstName.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PatchRockstarAuditTenant other) {
      if (other == null) {
        return;
      }
      if (other.BearerToken.Length != 0) {
        BearerToken = other.BearerToken;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 1610: {
            BearerToken = input.ReadString();
            break;
          }
          case 1616: {
            Id = input.ReadInt32();
            break;
          }
          case 1626: {
            FirstName = input.ReadString();
            break;
          }
          case 1632: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 1610: {
            BearerToken = input.ReadString();
            break;
          }
          case 1616: {
            Id = input.ReadInt32();
            break;
          }
          case 1626: {
            FirstName = input.ReadString();
            break;
          }
          case 1632: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class PatchRockstarAuditTenantGateway : pb::IMessage<PatchRockstarAuditTenantGateway>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<PatchRockstarAuditTenantGateway> _parser = new pb::MessageParser<PatchRockstarAuditTenantGateway>(() => new PatchRockstarAuditTenantGateway());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<PatchRockstarAuditTenantGateway> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[87]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PatchRockstarAuditTenantGateway() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PatchRockstarAuditTenantGateway(PatchRockstarAuditTenantGateway other) : this() {
      id_ = other.id_;
      firstName_ = other.firstName_;
      livingStatus_ = other.livingStatus_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PatchRockstarAuditTenantGateway Clone() {
      return new PatchRockstarAuditTenantGateway(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 2;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 3;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as PatchRockstarAuditTenantGateway);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PatchRockstarAuditTenantGateway other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (FirstName != other.FirstName) return false;
      if (LivingStatus != other.LivingStatus) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(24);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(24);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PatchRockstarAuditTenantGateway other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 24: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 24: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class PatchRockstarAuditTenantMq : pb::IMessage<PatchRockstarAuditTenantMq>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<PatchRockstarAuditTenantMq> _parser = new pb::MessageParser<PatchRockstarAuditTenantMq>(() => new PatchRockstarAuditTenantMq());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<PatchRockstarAuditTenantMq> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[88]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PatchRockstarAuditTenantMq() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PatchRockstarAuditTenantMq(PatchRockstarAuditTenantMq other) : this() {
      id_ = other.id_;
      firstName_ = other.firstName_;
      livingStatus_ = other.livingStatus_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PatchRockstarAuditTenantMq Clone() {
      return new PatchRockstarAuditTenantMq(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 2;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 3;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as PatchRockstarAuditTenantMq);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PatchRockstarAuditTenantMq other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (FirstName != other.FirstName) return false;
      if (LivingStatus != other.LivingStatus) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(24);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(24);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PatchRockstarAuditTenantMq other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 24: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 24: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class PostChatToChannel : pb::IMessage<PostChatToChannel>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<PostChatToChannel> _parser = new pb::MessageParser<PostChatToChannel>(() => new PostChatToChannel());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<PostChatToChannel> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[89]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PostChatToChannel() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PostChatToChannel(PostChatToChannel other) : this() {
      from_ = other.from_;
      toUserId_ = other.toUserId_;
      channel_ = other.channel_;
      message_ = other.message_;
      selector_ = other.selector_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PostChatToChannel Clone() {
      return new PostChatToChannel(this);
    }

    /// <summary>Field number for the "From" field.</summary>
    public const int FromFieldNumber = 1;
    private string from_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string From {
      get { return from_; }
      set {
        from_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ToUserId" field.</summary>
    public const int ToUserIdFieldNumber = 2;
    private string toUserId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ToUserId {
      get { return toUserId_; }
      set {
        toUserId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Channel" field.</summary>
    public const int ChannelFieldNumber = 3;
    private string channel_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Channel {
      get { return channel_; }
      set {
        channel_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Message" field.</summary>
    public const int MessageFieldNumber = 4;
    private string message_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Message {
      get { return message_; }
      set {
        message_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Selector" field.</summary>
    public const int SelectorFieldNumber = 5;
    private string selector_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Selector {
      get { return selector_; }
      set {
        selector_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as PostChatToChannel);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PostChatToChannel other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (From != other.From) return false;
      if (ToUserId != other.ToUserId) return false;
      if (Channel != other.Channel) return false;
      if (Message != other.Message) return false;
      if (Selector != other.Selector) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (From.Length != 0) hash ^= From.GetHashCode();
      if (ToUserId.Length != 0) hash ^= ToUserId.GetHashCode();
      if (Channel.Length != 0) hash ^= Channel.GetHashCode();
      if (Message.Length != 0) hash ^= Message.GetHashCode();
      if (Selector.Length != 0) hash ^= Selector.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (From.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(From);
      }
      if (ToUserId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(ToUserId);
      }
      if (Channel.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Channel);
      }
      if (Message.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Message);
      }
      if (Selector.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Selector);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (From.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(From);
      }
      if (ToUserId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(ToUserId);
      }
      if (Channel.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Channel);
      }
      if (Message.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Message);
      }
      if (Selector.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Selector);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (From.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(From);
      }
      if (ToUserId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ToUserId);
      }
      if (Channel.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Channel);
      }
      if (Message.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Message);
      }
      if (Selector.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Selector);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PostChatToChannel other) {
      if (other == null) {
        return;
      }
      if (other.From.Length != 0) {
        From = other.From;
      }
      if (other.ToUserId.Length != 0) {
        ToUserId = other.ToUserId;
      }
      if (other.Channel.Length != 0) {
        Channel = other.Channel;
      }
      if (other.Message.Length != 0) {
        Message = other.Message;
      }
      if (other.Selector.Length != 0) {
        Selector = other.Selector;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            From = input.ReadString();
            break;
          }
          case 18: {
            ToUserId = input.ReadString();
            break;
          }
          case 26: {
            Channel = input.ReadString();
            break;
          }
          case 34: {
            Message = input.ReadString();
            break;
          }
          case 42: {
            Selector = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            From = input.ReadString();
            break;
          }
          case 18: {
            ToUserId = input.ReadString();
            break;
          }
          case 26: {
            Channel = input.ReadString();
            break;
          }
          case 34: {
            Message = input.ReadString();
            break;
          }
          case 42: {
            Selector = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryAdhoc : pb::IMessage<QueryAdhoc>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryAdhoc> _parser = new pb::MessageParser<QueryAdhoc>(() => new QueryAdhoc());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryAdhoc> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[90]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryAdhoc() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryAdhoc(QueryAdhoc other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryAdhoc Clone() {
      return new QueryAdhoc(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryAdhoc);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryAdhoc other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryAdhoc other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryAdhocRockstars : pb::IMessage<QueryAdhocRockstars>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryAdhocRockstars> _parser = new pb::MessageParser<QueryAdhocRockstars>(() => new QueryAdhocRockstars());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryAdhocRockstars> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[91]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryAdhocRockstars() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryAdhocRockstars(QueryAdhocRockstars other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      firstName_ = other.firstName_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryAdhocRockstars Clone() {
      return new QueryAdhocRockstars(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "first_name" field.</summary>
    public const int FirstNameFieldNumber = 201;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryAdhocRockstars);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryAdhocRockstars other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (FirstName != other.FirstName) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (FirstName.Length != 0) {
        output.WriteRawTag(202, 12);
        output.WriteString(FirstName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (FirstName.Length != 0) {
        output.WriteRawTag(202, 12);
        output.WriteString(FirstName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (FirstName.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryAdhocRockstars other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1610: {
            FirstName = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1610: {
            FirstName = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryAllFields : pb::IMessage<QueryAllFields>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryAllFields> _parser = new pb::MessageParser<QueryAllFields>(() => new QueryAllFields());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryAllFields> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[92]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryAllFields() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryAllFields(QueryAllFields other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      guid_ = other.guid_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryAllFields Clone() {
      return new QueryAllFields(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Guid" field.</summary>
    public const int GuidFieldNumber = 201;
    private string guid_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Guid {
      get { return guid_; }
      set {
        guid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryAllFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryAllFields other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (Guid != other.Guid) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (Guid.Length != 0) hash ^= Guid.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (Guid.Length != 0) {
        output.WriteRawTag(202, 12);
        output.WriteString(Guid);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (Guid.Length != 0) {
        output.WriteRawTag(202, 12);
        output.WriteString(Guid);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (Guid.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Guid);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryAllFields other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.Guid.Length != 0) {
        Guid = other.Guid;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1610: {
            Guid = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1610: {
            Guid = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryBase : pb::IMessage<QueryBase>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryBase> _parser = new pb::MessageParser<QueryBase>(() => new QueryBase());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryBase> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[93]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryBase() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryBase(QueryBase other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      switch (other.SubtypeCase) {
        case SubtypeOneofCase.QueryDbRockstarCustomRockstar:
          QueryDbRockstarCustomRockstar = other.QueryDbRockstarCustomRockstar.Clone();
          break;
        case SubtypeOneofCase.QueryDbBooking:
          QueryDbBooking = other.QueryDbBooking.Clone();
          break;
        case SubtypeOneofCase.QueryDbRockstarRockstarAlias:
          QueryDbRockstarRockstarAlias = other.QueryDbRockstarRockstarAlias.Clone();
          break;
        case SubtypeOneofCase.QueryDbPagingTest:
          QueryDbPagingTest = other.QueryDbPagingTest.Clone();
          break;
        case SubtypeOneofCase.QueryDbCustomSelectRockstar:
          QueryDbCustomSelectRockstar = other.QueryDbCustomSelectRockstar.Clone();
          break;
        case SubtypeOneofCase.QueryDbMovie:
          QueryDbMovie = other.QueryDbMovie.Clone();
          break;
        case SubtypeOneofCase.QueryDbRockstarReference:
          QueryDbRockstarReference = other.QueryDbRockstarReference.Clone();
          break;
        case SubtypeOneofCase.QueryDbBookmark:
          QueryDbBookmark = other.QueryDbBookmark.Clone();
          break;
        case SubtypeOneofCase.QueryDbAdhoc:
          QueryDbAdhoc = other.QueryDbAdhoc.Clone();
          break;
        case SubtypeOneofCase.QueryDbFoo:
          QueryDbFoo = other.QueryDbFoo.Clone();
          break;
        case SubtypeOneofCase.QueryDbTypeWithEnum:
          QueryDbTypeWithEnum = other.QueryDbTypeWithEnum.Clone();
          break;
        case SubtypeOneofCase.QueryDbRockstarAlbum:
          QueryDbRockstarAlbum = other.QueryDbRockstarAlbum.Clone();
          break;
        case SubtypeOneofCase.QueryDbCustomSelectRockstarCustomSelectRockstarResponse:
          QueryDbCustomSelectRockstarCustomSelectRockstarResponse = other.QueryDbCustomSelectRockstarCustomSelectRockstarResponse.Clone();
          break;
        case SubtypeOneofCase.QueryDbRockstar:
          QueryDbRockstar = other.QueryDbRockstar.Clone();
          break;
        case SubtypeOneofCase.QueryDbRockstarAuditTenantRockstarAuto:
          QueryDbRockstarAuditTenantRockstarAuto = other.QueryDbRockstarAuditTenantRockstarAuto.Clone();
          break;
        case SubtypeOneofCase.QueryDbAllFields:
          QueryDbAllFields = other.QueryDbAllFields.Clone();
          break;
        case SubtypeOneofCase.QueryDbRockstarCustomRockstarSchema:
          QueryDbRockstarCustomRockstarSchema = other.QueryDbRockstarCustomRockstarSchema.Clone();
          break;
      }

      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryBase Clone() {
      return new QueryBase(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "QueryDb_Rockstar_CustomRockstar" field.</summary>
    public const int QueryDbRockstarCustomRockstarFieldNumber = 1595516;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_CustomRockstar QueryDbRockstarCustomRockstar {
      get { return subtypeCase_ == SubtypeOneofCase.QueryDbRockstarCustomRockstar ? (global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_CustomRockstar) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.QueryDbRockstarCustomRockstar;
      }
    }

    /// <summary>Field number for the "QueryDb_Booking" field.</summary>
    public const int QueryDbBookingFieldNumber = 67512563;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Booking QueryDbBooking {
      get { return subtypeCase_ == SubtypeOneofCase.QueryDbBooking ? (global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Booking) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.QueryDbBooking;
      }
    }

    /// <summary>Field number for the "QueryDb_Rockstar_RockstarAlias" field.</summary>
    public const int QueryDbRockstarRockstarAliasFieldNumber = 95568396;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_RockstarAlias QueryDbRockstarRockstarAlias {
      get { return subtypeCase_ == SubtypeOneofCase.QueryDbRockstarRockstarAlias ? (global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_RockstarAlias) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.QueryDbRockstarRockstarAlias;
      }
    }

    /// <summary>Field number for the "QueryDb_PagingTest" field.</summary>
    public const int QueryDbPagingTestFieldNumber = 110246772;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.QueryDb_PagingTest QueryDbPagingTest {
      get { return subtypeCase_ == SubtypeOneofCase.QueryDbPagingTest ? (global::ServiceStack.Extensions.Tests.Protoc.QueryDb_PagingTest) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.QueryDbPagingTest;
      }
    }

    /// <summary>Field number for the "QueryDb_CustomSelectRockstar" field.</summary>
    public const int QueryDbCustomSelectRockstarFieldNumber = 117530989;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.QueryDb_CustomSelectRockstar QueryDbCustomSelectRockstar {
      get { return subtypeCase_ == SubtypeOneofCase.QueryDbCustomSelectRockstar ? (global::ServiceStack.Extensions.Tests.Protoc.QueryDb_CustomSelectRockstar) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.QueryDbCustomSelectRockstar;
      }
    }

    /// <summary>Field number for the "QueryDb_Movie" field.</summary>
    public const int QueryDbMovieFieldNumber = 133134611;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Movie QueryDbMovie {
      get { return subtypeCase_ == SubtypeOneofCase.QueryDbMovie ? (global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Movie) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.QueryDbMovie;
      }
    }

    /// <summary>Field number for the "QueryDb_RockstarReference" field.</summary>
    public const int QueryDbRockstarReferenceFieldNumber = 139856298;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarReference QueryDbRockstarReference {
      get { return subtypeCase_ == SubtypeOneofCase.QueryDbRockstarReference ? (global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarReference) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.QueryDbRockstarReference;
      }
    }

    /// <summary>Field number for the "QueryDb_Bookmark" field.</summary>
    public const int QueryDbBookmarkFieldNumber = 146734877;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Bookmark QueryDbBookmark {
      get { return subtypeCase_ == SubtypeOneofCase.QueryDbBookmark ? (global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Bookmark) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.QueryDbBookmark;
      }
    }

    /// <summary>Field number for the "QueryDb_Adhoc" field.</summary>
    public const int QueryDbAdhocFieldNumber = 193863048;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Adhoc QueryDbAdhoc {
      get { return subtypeCase_ == SubtypeOneofCase.QueryDbAdhoc ? (global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Adhoc) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.QueryDbAdhoc;
      }
    }

    /// <summary>Field number for the "QueryDb_Foo" field.</summary>
    public const int QueryDbFooFieldNumber = 239635360;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Foo QueryDbFoo {
      get { return subtypeCase_ == SubtypeOneofCase.QueryDbFoo ? (global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Foo) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.QueryDbFoo;
      }
    }

    /// <summary>Field number for the "QueryDb_TypeWithEnum" field.</summary>
    public const int QueryDbTypeWithEnumFieldNumber = 390586478;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.QueryDb_TypeWithEnum QueryDbTypeWithEnum {
      get { return subtypeCase_ == SubtypeOneofCase.QueryDbTypeWithEnum ? (global::ServiceStack.Extensions.Tests.Protoc.QueryDb_TypeWithEnum) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.QueryDbTypeWithEnum;
      }
    }

    /// <summary>Field number for the "QueryDb_RockstarAlbum" field.</summary>
    public const int QueryDbRockstarAlbumFieldNumber = 411180685;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarAlbum QueryDbRockstarAlbum {
      get { return subtypeCase_ == SubtypeOneofCase.QueryDbRockstarAlbum ? (global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarAlbum) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.QueryDbRockstarAlbum;
      }
    }

    /// <summary>Field number for the "QueryDb_CustomSelectRockstar_CustomSelectRockstarResponse" field.</summary>
    public const int QueryDbCustomSelectRockstarCustomSelectRockstarResponseFieldNumber = 428847863;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.QueryDb_CustomSelectRockstar_CustomSelectRockstarResponse QueryDbCustomSelectRockstarCustomSelectRockstarResponse {
      get { return subtypeCase_ == SubtypeOneofCase.QueryDbCustomSelectRockstarCustomSelectRockstarResponse ? (global::ServiceStack.Extensions.Tests.Protoc.QueryDb_CustomSelectRockstar_CustomSelectRockstarResponse) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.QueryDbCustomSelectRockstarCustomSelectRockstarResponse;
      }
    }

    /// <summary>Field number for the "QueryDb_Rockstar" field.</summary>
    public const int QueryDbRockstarFieldNumber = 447773769;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar QueryDbRockstar {
      get { return subtypeCase_ == SubtypeOneofCase.QueryDbRockstar ? (global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.QueryDbRockstar;
      }
    }

    /// <summary>Field number for the "QueryDb_RockstarAuditTenant_RockstarAuto" field.</summary>
    public const int QueryDbRockstarAuditTenantRockstarAutoFieldNumber = 450045076;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarAuditTenant_RockstarAuto QueryDbRockstarAuditTenantRockstarAuto {
      get { return subtypeCase_ == SubtypeOneofCase.QueryDbRockstarAuditTenantRockstarAuto ? (global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarAuditTenant_RockstarAuto) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.QueryDbRockstarAuditTenantRockstarAuto;
      }
    }

    /// <summary>Field number for the "QueryDb_AllFields" field.</summary>
    public const int QueryDbAllFieldsFieldNumber = 473971172;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.QueryDb_AllFields QueryDbAllFields {
      get { return subtypeCase_ == SubtypeOneofCase.QueryDbAllFields ? (global::ServiceStack.Extensions.Tests.Protoc.QueryDb_AllFields) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.QueryDbAllFields;
      }
    }

    /// <summary>Field number for the "QueryDb_Rockstar_CustomRockstarSchema" field.</summary>
    public const int QueryDbRockstarCustomRockstarSchemaFieldNumber = 483328659;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_CustomRockstarSchema QueryDbRockstarCustomRockstarSchema {
      get { return subtypeCase_ == SubtypeOneofCase.QueryDbRockstarCustomRockstarSchema ? (global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_CustomRockstarSchema) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.QueryDbRockstarCustomRockstarSchema;
      }
    }

    private object subtype_;
    /// <summary>Enum of possible cases for the "subtype" oneof.</summary>
    public enum SubtypeOneofCase {
      None = 0,
      QueryDbRockstarCustomRockstar = 1595516,
      QueryDbBooking = 67512563,
      QueryDbRockstarRockstarAlias = 95568396,
      QueryDbPagingTest = 110246772,
      QueryDbCustomSelectRockstar = 117530989,
      QueryDbMovie = 133134611,
      QueryDbRockstarReference = 139856298,
      QueryDbBookmark = 146734877,
      QueryDbAdhoc = 193863048,
      QueryDbFoo = 239635360,
      QueryDbTypeWithEnum = 390586478,
      QueryDbRockstarAlbum = 411180685,
      QueryDbCustomSelectRockstarCustomSelectRockstarResponse = 428847863,
      QueryDbRockstar = 447773769,
      QueryDbRockstarAuditTenantRockstarAuto = 450045076,
      QueryDbAllFields = 473971172,
      QueryDbRockstarCustomRockstarSchema = 483328659,
    }
    private SubtypeOneofCase subtypeCase_ = SubtypeOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SubtypeOneofCase SubtypeCase {
      get { return subtypeCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearSubtype() {
      subtypeCase_ = SubtypeOneofCase.None;
      subtype_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryBase);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryBase other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (!object.Equals(QueryDbRockstarCustomRockstar, other.QueryDbRockstarCustomRockstar)) return false;
      if (!object.Equals(QueryDbBooking, other.QueryDbBooking)) return false;
      if (!object.Equals(QueryDbRockstarRockstarAlias, other.QueryDbRockstarRockstarAlias)) return false;
      if (!object.Equals(QueryDbPagingTest, other.QueryDbPagingTest)) return false;
      if (!object.Equals(QueryDbCustomSelectRockstar, other.QueryDbCustomSelectRockstar)) return false;
      if (!object.Equals(QueryDbMovie, other.QueryDbMovie)) return false;
      if (!object.Equals(QueryDbRockstarReference, other.QueryDbRockstarReference)) return false;
      if (!object.Equals(QueryDbBookmark, other.QueryDbBookmark)) return false;
      if (!object.Equals(QueryDbAdhoc, other.QueryDbAdhoc)) return false;
      if (!object.Equals(QueryDbFoo, other.QueryDbFoo)) return false;
      if (!object.Equals(QueryDbTypeWithEnum, other.QueryDbTypeWithEnum)) return false;
      if (!object.Equals(QueryDbRockstarAlbum, other.QueryDbRockstarAlbum)) return false;
      if (!object.Equals(QueryDbCustomSelectRockstarCustomSelectRockstarResponse, other.QueryDbCustomSelectRockstarCustomSelectRockstarResponse)) return false;
      if (!object.Equals(QueryDbRockstar, other.QueryDbRockstar)) return false;
      if (!object.Equals(QueryDbRockstarAuditTenantRockstarAuto, other.QueryDbRockstarAuditTenantRockstarAuto)) return false;
      if (!object.Equals(QueryDbAllFields, other.QueryDbAllFields)) return false;
      if (!object.Equals(QueryDbRockstarCustomRockstarSchema, other.QueryDbRockstarCustomRockstarSchema)) return false;
      if (SubtypeCase != other.SubtypeCase) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarCustomRockstar) hash ^= QueryDbRockstarCustomRockstar.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.QueryDbBooking) hash ^= QueryDbBooking.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarRockstarAlias) hash ^= QueryDbRockstarRockstarAlias.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.QueryDbPagingTest) hash ^= QueryDbPagingTest.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.QueryDbCustomSelectRockstar) hash ^= QueryDbCustomSelectRockstar.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.QueryDbMovie) hash ^= QueryDbMovie.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarReference) hash ^= QueryDbRockstarReference.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.QueryDbBookmark) hash ^= QueryDbBookmark.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.QueryDbAdhoc) hash ^= QueryDbAdhoc.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.QueryDbFoo) hash ^= QueryDbFoo.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.QueryDbTypeWithEnum) hash ^= QueryDbTypeWithEnum.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarAlbum) hash ^= QueryDbRockstarAlbum.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.QueryDbCustomSelectRockstarCustomSelectRockstarResponse) hash ^= QueryDbCustomSelectRockstarCustomSelectRockstarResponse.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstar) hash ^= QueryDbRockstar.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarAuditTenantRockstarAuto) hash ^= QueryDbRockstarAuditTenantRockstarAuto.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.QueryDbAllFields) hash ^= QueryDbAllFields.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarCustomRockstarSchema) hash ^= QueryDbRockstarCustomRockstarSchema.GetHashCode();
      hash ^= (int) subtypeCase_;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarCustomRockstar) {
        output.WriteRawTag(226, 135, 139, 6);
        output.WriteMessage(QueryDbRockstarCustomRockstar);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbBooking) {
        output.WriteRawTag(154, 143, 197, 129, 2);
        output.WriteMessage(QueryDbBooking);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarRockstarAlias) {
        output.WriteRawTag(226, 160, 200, 236, 2);
        output.WriteMessage(QueryDbRockstarRockstarAlias);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbPagingTest) {
        output.WriteRawTag(162, 183, 199, 164, 3);
        output.WriteMessage(QueryDbPagingTest);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbCustomSelectRockstar) {
        output.WriteRawTag(234, 150, 172, 192, 3);
        output.WriteMessage(QueryDbCustomSelectRockstar);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbMovie) {
        output.WriteRawTag(154, 145, 239, 251, 3);
        output.WriteMessage(QueryDbMovie);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarReference) {
        output.WriteRawTag(210, 154, 193, 149, 4);
        output.WriteMessage(QueryDbRockstarReference);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbBookmark) {
        output.WriteRawTag(234, 241, 223, 175, 4);
        output.WriteMessage(QueryDbBookmark);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbAdhoc) {
        output.WriteRawTag(194, 216, 195, 227, 5);
        output.WriteMessage(QueryDbAdhoc);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbFoo) {
        output.WriteRawTag(130, 186, 145, 146, 7);
        output.WriteMessage(QueryDbFoo);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbTypeWithEnum) {
        output.WriteRawTag(242, 134, 252, 209, 11);
        output.WriteMessage(QueryDbTypeWithEnum);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarAlbum) {
        output.WriteRawTag(234, 232, 195, 160, 12);
        output.WriteMessage(QueryDbRockstarAlbum);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbCustomSelectRockstarCustomSelectRockstarResponse) {
        output.WriteRawTag(186, 175, 246, 227, 12);
        output.WriteMessage(QueryDbCustomSelectRockstarCustomSelectRockstarResponse);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstar) {
        output.WriteRawTag(202, 196, 143, 172, 13);
        output.WriteMessage(QueryDbRockstar);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarAuditTenantRockstarAuto) {
        output.WriteRawTag(162, 201, 228, 180, 13);
        output.WriteMessage(QueryDbRockstarAuditTenantRockstarAuto);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbAllFields) {
        output.WriteRawTag(162, 158, 135, 144, 14);
        output.WriteMessage(QueryDbAllFields);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarCustomRockstarSchema) {
        output.WriteRawTag(154, 169, 224, 179, 14);
        output.WriteMessage(QueryDbRockstarCustomRockstarSchema);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarCustomRockstar) {
        output.WriteRawTag(226, 135, 139, 6);
        output.WriteMessage(QueryDbRockstarCustomRockstar);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbBooking) {
        output.WriteRawTag(154, 143, 197, 129, 2);
        output.WriteMessage(QueryDbBooking);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarRockstarAlias) {
        output.WriteRawTag(226, 160, 200, 236, 2);
        output.WriteMessage(QueryDbRockstarRockstarAlias);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbPagingTest) {
        output.WriteRawTag(162, 183, 199, 164, 3);
        output.WriteMessage(QueryDbPagingTest);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbCustomSelectRockstar) {
        output.WriteRawTag(234, 150, 172, 192, 3);
        output.WriteMessage(QueryDbCustomSelectRockstar);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbMovie) {
        output.WriteRawTag(154, 145, 239, 251, 3);
        output.WriteMessage(QueryDbMovie);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarReference) {
        output.WriteRawTag(210, 154, 193, 149, 4);
        output.WriteMessage(QueryDbRockstarReference);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbBookmark) {
        output.WriteRawTag(234, 241, 223, 175, 4);
        output.WriteMessage(QueryDbBookmark);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbAdhoc) {
        output.WriteRawTag(194, 216, 195, 227, 5);
        output.WriteMessage(QueryDbAdhoc);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbFoo) {
        output.WriteRawTag(130, 186, 145, 146, 7);
        output.WriteMessage(QueryDbFoo);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbTypeWithEnum) {
        output.WriteRawTag(242, 134, 252, 209, 11);
        output.WriteMessage(QueryDbTypeWithEnum);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarAlbum) {
        output.WriteRawTag(234, 232, 195, 160, 12);
        output.WriteMessage(QueryDbRockstarAlbum);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbCustomSelectRockstarCustomSelectRockstarResponse) {
        output.WriteRawTag(186, 175, 246, 227, 12);
        output.WriteMessage(QueryDbCustomSelectRockstarCustomSelectRockstarResponse);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstar) {
        output.WriteRawTag(202, 196, 143, 172, 13);
        output.WriteMessage(QueryDbRockstar);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarAuditTenantRockstarAuto) {
        output.WriteRawTag(162, 201, 228, 180, 13);
        output.WriteMessage(QueryDbRockstarAuditTenantRockstarAuto);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbAllFields) {
        output.WriteRawTag(162, 158, 135, 144, 14);
        output.WriteMessage(QueryDbAllFields);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarCustomRockstarSchema) {
        output.WriteRawTag(154, 169, 224, 179, 14);
        output.WriteMessage(QueryDbRockstarCustomRockstarSchema);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarCustomRockstar) {
        size += 4 + pb::CodedOutputStream.ComputeMessageSize(QueryDbRockstarCustomRockstar);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbBooking) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(QueryDbBooking);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarRockstarAlias) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(QueryDbRockstarRockstarAlias);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbPagingTest) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(QueryDbPagingTest);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbCustomSelectRockstar) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(QueryDbCustomSelectRockstar);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbMovie) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(QueryDbMovie);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarReference) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(QueryDbRockstarReference);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbBookmark) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(QueryDbBookmark);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbAdhoc) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(QueryDbAdhoc);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbFoo) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(QueryDbFoo);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbTypeWithEnum) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(QueryDbTypeWithEnum);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarAlbum) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(QueryDbRockstarAlbum);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbCustomSelectRockstarCustomSelectRockstarResponse) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(QueryDbCustomSelectRockstarCustomSelectRockstarResponse);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstar) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(QueryDbRockstar);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarAuditTenantRockstarAuto) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(QueryDbRockstarAuditTenantRockstarAuto);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbAllFields) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(QueryDbAllFields);
      }
      if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarCustomRockstarSchema) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(QueryDbRockstarCustomRockstarSchema);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryBase other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      switch (other.SubtypeCase) {
        case SubtypeOneofCase.QueryDbRockstarCustomRockstar:
          if (QueryDbRockstarCustomRockstar == null) {
            QueryDbRockstarCustomRockstar = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_CustomRockstar();
          }
          QueryDbRockstarCustomRockstar.MergeFrom(other.QueryDbRockstarCustomRockstar);
          break;
        case SubtypeOneofCase.QueryDbBooking:
          if (QueryDbBooking == null) {
            QueryDbBooking = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Booking();
          }
          QueryDbBooking.MergeFrom(other.QueryDbBooking);
          break;
        case SubtypeOneofCase.QueryDbRockstarRockstarAlias:
          if (QueryDbRockstarRockstarAlias == null) {
            QueryDbRockstarRockstarAlias = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_RockstarAlias();
          }
          QueryDbRockstarRockstarAlias.MergeFrom(other.QueryDbRockstarRockstarAlias);
          break;
        case SubtypeOneofCase.QueryDbPagingTest:
          if (QueryDbPagingTest == null) {
            QueryDbPagingTest = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_PagingTest();
          }
          QueryDbPagingTest.MergeFrom(other.QueryDbPagingTest);
          break;
        case SubtypeOneofCase.QueryDbCustomSelectRockstar:
          if (QueryDbCustomSelectRockstar == null) {
            QueryDbCustomSelectRockstar = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_CustomSelectRockstar();
          }
          QueryDbCustomSelectRockstar.MergeFrom(other.QueryDbCustomSelectRockstar);
          break;
        case SubtypeOneofCase.QueryDbMovie:
          if (QueryDbMovie == null) {
            QueryDbMovie = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Movie();
          }
          QueryDbMovie.MergeFrom(other.QueryDbMovie);
          break;
        case SubtypeOneofCase.QueryDbRockstarReference:
          if (QueryDbRockstarReference == null) {
            QueryDbRockstarReference = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarReference();
          }
          QueryDbRockstarReference.MergeFrom(other.QueryDbRockstarReference);
          break;
        case SubtypeOneofCase.QueryDbBookmark:
          if (QueryDbBookmark == null) {
            QueryDbBookmark = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Bookmark();
          }
          QueryDbBookmark.MergeFrom(other.QueryDbBookmark);
          break;
        case SubtypeOneofCase.QueryDbAdhoc:
          if (QueryDbAdhoc == null) {
            QueryDbAdhoc = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Adhoc();
          }
          QueryDbAdhoc.MergeFrom(other.QueryDbAdhoc);
          break;
        case SubtypeOneofCase.QueryDbFoo:
          if (QueryDbFoo == null) {
            QueryDbFoo = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Foo();
          }
          QueryDbFoo.MergeFrom(other.QueryDbFoo);
          break;
        case SubtypeOneofCase.QueryDbTypeWithEnum:
          if (QueryDbTypeWithEnum == null) {
            QueryDbTypeWithEnum = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_TypeWithEnum();
          }
          QueryDbTypeWithEnum.MergeFrom(other.QueryDbTypeWithEnum);
          break;
        case SubtypeOneofCase.QueryDbRockstarAlbum:
          if (QueryDbRockstarAlbum == null) {
            QueryDbRockstarAlbum = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarAlbum();
          }
          QueryDbRockstarAlbum.MergeFrom(other.QueryDbRockstarAlbum);
          break;
        case SubtypeOneofCase.QueryDbCustomSelectRockstarCustomSelectRockstarResponse:
          if (QueryDbCustomSelectRockstarCustomSelectRockstarResponse == null) {
            QueryDbCustomSelectRockstarCustomSelectRockstarResponse = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_CustomSelectRockstar_CustomSelectRockstarResponse();
          }
          QueryDbCustomSelectRockstarCustomSelectRockstarResponse.MergeFrom(other.QueryDbCustomSelectRockstarCustomSelectRockstarResponse);
          break;
        case SubtypeOneofCase.QueryDbRockstar:
          if (QueryDbRockstar == null) {
            QueryDbRockstar = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar();
          }
          QueryDbRockstar.MergeFrom(other.QueryDbRockstar);
          break;
        case SubtypeOneofCase.QueryDbRockstarAuditTenantRockstarAuto:
          if (QueryDbRockstarAuditTenantRockstarAuto == null) {
            QueryDbRockstarAuditTenantRockstarAuto = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarAuditTenant_RockstarAuto();
          }
          QueryDbRockstarAuditTenantRockstarAuto.MergeFrom(other.QueryDbRockstarAuditTenantRockstarAuto);
          break;
        case SubtypeOneofCase.QueryDbAllFields:
          if (QueryDbAllFields == null) {
            QueryDbAllFields = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_AllFields();
          }
          QueryDbAllFields.MergeFrom(other.QueryDbAllFields);
          break;
        case SubtypeOneofCase.QueryDbRockstarCustomRockstarSchema:
          if (QueryDbRockstarCustomRockstarSchema == null) {
            QueryDbRockstarCustomRockstarSchema = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_CustomRockstarSchema();
          }
          QueryDbRockstarCustomRockstarSchema.MergeFrom(other.QueryDbRockstarCustomRockstarSchema);
          break;
      }

      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 12764130: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_CustomRockstar subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_CustomRockstar();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarCustomRockstar) {
              subBuilder.MergeFrom(QueryDbRockstarCustomRockstar);
            }
            input.ReadMessage(subBuilder);
            QueryDbRockstarCustomRockstar = subBuilder;
            break;
          }
          case 540100506: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Booking subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Booking();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbBooking) {
              subBuilder.MergeFrom(QueryDbBooking);
            }
            input.ReadMessage(subBuilder);
            QueryDbBooking = subBuilder;
            break;
          }
          case 764547170: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_RockstarAlias subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_RockstarAlias();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarRockstarAlias) {
              subBuilder.MergeFrom(QueryDbRockstarRockstarAlias);
            }
            input.ReadMessage(subBuilder);
            QueryDbRockstarRockstarAlias = subBuilder;
            break;
          }
          case 881974178: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_PagingTest subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_PagingTest();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbPagingTest) {
              subBuilder.MergeFrom(QueryDbPagingTest);
            }
            input.ReadMessage(subBuilder);
            QueryDbPagingTest = subBuilder;
            break;
          }
          case 940247914: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_CustomSelectRockstar subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_CustomSelectRockstar();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbCustomSelectRockstar) {
              subBuilder.MergeFrom(QueryDbCustomSelectRockstar);
            }
            input.ReadMessage(subBuilder);
            QueryDbCustomSelectRockstar = subBuilder;
            break;
          }
          case 1065076890: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Movie subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Movie();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbMovie) {
              subBuilder.MergeFrom(QueryDbMovie);
            }
            input.ReadMessage(subBuilder);
            QueryDbMovie = subBuilder;
            break;
          }
          case 1118850386: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarReference subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarReference();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarReference) {
              subBuilder.MergeFrom(QueryDbRockstarReference);
            }
            input.ReadMessage(subBuilder);
            QueryDbRockstarReference = subBuilder;
            break;
          }
          case 1173879018: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Bookmark subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Bookmark();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbBookmark) {
              subBuilder.MergeFrom(QueryDbBookmark);
            }
            input.ReadMessage(subBuilder);
            QueryDbBookmark = subBuilder;
            break;
          }
          case 1550904386: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Adhoc subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Adhoc();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbAdhoc) {
              subBuilder.MergeFrom(QueryDbAdhoc);
            }
            input.ReadMessage(subBuilder);
            QueryDbAdhoc = subBuilder;
            break;
          }
          case 1917082882: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Foo subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Foo();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbFoo) {
              subBuilder.MergeFrom(QueryDbFoo);
            }
            input.ReadMessage(subBuilder);
            QueryDbFoo = subBuilder;
            break;
          }
          case 3124691826: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_TypeWithEnum subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_TypeWithEnum();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbTypeWithEnum) {
              subBuilder.MergeFrom(QueryDbTypeWithEnum);
            }
            input.ReadMessage(subBuilder);
            QueryDbTypeWithEnum = subBuilder;
            break;
          }
          case 3289445482: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarAlbum subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarAlbum();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarAlbum) {
              subBuilder.MergeFrom(QueryDbRockstarAlbum);
            }
            input.ReadMessage(subBuilder);
            QueryDbRockstarAlbum = subBuilder;
            break;
          }
          case 3430782906: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_CustomSelectRockstar_CustomSelectRockstarResponse subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_CustomSelectRockstar_CustomSelectRockstarResponse();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbCustomSelectRockstarCustomSelectRockstarResponse) {
              subBuilder.MergeFrom(QueryDbCustomSelectRockstarCustomSelectRockstarResponse);
            }
            input.ReadMessage(subBuilder);
            QueryDbCustomSelectRockstarCustomSelectRockstarResponse = subBuilder;
            break;
          }
          case 3582190154: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstar) {
              subBuilder.MergeFrom(QueryDbRockstar);
            }
            input.ReadMessage(subBuilder);
            QueryDbRockstar = subBuilder;
            break;
          }
          case 3600360610: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarAuditTenant_RockstarAuto subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarAuditTenant_RockstarAuto();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarAuditTenantRockstarAuto) {
              subBuilder.MergeFrom(QueryDbRockstarAuditTenantRockstarAuto);
            }
            input.ReadMessage(subBuilder);
            QueryDbRockstarAuditTenantRockstarAuto = subBuilder;
            break;
          }
          case 3791769378: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_AllFields subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_AllFields();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbAllFields) {
              subBuilder.MergeFrom(QueryDbAllFields);
            }
            input.ReadMessage(subBuilder);
            QueryDbAllFields = subBuilder;
            break;
          }
          case 3866629274: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_CustomRockstarSchema subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_CustomRockstarSchema();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarCustomRockstarSchema) {
              subBuilder.MergeFrom(QueryDbRockstarCustomRockstarSchema);
            }
            input.ReadMessage(subBuilder);
            QueryDbRockstarCustomRockstarSchema = subBuilder;
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 12764130: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_CustomRockstar subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_CustomRockstar();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarCustomRockstar) {
              subBuilder.MergeFrom(QueryDbRockstarCustomRockstar);
            }
            input.ReadMessage(subBuilder);
            QueryDbRockstarCustomRockstar = subBuilder;
            break;
          }
          case 540100506: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Booking subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Booking();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbBooking) {
              subBuilder.MergeFrom(QueryDbBooking);
            }
            input.ReadMessage(subBuilder);
            QueryDbBooking = subBuilder;
            break;
          }
          case 764547170: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_RockstarAlias subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_RockstarAlias();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarRockstarAlias) {
              subBuilder.MergeFrom(QueryDbRockstarRockstarAlias);
            }
            input.ReadMessage(subBuilder);
            QueryDbRockstarRockstarAlias = subBuilder;
            break;
          }
          case 881974178: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_PagingTest subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_PagingTest();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbPagingTest) {
              subBuilder.MergeFrom(QueryDbPagingTest);
            }
            input.ReadMessage(subBuilder);
            QueryDbPagingTest = subBuilder;
            break;
          }
          case 940247914: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_CustomSelectRockstar subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_CustomSelectRockstar();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbCustomSelectRockstar) {
              subBuilder.MergeFrom(QueryDbCustomSelectRockstar);
            }
            input.ReadMessage(subBuilder);
            QueryDbCustomSelectRockstar = subBuilder;
            break;
          }
          case 1065076890: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Movie subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Movie();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbMovie) {
              subBuilder.MergeFrom(QueryDbMovie);
            }
            input.ReadMessage(subBuilder);
            QueryDbMovie = subBuilder;
            break;
          }
          case 1118850386: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarReference subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarReference();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarReference) {
              subBuilder.MergeFrom(QueryDbRockstarReference);
            }
            input.ReadMessage(subBuilder);
            QueryDbRockstarReference = subBuilder;
            break;
          }
          case 1173879018: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Bookmark subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Bookmark();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbBookmark) {
              subBuilder.MergeFrom(QueryDbBookmark);
            }
            input.ReadMessage(subBuilder);
            QueryDbBookmark = subBuilder;
            break;
          }
          case 1550904386: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Adhoc subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Adhoc();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbAdhoc) {
              subBuilder.MergeFrom(QueryDbAdhoc);
            }
            input.ReadMessage(subBuilder);
            QueryDbAdhoc = subBuilder;
            break;
          }
          case 1917082882: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Foo subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Foo();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbFoo) {
              subBuilder.MergeFrom(QueryDbFoo);
            }
            input.ReadMessage(subBuilder);
            QueryDbFoo = subBuilder;
            break;
          }
          case 3124691826: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_TypeWithEnum subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_TypeWithEnum();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbTypeWithEnum) {
              subBuilder.MergeFrom(QueryDbTypeWithEnum);
            }
            input.ReadMessage(subBuilder);
            QueryDbTypeWithEnum = subBuilder;
            break;
          }
          case 3289445482: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarAlbum subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarAlbum();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarAlbum) {
              subBuilder.MergeFrom(QueryDbRockstarAlbum);
            }
            input.ReadMessage(subBuilder);
            QueryDbRockstarAlbum = subBuilder;
            break;
          }
          case 3430782906: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_CustomSelectRockstar_CustomSelectRockstarResponse subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_CustomSelectRockstar_CustomSelectRockstarResponse();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbCustomSelectRockstarCustomSelectRockstarResponse) {
              subBuilder.MergeFrom(QueryDbCustomSelectRockstarCustomSelectRockstarResponse);
            }
            input.ReadMessage(subBuilder);
            QueryDbCustomSelectRockstarCustomSelectRockstarResponse = subBuilder;
            break;
          }
          case 3582190154: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstar) {
              subBuilder.MergeFrom(QueryDbRockstar);
            }
            input.ReadMessage(subBuilder);
            QueryDbRockstar = subBuilder;
            break;
          }
          case 3600360610: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarAuditTenant_RockstarAuto subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_RockstarAuditTenant_RockstarAuto();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarAuditTenantRockstarAuto) {
              subBuilder.MergeFrom(QueryDbRockstarAuditTenantRockstarAuto);
            }
            input.ReadMessage(subBuilder);
            QueryDbRockstarAuditTenantRockstarAuto = subBuilder;
            break;
          }
          case 3791769378: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_AllFields subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_AllFields();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbAllFields) {
              subBuilder.MergeFrom(QueryDbAllFields);
            }
            input.ReadMessage(subBuilder);
            QueryDbAllFields = subBuilder;
            break;
          }
          case 3866629274: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_CustomRockstarSchema subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDb_Rockstar_CustomRockstarSchema();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbRockstarCustomRockstarSchema) {
              subBuilder.MergeFrom(QueryDbRockstarCustomRockstarSchema);
            }
            input.ReadMessage(subBuilder);
            QueryDbRockstarCustomRockstarSchema = subBuilder;
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryBookings : pb::IMessage<QueryBookings>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryBookings> _parser = new pb::MessageParser<QueryBookings>(() => new QueryBookings());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryBookings> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[94]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryBookings() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryBookings(QueryBookings other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      ids_ = other.ids_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryBookings Clone() {
      return new QueryBookings(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Ids" field.</summary>
    public const int IdsFieldNumber = 201;
    private static readonly pb::FieldCodec<int> _repeated_ids_codec
        = pb::FieldCodec.ForInt32(1608);
    private readonly pbc::RepeatedField<int> ids_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Ids {
      get { return ids_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryBookings);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryBookings other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if(!ids_.Equals(other.ids_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      hash ^= ids_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      ids_.WriteTo(output, _repeated_ids_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      ids_.WriteTo(ref output, _repeated_ids_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      size += ids_.CalculateSize(_repeated_ids_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryBookings other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      ids_.Add(other.ids_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1610:
          case 1608: {
            ids_.AddEntriesFrom(input, _repeated_ids_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1610:
          case 1608: {
            ids_.AddEntriesFrom(ref input, _repeated_ids_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryBookmarks : pb::IMessage<QueryBookmarks>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryBookmarks> _parser = new pb::MessageParser<QueryBookmarks>(() => new QueryBookmarks());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryBookmarks> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[95]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryBookmarks() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryBookmarks(QueryBookmarks other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryBookmarks Clone() {
      return new QueryBookmarks(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryBookmarks);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryBookmarks other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryBookmarks other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryCaseInsensitiveOrderBy : pb::IMessage<QueryCaseInsensitiveOrderBy>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryCaseInsensitiveOrderBy> _parser = new pb::MessageParser<QueryCaseInsensitiveOrderBy>(() => new QueryCaseInsensitiveOrderBy());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryCaseInsensitiveOrderBy> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[96]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryCaseInsensitiveOrderBy() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryCaseInsensitiveOrderBy(QueryCaseInsensitiveOrderBy other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      age_ = other.age_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryCaseInsensitiveOrderBy Clone() {
      return new QueryCaseInsensitiveOrderBy(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 201;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryCaseInsensitiveOrderBy);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryCaseInsensitiveOrderBy other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (Age != other.Age) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (Age != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryCaseInsensitiveOrderBy other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.Age != 0) {
        Age = other.Age;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryChangeDb : pb::IMessage<QueryChangeDb>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryChangeDb> _parser = new pb::MessageParser<QueryChangeDb>(() => new QueryChangeDb());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryChangeDb> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[97]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryChangeDb() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryChangeDb(QueryChangeDb other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      namedConnection_ = other.namedConnection_;
      connectionString_ = other.connectionString_;
      providerName_ = other.providerName_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryChangeDb Clone() {
      return new QueryChangeDb(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "NamedConnection" field.</summary>
    public const int NamedConnectionFieldNumber = 201;
    private string namedConnection_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string NamedConnection {
      get { return namedConnection_; }
      set {
        namedConnection_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ConnectionString" field.</summary>
    public const int ConnectionStringFieldNumber = 202;
    private string connectionString_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ConnectionString {
      get { return connectionString_; }
      set {
        connectionString_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ProviderName" field.</summary>
    public const int ProviderNameFieldNumber = 203;
    private string providerName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ProviderName {
      get { return providerName_; }
      set {
        providerName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryChangeDb);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryChangeDb other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (NamedConnection != other.NamedConnection) return false;
      if (ConnectionString != other.ConnectionString) return false;
      if (ProviderName != other.ProviderName) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (NamedConnection.Length != 0) hash ^= NamedConnection.GetHashCode();
      if (ConnectionString.Length != 0) hash ^= ConnectionString.GetHashCode();
      if (ProviderName.Length != 0) hash ^= ProviderName.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (NamedConnection.Length != 0) {
        output.WriteRawTag(202, 12);
        output.WriteString(NamedConnection);
      }
      if (ConnectionString.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(ConnectionString);
      }
      if (ProviderName.Length != 0) {
        output.WriteRawTag(218, 12);
        output.WriteString(ProviderName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (NamedConnection.Length != 0) {
        output.WriteRawTag(202, 12);
        output.WriteString(NamedConnection);
      }
      if (ConnectionString.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(ConnectionString);
      }
      if (ProviderName.Length != 0) {
        output.WriteRawTag(218, 12);
        output.WriteString(ProviderName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (NamedConnection.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(NamedConnection);
      }
      if (ConnectionString.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(ConnectionString);
      }
      if (ProviderName.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(ProviderName);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryChangeDb other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.NamedConnection.Length != 0) {
        NamedConnection = other.NamedConnection;
      }
      if (other.ConnectionString.Length != 0) {
        ConnectionString = other.ConnectionString;
      }
      if (other.ProviderName.Length != 0) {
        ProviderName = other.ProviderName;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1610: {
            NamedConnection = input.ReadString();
            break;
          }
          case 1618: {
            ConnectionString = input.ReadString();
            break;
          }
          case 1626: {
            ProviderName = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1610: {
            NamedConnection = input.ReadString();
            break;
          }
          case 1618: {
            ConnectionString = input.ReadString();
            break;
          }
          case 1626: {
            ProviderName = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryCustomRockstars : pb::IMessage<QueryCustomRockstars>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryCustomRockstars> _parser = new pb::MessageParser<QueryCustomRockstars>(() => new QueryCustomRockstars());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryCustomRockstars> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[98]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryCustomRockstars() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryCustomRockstars(QueryCustomRockstars other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      age_ = other.age_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryCustomRockstars Clone() {
      return new QueryCustomRockstars(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 201;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryCustomRockstars);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryCustomRockstars other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (Age != other.Age) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (Age != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryCustomRockstars other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.Age != 0) {
        Age = other.Age;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryCustomRockstarsFilter : pb::IMessage<QueryCustomRockstarsFilter>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryCustomRockstarsFilter> _parser = new pb::MessageParser<QueryCustomRockstarsFilter>(() => new QueryCustomRockstarsFilter());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryCustomRockstarsFilter> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[99]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryCustomRockstarsFilter() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryCustomRockstarsFilter(QueryCustomRockstarsFilter other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      age_ = other.age_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryCustomRockstarsFilter Clone() {
      return new QueryCustomRockstarsFilter(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 201;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryCustomRockstarsFilter);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryCustomRockstarsFilter other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (Age != other.Age) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (Age != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryCustomRockstarsFilter other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.Age != 0) {
        Age = other.Age;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryCustomRockstarsReferences : pb::IMessage<QueryCustomRockstarsReferences>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryCustomRockstarsReferences> _parser = new pb::MessageParser<QueryCustomRockstarsReferences>(() => new QueryCustomRockstarsReferences());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryCustomRockstarsReferences> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[100]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryCustomRockstarsReferences() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryCustomRockstarsReferences(QueryCustomRockstarsReferences other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      age_ = other.age_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryCustomRockstarsReferences Clone() {
      return new QueryCustomRockstarsReferences(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 201;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryCustomRockstarsReferences);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryCustomRockstarsReferences other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (Age != other.Age) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (Age != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryCustomRockstarsReferences other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.Age != 0) {
        Age = other.Age;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryCustomRockstarsSchema : pb::IMessage<QueryCustomRockstarsSchema>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryCustomRockstarsSchema> _parser = new pb::MessageParser<QueryCustomRockstarsSchema>(() => new QueryCustomRockstarsSchema());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryCustomRockstarsSchema> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[101]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryCustomRockstarsSchema() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryCustomRockstarsSchema(QueryCustomRockstarsSchema other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      age_ = other.age_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryCustomRockstarsSchema Clone() {
      return new QueryCustomRockstarsSchema(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 201;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryCustomRockstarsSchema);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryCustomRockstarsSchema other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (Age != other.Age) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (Age != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryCustomRockstarsSchema other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.Age != 0) {
        Age = other.Age;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryDbTenant_RockstarAuditTenant_RockstarAuto : pb::IMessage<QueryDbTenant_RockstarAuditTenant_RockstarAuto>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryDbTenant_RockstarAuditTenant_RockstarAuto> _parser = new pb::MessageParser<QueryDbTenant_RockstarAuditTenant_RockstarAuto>(() => new QueryDbTenant_RockstarAuditTenant_RockstarAuto());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryDbTenant_RockstarAuditTenant_RockstarAuto> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[102]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDbTenant_RockstarAuditTenant_RockstarAuto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDbTenant_RockstarAuditTenant_RockstarAuto(QueryDbTenant_RockstarAuditTenant_RockstarAuto other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDbTenant_RockstarAuditTenant_RockstarAuto Clone() {
      return new QueryDbTenant_RockstarAuditTenant_RockstarAuto(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryDbTenant_RockstarAuditTenant_RockstarAuto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryDbTenant_RockstarAuditTenant_RockstarAuto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryDbTenant_RockstarAuditTenant_RockstarAuto other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class QueryDb_Adhoc : pb::IMessage<QueryDb_Adhoc>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryDb_Adhoc> _parser = new pb::MessageParser<QueryDb_Adhoc>(() => new QueryDb_Adhoc());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryDb_Adhoc> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[103]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Adhoc() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Adhoc(QueryDb_Adhoc other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Adhoc Clone() {
      return new QueryDb_Adhoc(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryDb_Adhoc);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryDb_Adhoc other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryDb_Adhoc other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class QueryDb_AllFields : pb::IMessage<QueryDb_AllFields>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryDb_AllFields> _parser = new pb::MessageParser<QueryDb_AllFields>(() => new QueryDb_AllFields());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryDb_AllFields> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[104]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_AllFields() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_AllFields(QueryDb_AllFields other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_AllFields Clone() {
      return new QueryDb_AllFields(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryDb_AllFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryDb_AllFields other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryDb_AllFields other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class QueryDb_Booking : pb::IMessage<QueryDb_Booking>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryDb_Booking> _parser = new pb::MessageParser<QueryDb_Booking>(() => new QueryDb_Booking());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryDb_Booking> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[105]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Booking() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Booking(QueryDb_Booking other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Booking Clone() {
      return new QueryDb_Booking(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryDb_Booking);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryDb_Booking other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryDb_Booking other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class QueryDb_Bookmark : pb::IMessage<QueryDb_Bookmark>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryDb_Bookmark> _parser = new pb::MessageParser<QueryDb_Bookmark>(() => new QueryDb_Bookmark());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryDb_Bookmark> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[106]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Bookmark() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Bookmark(QueryDb_Bookmark other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Bookmark Clone() {
      return new QueryDb_Bookmark(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryDb_Bookmark);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryDb_Bookmark other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryDb_Bookmark other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class QueryDb_CustomSelectRockstar : pb::IMessage<QueryDb_CustomSelectRockstar>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryDb_CustomSelectRockstar> _parser = new pb::MessageParser<QueryDb_CustomSelectRockstar>(() => new QueryDb_CustomSelectRockstar());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryDb_CustomSelectRockstar> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[107]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_CustomSelectRockstar() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_CustomSelectRockstar(QueryDb_CustomSelectRockstar other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_CustomSelectRockstar Clone() {
      return new QueryDb_CustomSelectRockstar(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryDb_CustomSelectRockstar);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryDb_CustomSelectRockstar other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryDb_CustomSelectRockstar other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class QueryDb_CustomSelectRockstar_CustomSelectRockstarResponse : pb::IMessage<QueryDb_CustomSelectRockstar_CustomSelectRockstarResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryDb_CustomSelectRockstar_CustomSelectRockstarResponse> _parser = new pb::MessageParser<QueryDb_CustomSelectRockstar_CustomSelectRockstarResponse>(() => new QueryDb_CustomSelectRockstar_CustomSelectRockstarResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryDb_CustomSelectRockstar_CustomSelectRockstarResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[108]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_CustomSelectRockstar_CustomSelectRockstarResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_CustomSelectRockstar_CustomSelectRockstarResponse(QueryDb_CustomSelectRockstar_CustomSelectRockstarResponse other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_CustomSelectRockstar_CustomSelectRockstarResponse Clone() {
      return new QueryDb_CustomSelectRockstar_CustomSelectRockstarResponse(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryDb_CustomSelectRockstar_CustomSelectRockstarResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryDb_CustomSelectRockstar_CustomSelectRockstarResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryDb_CustomSelectRockstar_CustomSelectRockstarResponse other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class QueryDb_Foo : pb::IMessage<QueryDb_Foo>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryDb_Foo> _parser = new pb::MessageParser<QueryDb_Foo>(() => new QueryDb_Foo());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryDb_Foo> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[109]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Foo() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Foo(QueryDb_Foo other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Foo Clone() {
      return new QueryDb_Foo(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryDb_Foo);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryDb_Foo other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryDb_Foo other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class QueryDb_Movie : pb::IMessage<QueryDb_Movie>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryDb_Movie> _parser = new pb::MessageParser<QueryDb_Movie>(() => new QueryDb_Movie());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryDb_Movie> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[110]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Movie() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Movie(QueryDb_Movie other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Movie Clone() {
      return new QueryDb_Movie(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryDb_Movie);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryDb_Movie other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryDb_Movie other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class QueryDb_PagingTest : pb::IMessage<QueryDb_PagingTest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryDb_PagingTest> _parser = new pb::MessageParser<QueryDb_PagingTest>(() => new QueryDb_PagingTest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryDb_PagingTest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[111]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_PagingTest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_PagingTest(QueryDb_PagingTest other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_PagingTest Clone() {
      return new QueryDb_PagingTest(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryDb_PagingTest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryDb_PagingTest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryDb_PagingTest other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class QueryDb_Rockstar : pb::IMessage<QueryDb_Rockstar>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryDb_Rockstar> _parser = new pb::MessageParser<QueryDb_Rockstar>(() => new QueryDb_Rockstar());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryDb_Rockstar> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[112]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Rockstar() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Rockstar(QueryDb_Rockstar other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Rockstar Clone() {
      return new QueryDb_Rockstar(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryDb_Rockstar);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryDb_Rockstar other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryDb_Rockstar other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class QueryDb_RockstarAlbum : pb::IMessage<QueryDb_RockstarAlbum>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryDb_RockstarAlbum> _parser = new pb::MessageParser<QueryDb_RockstarAlbum>(() => new QueryDb_RockstarAlbum());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryDb_RockstarAlbum> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[113]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_RockstarAlbum() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_RockstarAlbum(QueryDb_RockstarAlbum other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_RockstarAlbum Clone() {
      return new QueryDb_RockstarAlbum(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryDb_RockstarAlbum);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryDb_RockstarAlbum other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryDb_RockstarAlbum other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class QueryDb_RockstarAuditTenant_RockstarAuto : pb::IMessage<QueryDb_RockstarAuditTenant_RockstarAuto>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryDb_RockstarAuditTenant_RockstarAuto> _parser = new pb::MessageParser<QueryDb_RockstarAuditTenant_RockstarAuto>(() => new QueryDb_RockstarAuditTenant_RockstarAuto());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryDb_RockstarAuditTenant_RockstarAuto> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[114]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_RockstarAuditTenant_RockstarAuto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_RockstarAuditTenant_RockstarAuto(QueryDb_RockstarAuditTenant_RockstarAuto other) : this() {
      switch (other.SubtypeCase) {
        case SubtypeOneofCase.QueryDbTenantRockstarAuditTenantRockstarAuto:
          QueryDbTenantRockstarAuditTenantRockstarAuto = other.QueryDbTenantRockstarAuditTenantRockstarAuto.Clone();
          break;
      }

      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_RockstarAuditTenant_RockstarAuto Clone() {
      return new QueryDb_RockstarAuditTenant_RockstarAuto(this);
    }

    /// <summary>Field number for the "QueryDbTenant_RockstarAuditTenant_RockstarAuto" field.</summary>
    public const int QueryDbTenantRockstarAuditTenantRockstarAutoFieldNumber = 375716614;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.QueryDbTenant_RockstarAuditTenant_RockstarAuto QueryDbTenantRockstarAuditTenantRockstarAuto {
      get { return subtypeCase_ == SubtypeOneofCase.QueryDbTenantRockstarAuditTenantRockstarAuto ? (global::ServiceStack.Extensions.Tests.Protoc.QueryDbTenant_RockstarAuditTenant_RockstarAuto) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.QueryDbTenantRockstarAuditTenantRockstarAuto;
      }
    }

    private object subtype_;
    /// <summary>Enum of possible cases for the "subtype" oneof.</summary>
    public enum SubtypeOneofCase {
      None = 0,
      QueryDbTenantRockstarAuditTenantRockstarAuto = 375716614,
    }
    private SubtypeOneofCase subtypeCase_ = SubtypeOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SubtypeOneofCase SubtypeCase {
      get { return subtypeCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearSubtype() {
      subtypeCase_ = SubtypeOneofCase.None;
      subtype_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryDb_RockstarAuditTenant_RockstarAuto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryDb_RockstarAuditTenant_RockstarAuto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(QueryDbTenantRockstarAuditTenantRockstarAuto, other.QueryDbTenantRockstarAuditTenantRockstarAuto)) return false;
      if (SubtypeCase != other.SubtypeCase) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (subtypeCase_ == SubtypeOneofCase.QueryDbTenantRockstarAuditTenantRockstarAuto) hash ^= QueryDbTenantRockstarAuditTenantRockstarAuto.GetHashCode();
      hash ^= (int) subtypeCase_;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (subtypeCase_ == SubtypeOneofCase.QueryDbTenantRockstarAuditTenantRockstarAuto) {
        output.WriteRawTag(178, 176, 159, 153, 11);
        output.WriteMessage(QueryDbTenantRockstarAuditTenantRockstarAuto);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (subtypeCase_ == SubtypeOneofCase.QueryDbTenantRockstarAuditTenantRockstarAuto) {
        output.WriteRawTag(178, 176, 159, 153, 11);
        output.WriteMessage(QueryDbTenantRockstarAuditTenantRockstarAuto);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (subtypeCase_ == SubtypeOneofCase.QueryDbTenantRockstarAuditTenantRockstarAuto) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(QueryDbTenantRockstarAuditTenantRockstarAuto);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryDb_RockstarAuditTenant_RockstarAuto other) {
      if (other == null) {
        return;
      }
      switch (other.SubtypeCase) {
        case SubtypeOneofCase.QueryDbTenantRockstarAuditTenantRockstarAuto:
          if (QueryDbTenantRockstarAuditTenantRockstarAuto == null) {
            QueryDbTenantRockstarAuditTenantRockstarAuto = new global::ServiceStack.Extensions.Tests.Protoc.QueryDbTenant_RockstarAuditTenant_RockstarAuto();
          }
          QueryDbTenantRockstarAuditTenantRockstarAuto.MergeFrom(other.QueryDbTenantRockstarAuditTenantRockstarAuto);
          break;
      }

      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 3005732914: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDbTenant_RockstarAuditTenant_RockstarAuto subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDbTenant_RockstarAuditTenant_RockstarAuto();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbTenantRockstarAuditTenantRockstarAuto) {
              subBuilder.MergeFrom(QueryDbTenantRockstarAuditTenantRockstarAuto);
            }
            input.ReadMessage(subBuilder);
            QueryDbTenantRockstarAuditTenantRockstarAuto = subBuilder;
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 3005732914: {
            global::ServiceStack.Extensions.Tests.Protoc.QueryDbTenant_RockstarAuditTenant_RockstarAuto subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.QueryDbTenant_RockstarAuditTenant_RockstarAuto();
            if (subtypeCase_ == SubtypeOneofCase.QueryDbTenantRockstarAuditTenantRockstarAuto) {
              subBuilder.MergeFrom(QueryDbTenantRockstarAuditTenantRockstarAuto);
            }
            input.ReadMessage(subBuilder);
            QueryDbTenantRockstarAuditTenantRockstarAuto = subBuilder;
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryDb_RockstarReference : pb::IMessage<QueryDb_RockstarReference>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryDb_RockstarReference> _parser = new pb::MessageParser<QueryDb_RockstarReference>(() => new QueryDb_RockstarReference());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryDb_RockstarReference> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[115]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_RockstarReference() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_RockstarReference(QueryDb_RockstarReference other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_RockstarReference Clone() {
      return new QueryDb_RockstarReference(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryDb_RockstarReference);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryDb_RockstarReference other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryDb_RockstarReference other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class QueryDb_Rockstar_CustomRockstar : pb::IMessage<QueryDb_Rockstar_CustomRockstar>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryDb_Rockstar_CustomRockstar> _parser = new pb::MessageParser<QueryDb_Rockstar_CustomRockstar>(() => new QueryDb_Rockstar_CustomRockstar());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryDb_Rockstar_CustomRockstar> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[116]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Rockstar_CustomRockstar() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Rockstar_CustomRockstar(QueryDb_Rockstar_CustomRockstar other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Rockstar_CustomRockstar Clone() {
      return new QueryDb_Rockstar_CustomRockstar(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryDb_Rockstar_CustomRockstar);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryDb_Rockstar_CustomRockstar other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryDb_Rockstar_CustomRockstar other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class QueryDb_Rockstar_CustomRockstarSchema : pb::IMessage<QueryDb_Rockstar_CustomRockstarSchema>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryDb_Rockstar_CustomRockstarSchema> _parser = new pb::MessageParser<QueryDb_Rockstar_CustomRockstarSchema>(() => new QueryDb_Rockstar_CustomRockstarSchema());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryDb_Rockstar_CustomRockstarSchema> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[117]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Rockstar_CustomRockstarSchema() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Rockstar_CustomRockstarSchema(QueryDb_Rockstar_CustomRockstarSchema other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Rockstar_CustomRockstarSchema Clone() {
      return new QueryDb_Rockstar_CustomRockstarSchema(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryDb_Rockstar_CustomRockstarSchema);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryDb_Rockstar_CustomRockstarSchema other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryDb_Rockstar_CustomRockstarSchema other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class QueryDb_Rockstar_RockstarAlias : pb::IMessage<QueryDb_Rockstar_RockstarAlias>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryDb_Rockstar_RockstarAlias> _parser = new pb::MessageParser<QueryDb_Rockstar_RockstarAlias>(() => new QueryDb_Rockstar_RockstarAlias());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryDb_Rockstar_RockstarAlias> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[118]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Rockstar_RockstarAlias() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Rockstar_RockstarAlias(QueryDb_Rockstar_RockstarAlias other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_Rockstar_RockstarAlias Clone() {
      return new QueryDb_Rockstar_RockstarAlias(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryDb_Rockstar_RockstarAlias);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryDb_Rockstar_RockstarAlias other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryDb_Rockstar_RockstarAlias other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class QueryDb_TypeWithEnum : pb::IMessage<QueryDb_TypeWithEnum>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryDb_TypeWithEnum> _parser = new pb::MessageParser<QueryDb_TypeWithEnum>(() => new QueryDb_TypeWithEnum());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryDb_TypeWithEnum> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[119]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_TypeWithEnum() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_TypeWithEnum(QueryDb_TypeWithEnum other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryDb_TypeWithEnum Clone() {
      return new QueryDb_TypeWithEnum(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryDb_TypeWithEnum);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryDb_TypeWithEnum other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryDb_TypeWithEnum other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class QueryFieldRockstars : pb::IMessage<QueryFieldRockstars>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryFieldRockstars> _parser = new pb::MessageParser<QueryFieldRockstars>(() => new QueryFieldRockstars());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryFieldRockstars> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[120]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryFieldRockstars() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryFieldRockstars(QueryFieldRockstars other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      firstName_ = other.firstName_;
      firstNames_ = other.firstNames_.Clone();
      age_ = other.age_;
      firstNameCaseInsensitive_ = other.firstNameCaseInsensitive_;
      firstNameStartsWith_ = other.firstNameStartsWith_;
      lastNameEndsWith_ = other.lastNameEndsWith_;
      firstNameBetween_ = other.firstNameBetween_.Clone();
      orLastName_ = other.orLastName_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryFieldRockstars Clone() {
      return new QueryFieldRockstars(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 201;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "FirstNames" field.</summary>
    public const int FirstNamesFieldNumber = 202;
    private static readonly pb::FieldCodec<string> _repeated_firstNames_codec
        = pb::FieldCodec.ForString(1618);
    private readonly pbc::RepeatedField<string> firstNames_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> FirstNames {
      get { return firstNames_; }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 203;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "FirstNameCaseInsensitive" field.</summary>
    public const int FirstNameCaseInsensitiveFieldNumber = 204;
    private string firstNameCaseInsensitive_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstNameCaseInsensitive {
      get { return firstNameCaseInsensitive_; }
      set {
        firstNameCaseInsensitive_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "FirstNameStartsWith" field.</summary>
    public const int FirstNameStartsWithFieldNumber = 205;
    private string firstNameStartsWith_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstNameStartsWith {
      get { return firstNameStartsWith_; }
      set {
        firstNameStartsWith_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastNameEndsWith" field.</summary>
    public const int LastNameEndsWithFieldNumber = 206;
    private string lastNameEndsWith_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastNameEndsWith {
      get { return lastNameEndsWith_; }
      set {
        lastNameEndsWith_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "FirstNameBetween" field.</summary>
    public const int FirstNameBetweenFieldNumber = 207;
    private static readonly pb::FieldCodec<string> _repeated_firstNameBetween_codec
        = pb::FieldCodec.ForString(1658);
    private readonly pbc::RepeatedField<string> firstNameBetween_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> FirstNameBetween {
      get { return firstNameBetween_; }
    }

    /// <summary>Field number for the "OrLastName" field.</summary>
    public const int OrLastNameFieldNumber = 208;
    private string orLastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrLastName {
      get { return orLastName_; }
      set {
        orLastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryFieldRockstars);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryFieldRockstars other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (FirstName != other.FirstName) return false;
      if(!firstNames_.Equals(other.firstNames_)) return false;
      if (Age != other.Age) return false;
      if (FirstNameCaseInsensitive != other.FirstNameCaseInsensitive) return false;
      if (FirstNameStartsWith != other.FirstNameStartsWith) return false;
      if (LastNameEndsWith != other.LastNameEndsWith) return false;
      if(!firstNameBetween_.Equals(other.firstNameBetween_)) return false;
      if (OrLastName != other.OrLastName) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      hash ^= firstNames_.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (FirstNameCaseInsensitive.Length != 0) hash ^= FirstNameCaseInsensitive.GetHashCode();
      if (FirstNameStartsWith.Length != 0) hash ^= FirstNameStartsWith.GetHashCode();
      if (LastNameEndsWith.Length != 0) hash ^= LastNameEndsWith.GetHashCode();
      hash ^= firstNameBetween_.GetHashCode();
      if (OrLastName.Length != 0) hash ^= OrLastName.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (FirstName.Length != 0) {
        output.WriteRawTag(202, 12);
        output.WriteString(FirstName);
      }
      firstNames_.WriteTo(output, _repeated_firstNames_codec);
      if (Age != 0) {
        output.WriteRawTag(216, 12);
        output.WriteInt32(Age);
      }
      if (FirstNameCaseInsensitive.Length != 0) {
        output.WriteRawTag(226, 12);
        output.WriteString(FirstNameCaseInsensitive);
      }
      if (FirstNameStartsWith.Length != 0) {
        output.WriteRawTag(234, 12);
        output.WriteString(FirstNameStartsWith);
      }
      if (LastNameEndsWith.Length != 0) {
        output.WriteRawTag(242, 12);
        output.WriteString(LastNameEndsWith);
      }
      firstNameBetween_.WriteTo(output, _repeated_firstNameBetween_codec);
      if (OrLastName.Length != 0) {
        output.WriteRawTag(130, 13);
        output.WriteString(OrLastName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (FirstName.Length != 0) {
        output.WriteRawTag(202, 12);
        output.WriteString(FirstName);
      }
      firstNames_.WriteTo(ref output, _repeated_firstNames_codec);
      if (Age != 0) {
        output.WriteRawTag(216, 12);
        output.WriteInt32(Age);
      }
      if (FirstNameCaseInsensitive.Length != 0) {
        output.WriteRawTag(226, 12);
        output.WriteString(FirstNameCaseInsensitive);
      }
      if (FirstNameStartsWith.Length != 0) {
        output.WriteRawTag(234, 12);
        output.WriteString(FirstNameStartsWith);
      }
      if (LastNameEndsWith.Length != 0) {
        output.WriteRawTag(242, 12);
        output.WriteString(LastNameEndsWith);
      }
      firstNameBetween_.WriteTo(ref output, _repeated_firstNameBetween_codec);
      if (OrLastName.Length != 0) {
        output.WriteRawTag(130, 13);
        output.WriteString(OrLastName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (FirstName.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      size += firstNames_.CalculateSize(_repeated_firstNames_codec);
      if (Age != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (FirstNameCaseInsensitive.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(FirstNameCaseInsensitive);
      }
      if (FirstNameStartsWith.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(FirstNameStartsWith);
      }
      if (LastNameEndsWith.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(LastNameEndsWith);
      }
      size += firstNameBetween_.CalculateSize(_repeated_firstNameBetween_codec);
      if (OrLastName.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(OrLastName);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryFieldRockstars other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      firstNames_.Add(other.firstNames_);
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.FirstNameCaseInsensitive.Length != 0) {
        FirstNameCaseInsensitive = other.FirstNameCaseInsensitive;
      }
      if (other.FirstNameStartsWith.Length != 0) {
        FirstNameStartsWith = other.FirstNameStartsWith;
      }
      if (other.LastNameEndsWith.Length != 0) {
        LastNameEndsWith = other.LastNameEndsWith;
      }
      firstNameBetween_.Add(other.firstNameBetween_);
      if (other.OrLastName.Length != 0) {
        OrLastName = other.OrLastName;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1610: {
            FirstName = input.ReadString();
            break;
          }
          case 1618: {
            firstNames_.AddEntriesFrom(input, _repeated_firstNames_codec);
            break;
          }
          case 1624: {
            Age = input.ReadInt32();
            break;
          }
          case 1634: {
            FirstNameCaseInsensitive = input.ReadString();
            break;
          }
          case 1642: {
            FirstNameStartsWith = input.ReadString();
            break;
          }
          case 1650: {
            LastNameEndsWith = input.ReadString();
            break;
          }
          case 1658: {
            firstNameBetween_.AddEntriesFrom(input, _repeated_firstNameBetween_codec);
            break;
          }
          case 1666: {
            OrLastName = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1610: {
            FirstName = input.ReadString();
            break;
          }
          case 1618: {
            firstNames_.AddEntriesFrom(ref input, _repeated_firstNames_codec);
            break;
          }
          case 1624: {
            Age = input.ReadInt32();
            break;
          }
          case 1634: {
            FirstNameCaseInsensitive = input.ReadString();
            break;
          }
          case 1642: {
            FirstNameStartsWith = input.ReadString();
            break;
          }
          case 1650: {
            LastNameEndsWith = input.ReadString();
            break;
          }
          case 1658: {
            firstNameBetween_.AddEntriesFrom(ref input, _repeated_firstNameBetween_codec);
            break;
          }
          case 1666: {
            OrLastName = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryFieldRockstarsDynamic : pb::IMessage<QueryFieldRockstarsDynamic>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryFieldRockstarsDynamic> _parser = new pb::MessageParser<QueryFieldRockstarsDynamic>(() => new QueryFieldRockstarsDynamic());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryFieldRockstarsDynamic> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[121]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryFieldRockstarsDynamic() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryFieldRockstarsDynamic(QueryFieldRockstarsDynamic other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      age_ = other.age_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryFieldRockstarsDynamic Clone() {
      return new QueryFieldRockstarsDynamic(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 201;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryFieldRockstarsDynamic);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryFieldRockstarsDynamic other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (Age != other.Age) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (Age != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryFieldRockstarsDynamic other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.Age != 0) {
        Age = other.Age;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryFieldsImplicitConventions : pb::IMessage<QueryFieldsImplicitConventions>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryFieldsImplicitConventions> _parser = new pb::MessageParser<QueryFieldsImplicitConventions>(() => new QueryFieldsImplicitConventions());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryFieldsImplicitConventions> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[122]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryFieldsImplicitConventions() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryFieldsImplicitConventions(QueryFieldsImplicitConventions other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      firstNameContains_ = other.firstNameContains_;
      lastNameEndsWith_ = other.lastNameEndsWith_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryFieldsImplicitConventions Clone() {
      return new QueryFieldsImplicitConventions(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "FirstNameContains" field.</summary>
    public const int FirstNameContainsFieldNumber = 201;
    private string firstNameContains_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstNameContains {
      get { return firstNameContains_; }
      set {
        firstNameContains_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastNameEndsWith" field.</summary>
    public const int LastNameEndsWithFieldNumber = 202;
    private string lastNameEndsWith_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastNameEndsWith {
      get { return lastNameEndsWith_; }
      set {
        lastNameEndsWith_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryFieldsImplicitConventions);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryFieldsImplicitConventions other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (FirstNameContains != other.FirstNameContains) return false;
      if (LastNameEndsWith != other.LastNameEndsWith) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (FirstNameContains.Length != 0) hash ^= FirstNameContains.GetHashCode();
      if (LastNameEndsWith.Length != 0) hash ^= LastNameEndsWith.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (FirstNameContains.Length != 0) {
        output.WriteRawTag(202, 12);
        output.WriteString(FirstNameContains);
      }
      if (LastNameEndsWith.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(LastNameEndsWith);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (FirstNameContains.Length != 0) {
        output.WriteRawTag(202, 12);
        output.WriteString(FirstNameContains);
      }
      if (LastNameEndsWith.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(LastNameEndsWith);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (FirstNameContains.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(FirstNameContains);
      }
      if (LastNameEndsWith.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(LastNameEndsWith);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryFieldsImplicitConventions other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.FirstNameContains.Length != 0) {
        FirstNameContains = other.FirstNameContains;
      }
      if (other.LastNameEndsWith.Length != 0) {
        LastNameEndsWith = other.LastNameEndsWith;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1610: {
            FirstNameContains = input.ReadString();
            break;
          }
          case 1618: {
            LastNameEndsWith = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1610: {
            FirstNameContains = input.ReadString();
            break;
          }
          case 1618: {
            LastNameEndsWith = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryFoos : pb::IMessage<QueryFoos>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryFoos> _parser = new pb::MessageParser<QueryFoos>(() => new QueryFoos());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryFoos> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[123]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryFoos() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryFoos(QueryFoos other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      x_ = other.x_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryFoos Clone() {
      return new QueryFoos(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "X" field.</summary>
    public const int XFieldNumber = 201;
    private string x_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string X {
      get { return x_; }
      set {
        x_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryFoos);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryFoos other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (X != other.X) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (X.Length != 0) hash ^= X.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (X.Length != 0) {
        output.WriteRawTag(202, 12);
        output.WriteString(X);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (X.Length != 0) {
        output.WriteRawTag(202, 12);
        output.WriteString(X);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (X.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(X);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryFoos other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.X.Length != 0) {
        X = other.X;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1610: {
            X = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1610: {
            X = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryGetRockstars : pb::IMessage<QueryGetRockstars>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryGetRockstars> _parser = new pb::MessageParser<QueryGetRockstars>(() => new QueryGetRockstars());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryGetRockstars> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[124]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryGetRockstars() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryGetRockstars(QueryGetRockstars other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      ids_ = other.ids_.Clone();
      ages_ = other.ages_.Clone();
      firstNames_ = other.firstNames_.Clone();
      idsBetween_ = other.idsBetween_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryGetRockstars Clone() {
      return new QueryGetRockstars(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Ids" field.</summary>
    public const int IdsFieldNumber = 201;
    private static readonly pb::FieldCodec<int> _repeated_ids_codec
        = pb::FieldCodec.ForInt32(1608);
    private readonly pbc::RepeatedField<int> ids_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Ids {
      get { return ids_; }
    }

    /// <summary>Field number for the "Ages" field.</summary>
    public const int AgesFieldNumber = 202;
    private static readonly pb::FieldCodec<int> _repeated_ages_codec
        = pb::FieldCodec.ForInt32(1616);
    private readonly pbc::RepeatedField<int> ages_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Ages {
      get { return ages_; }
    }

    /// <summary>Field number for the "FirstNames" field.</summary>
    public const int FirstNamesFieldNumber = 203;
    private static readonly pb::FieldCodec<string> _repeated_firstNames_codec
        = pb::FieldCodec.ForString(1626);
    private readonly pbc::RepeatedField<string> firstNames_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> FirstNames {
      get { return firstNames_; }
    }

    /// <summary>Field number for the "IdsBetween" field.</summary>
    public const int IdsBetweenFieldNumber = 204;
    private static readonly pb::FieldCodec<int> _repeated_idsBetween_codec
        = pb::FieldCodec.ForInt32(1632);
    private readonly pbc::RepeatedField<int> idsBetween_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> IdsBetween {
      get { return idsBetween_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryGetRockstars);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryGetRockstars other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if(!ids_.Equals(other.ids_)) return false;
      if(!ages_.Equals(other.ages_)) return false;
      if(!firstNames_.Equals(other.firstNames_)) return false;
      if(!idsBetween_.Equals(other.idsBetween_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      hash ^= ids_.GetHashCode();
      hash ^= ages_.GetHashCode();
      hash ^= firstNames_.GetHashCode();
      hash ^= idsBetween_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      ids_.WriteTo(output, _repeated_ids_codec);
      ages_.WriteTo(output, _repeated_ages_codec);
      firstNames_.WriteTo(output, _repeated_firstNames_codec);
      idsBetween_.WriteTo(output, _repeated_idsBetween_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      ids_.WriteTo(ref output, _repeated_ids_codec);
      ages_.WriteTo(ref output, _repeated_ages_codec);
      firstNames_.WriteTo(ref output, _repeated_firstNames_codec);
      idsBetween_.WriteTo(ref output, _repeated_idsBetween_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      size += ids_.CalculateSize(_repeated_ids_codec);
      size += ages_.CalculateSize(_repeated_ages_codec);
      size += firstNames_.CalculateSize(_repeated_firstNames_codec);
      size += idsBetween_.CalculateSize(_repeated_idsBetween_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryGetRockstars other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      ids_.Add(other.ids_);
      ages_.Add(other.ages_);
      firstNames_.Add(other.firstNames_);
      idsBetween_.Add(other.idsBetween_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1610:
          case 1608: {
            ids_.AddEntriesFrom(input, _repeated_ids_codec);
            break;
          }
          case 1618:
          case 1616: {
            ages_.AddEntriesFrom(input, _repeated_ages_codec);
            break;
          }
          case 1626: {
            firstNames_.AddEntriesFrom(input, _repeated_firstNames_codec);
            break;
          }
          case 1634:
          case 1632: {
            idsBetween_.AddEntriesFrom(input, _repeated_idsBetween_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1610:
          case 1608: {
            ids_.AddEntriesFrom(ref input, _repeated_ids_codec);
            break;
          }
          case 1618:
          case 1616: {
            ages_.AddEntriesFrom(ref input, _repeated_ages_codec);
            break;
          }
          case 1626: {
            firstNames_.AddEntriesFrom(ref input, _repeated_firstNames_codec);
            break;
          }
          case 1634:
          case 1632: {
            idsBetween_.AddEntriesFrom(ref input, _repeated_idsBetween_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryGetRockstarsDynamic : pb::IMessage<QueryGetRockstarsDynamic>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryGetRockstarsDynamic> _parser = new pb::MessageParser<QueryGetRockstarsDynamic>(() => new QueryGetRockstarsDynamic());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryGetRockstarsDynamic> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[125]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryGetRockstarsDynamic() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryGetRockstarsDynamic(QueryGetRockstarsDynamic other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryGetRockstarsDynamic Clone() {
      return new QueryGetRockstarsDynamic(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryGetRockstarsDynamic);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryGetRockstarsDynamic other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryGetRockstarsDynamic other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryJoinedRockstarAlbums : pb::IMessage<QueryJoinedRockstarAlbums>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryJoinedRockstarAlbums> _parser = new pb::MessageParser<QueryJoinedRockstarAlbums>(() => new QueryJoinedRockstarAlbums());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryJoinedRockstarAlbums> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[126]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryJoinedRockstarAlbums() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryJoinedRockstarAlbums(QueryJoinedRockstarAlbums other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      age_ = other.age_;
      rockstarAlbumName_ = other.rockstarAlbumName_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryJoinedRockstarAlbums Clone() {
      return new QueryJoinedRockstarAlbums(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 201;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "RockstarAlbumName" field.</summary>
    public const int RockstarAlbumNameFieldNumber = 202;
    private string rockstarAlbumName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RockstarAlbumName {
      get { return rockstarAlbumName_; }
      set {
        rockstarAlbumName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryJoinedRockstarAlbums);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryJoinedRockstarAlbums other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (Age != other.Age) return false;
      if (RockstarAlbumName != other.RockstarAlbumName) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (RockstarAlbumName.Length != 0) hash ^= RockstarAlbumName.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (RockstarAlbumName.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(RockstarAlbumName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (RockstarAlbumName.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(RockstarAlbumName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (Age != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (RockstarAlbumName.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(RockstarAlbumName);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryJoinedRockstarAlbums other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.RockstarAlbumName.Length != 0) {
        RockstarAlbumName = other.RockstarAlbumName;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
          case 1618: {
            RockstarAlbumName = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
          case 1618: {
            RockstarAlbumName = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryJoinedRockstarAlbumsCustomSelect : pb::IMessage<QueryJoinedRockstarAlbumsCustomSelect>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryJoinedRockstarAlbumsCustomSelect> _parser = new pb::MessageParser<QueryJoinedRockstarAlbumsCustomSelect>(() => new QueryJoinedRockstarAlbumsCustomSelect());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryJoinedRockstarAlbumsCustomSelect> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[127]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryJoinedRockstarAlbumsCustomSelect() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryJoinedRockstarAlbumsCustomSelect(QueryJoinedRockstarAlbumsCustomSelect other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      age_ = other.age_;
      rockstarAlbumName_ = other.rockstarAlbumName_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryJoinedRockstarAlbumsCustomSelect Clone() {
      return new QueryJoinedRockstarAlbumsCustomSelect(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 201;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "RockstarAlbumName" field.</summary>
    public const int RockstarAlbumNameFieldNumber = 202;
    private string rockstarAlbumName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RockstarAlbumName {
      get { return rockstarAlbumName_; }
      set {
        rockstarAlbumName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryJoinedRockstarAlbumsCustomSelect);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryJoinedRockstarAlbumsCustomSelect other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (Age != other.Age) return false;
      if (RockstarAlbumName != other.RockstarAlbumName) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (RockstarAlbumName.Length != 0) hash ^= RockstarAlbumName.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (RockstarAlbumName.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(RockstarAlbumName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (RockstarAlbumName.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(RockstarAlbumName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (Age != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (RockstarAlbumName.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(RockstarAlbumName);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryJoinedRockstarAlbumsCustomSelect other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.RockstarAlbumName.Length != 0) {
        RockstarAlbumName = other.RockstarAlbumName;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
          case 1618: {
            RockstarAlbumName = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
          case 1618: {
            RockstarAlbumName = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryJoinedRockstarAlbumsCustomSelectResponse : pb::IMessage<QueryJoinedRockstarAlbumsCustomSelectResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryJoinedRockstarAlbumsCustomSelectResponse> _parser = new pb::MessageParser<QueryJoinedRockstarAlbumsCustomSelectResponse>(() => new QueryJoinedRockstarAlbumsCustomSelectResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryJoinedRockstarAlbumsCustomSelectResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[128]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryJoinedRockstarAlbumsCustomSelectResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryJoinedRockstarAlbumsCustomSelectResponse(QueryJoinedRockstarAlbumsCustomSelectResponse other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      age_ = other.age_;
      rockstarAlbumName_ = other.rockstarAlbumName_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryJoinedRockstarAlbumsCustomSelectResponse Clone() {
      return new QueryJoinedRockstarAlbumsCustomSelectResponse(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 201;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "RockstarAlbumName" field.</summary>
    public const int RockstarAlbumNameFieldNumber = 202;
    private string rockstarAlbumName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RockstarAlbumName {
      get { return rockstarAlbumName_; }
      set {
        rockstarAlbumName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryJoinedRockstarAlbumsCustomSelectResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryJoinedRockstarAlbumsCustomSelectResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (Age != other.Age) return false;
      if (RockstarAlbumName != other.RockstarAlbumName) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (RockstarAlbumName.Length != 0) hash ^= RockstarAlbumName.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (RockstarAlbumName.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(RockstarAlbumName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (RockstarAlbumName.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(RockstarAlbumName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (Age != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (RockstarAlbumName.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(RockstarAlbumName);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryJoinedRockstarAlbumsCustomSelectResponse other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.RockstarAlbumName.Length != 0) {
        RockstarAlbumName = other.RockstarAlbumName;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
          case 1618: {
            RockstarAlbumName = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
          case 1618: {
            RockstarAlbumName = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryMovies : pb::IMessage<QueryMovies>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryMovies> _parser = new pb::MessageParser<QueryMovies>(() => new QueryMovies());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryMovies> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[129]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryMovies() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryMovies(QueryMovies other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      ids_ = other.ids_.Clone();
      imdbIds_ = other.imdbIds_.Clone();
      ratings_ = other.ratings_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryMovies Clone() {
      return new QueryMovies(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Ids" field.</summary>
    public const int IdsFieldNumber = 201;
    private static readonly pb::FieldCodec<int> _repeated_ids_codec
        = pb::FieldCodec.ForInt32(1608);
    private readonly pbc::RepeatedField<int> ids_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Ids {
      get { return ids_; }
    }

    /// <summary>Field number for the "ImdbIds" field.</summary>
    public const int ImdbIdsFieldNumber = 202;
    private static readonly pb::FieldCodec<string> _repeated_imdbIds_codec
        = pb::FieldCodec.ForString(1618);
    private readonly pbc::RepeatedField<string> imdbIds_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> ImdbIds {
      get { return imdbIds_; }
    }

    /// <summary>Field number for the "Ratings" field.</summary>
    public const int RatingsFieldNumber = 203;
    private static readonly pb::FieldCodec<string> _repeated_ratings_codec
        = pb::FieldCodec.ForString(1626);
    private readonly pbc::RepeatedField<string> ratings_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> Ratings {
      get { return ratings_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryMovies);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryMovies other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if(!ids_.Equals(other.ids_)) return false;
      if(!imdbIds_.Equals(other.imdbIds_)) return false;
      if(!ratings_.Equals(other.ratings_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      hash ^= ids_.GetHashCode();
      hash ^= imdbIds_.GetHashCode();
      hash ^= ratings_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      ids_.WriteTo(output, _repeated_ids_codec);
      imdbIds_.WriteTo(output, _repeated_imdbIds_codec);
      ratings_.WriteTo(output, _repeated_ratings_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      ids_.WriteTo(ref output, _repeated_ids_codec);
      imdbIds_.WriteTo(ref output, _repeated_imdbIds_codec);
      ratings_.WriteTo(ref output, _repeated_ratings_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      size += ids_.CalculateSize(_repeated_ids_codec);
      size += imdbIds_.CalculateSize(_repeated_imdbIds_codec);
      size += ratings_.CalculateSize(_repeated_ratings_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryMovies other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      ids_.Add(other.ids_);
      imdbIds_.Add(other.imdbIds_);
      ratings_.Add(other.ratings_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1610:
          case 1608: {
            ids_.AddEntriesFrom(input, _repeated_ids_codec);
            break;
          }
          case 1618: {
            imdbIds_.AddEntriesFrom(input, _repeated_imdbIds_codec);
            break;
          }
          case 1626: {
            ratings_.AddEntriesFrom(input, _repeated_ratings_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1610:
          case 1608: {
            ids_.AddEntriesFrom(ref input, _repeated_ids_codec);
            break;
          }
          case 1618: {
            imdbIds_.AddEntriesFrom(ref input, _repeated_imdbIds_codec);
            break;
          }
          case 1626: {
            ratings_.AddEntriesFrom(ref input, _repeated_ratings_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryMultiJoinRockstar : pb::IMessage<QueryMultiJoinRockstar>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryMultiJoinRockstar> _parser = new pb::MessageParser<QueryMultiJoinRockstar>(() => new QueryMultiJoinRockstar());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryMultiJoinRockstar> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[130]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryMultiJoinRockstar() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryMultiJoinRockstar(QueryMultiJoinRockstar other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      age_ = other.age_;
      rockstarAlbumName_ = other.rockstarAlbumName_;
      rockstarGenreName_ = other.rockstarGenreName_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryMultiJoinRockstar Clone() {
      return new QueryMultiJoinRockstar(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 201;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "RockstarAlbumName" field.</summary>
    public const int RockstarAlbumNameFieldNumber = 202;
    private string rockstarAlbumName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RockstarAlbumName {
      get { return rockstarAlbumName_; }
      set {
        rockstarAlbumName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "RockstarGenreName" field.</summary>
    public const int RockstarGenreNameFieldNumber = 203;
    private string rockstarGenreName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RockstarGenreName {
      get { return rockstarGenreName_; }
      set {
        rockstarGenreName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryMultiJoinRockstar);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryMultiJoinRockstar other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (Age != other.Age) return false;
      if (RockstarAlbumName != other.RockstarAlbumName) return false;
      if (RockstarGenreName != other.RockstarGenreName) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (RockstarAlbumName.Length != 0) hash ^= RockstarAlbumName.GetHashCode();
      if (RockstarGenreName.Length != 0) hash ^= RockstarGenreName.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (RockstarAlbumName.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(RockstarAlbumName);
      }
      if (RockstarGenreName.Length != 0) {
        output.WriteRawTag(218, 12);
        output.WriteString(RockstarGenreName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (RockstarAlbumName.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(RockstarAlbumName);
      }
      if (RockstarGenreName.Length != 0) {
        output.WriteRawTag(218, 12);
        output.WriteString(RockstarGenreName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (Age != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (RockstarAlbumName.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(RockstarAlbumName);
      }
      if (RockstarGenreName.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(RockstarGenreName);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryMultiJoinRockstar other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.RockstarAlbumName.Length != 0) {
        RockstarAlbumName = other.RockstarAlbumName;
      }
      if (other.RockstarGenreName.Length != 0) {
        RockstarGenreName = other.RockstarGenreName;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
          case 1618: {
            RockstarAlbumName = input.ReadString();
            break;
          }
          case 1626: {
            RockstarGenreName = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
          case 1618: {
            RockstarAlbumName = input.ReadString();
            break;
          }
          case 1626: {
            RockstarGenreName = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryOrRockstars : pb::IMessage<QueryOrRockstars>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryOrRockstars> _parser = new pb::MessageParser<QueryOrRockstars>(() => new QueryOrRockstars());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryOrRockstars> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[131]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryOrRockstars() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryOrRockstars(QueryOrRockstars other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      age_ = other.age_;
      firstName_ = other.firstName_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryOrRockstars Clone() {
      return new QueryOrRockstars(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 201;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 202;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryOrRockstars);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryOrRockstars other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (Age != other.Age) return false;
      if (FirstName != other.FirstName) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(FirstName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(FirstName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (Age != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (FirstName.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryOrRockstars other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
          case 1618: {
            FirstName = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
          case 1618: {
            FirstName = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryOrRockstarsFields : pb::IMessage<QueryOrRockstarsFields>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryOrRockstarsFields> _parser = new pb::MessageParser<QueryOrRockstarsFields>(() => new QueryOrRockstarsFields());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryOrRockstarsFields> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[132]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryOrRockstarsFields() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryOrRockstarsFields(QueryOrRockstarsFields other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryOrRockstarsFields Clone() {
      return new QueryOrRockstarsFields(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 201;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 202;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryOrRockstarsFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryOrRockstarsFields other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (FirstName.Length != 0) {
        output.WriteRawTag(202, 12);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(LastName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (FirstName.Length != 0) {
        output.WriteRawTag(202, 12);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(LastName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (FirstName.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryOrRockstarsFields other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1610: {
            FirstName = input.ReadString();
            break;
          }
          case 1618: {
            LastName = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1610: {
            FirstName = input.ReadString();
            break;
          }
          case 1618: {
            LastName = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryOverridedCustomRockstars : pb::IMessage<QueryOverridedCustomRockstars>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryOverridedCustomRockstars> _parser = new pb::MessageParser<QueryOverridedCustomRockstars>(() => new QueryOverridedCustomRockstars());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryOverridedCustomRockstars> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[133]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryOverridedCustomRockstars() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryOverridedCustomRockstars(QueryOverridedCustomRockstars other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      age_ = other.age_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryOverridedCustomRockstars Clone() {
      return new QueryOverridedCustomRockstars(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 201;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryOverridedCustomRockstars);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryOverridedCustomRockstars other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (Age != other.Age) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (Age != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryOverridedCustomRockstars other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.Age != 0) {
        Age = other.Age;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryOverridedRockstars : pb::IMessage<QueryOverridedRockstars>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryOverridedRockstars> _parser = new pb::MessageParser<QueryOverridedRockstars>(() => new QueryOverridedRockstars());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryOverridedRockstars> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[134]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryOverridedRockstars() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryOverridedRockstars(QueryOverridedRockstars other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      age_ = other.age_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryOverridedRockstars Clone() {
      return new QueryOverridedRockstars(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 201;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryOverridedRockstars);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryOverridedRockstars other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (Age != other.Age) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (Age != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryOverridedRockstars other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.Age != 0) {
        Age = other.Age;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryPagingTest : pb::IMessage<QueryPagingTest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryPagingTest> _parser = new pb::MessageParser<QueryPagingTest>(() => new QueryPagingTest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryPagingTest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[135]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryPagingTest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryPagingTest(QueryPagingTest other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      id_ = other.id_;
      name_ = other.name_;
      value_ = other.value_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryPagingTest Clone() {
      return new QueryPagingTest(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 201;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 202;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Value" field.</summary>
    public const int ValueFieldNumber = 203;
    private int value_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Value {
      get { return value_; }
      set {
        value_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryPagingTest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryPagingTest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Value != other.Value) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (Id != 0) hash ^= Id.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Value != 0) hash ^= Value.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (Id != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(Name);
      }
      if (Value != 0) {
        output.WriteRawTag(216, 12);
        output.WriteInt32(Value);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (Id != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(Name);
      }
      if (Value != 0) {
        output.WriteRawTag(216, 12);
        output.WriteInt32(Value);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (Id != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Value != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Value);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryPagingTest other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Value != 0) {
        Value = other.Value;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1608: {
            Id = input.ReadInt32();
            break;
          }
          case 1618: {
            Name = input.ReadString();
            break;
          }
          case 1624: {
            Value = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1608: {
            Id = input.ReadInt32();
            break;
          }
          case 1618: {
            Name = input.ReadString();
            break;
          }
          case 1624: {
            Value = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryResponse_Adhoc : pb::IMessage<QueryResponse_Adhoc>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryResponse_Adhoc> _parser = new pb::MessageParser<QueryResponse_Adhoc>(() => new QueryResponse_Adhoc());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryResponse_Adhoc> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[136]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_Adhoc() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_Adhoc(QueryResponse_Adhoc other) : this() {
      offset_ = other.offset_;
      total_ = other.total_;
      results_ = other.results_.Clone();
      meta_ = other.meta_.Clone();
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_Adhoc Clone() {
      return new QueryResponse_Adhoc(this);
    }

    /// <summary>Field number for the "Offset" field.</summary>
    public const int OffsetFieldNumber = 1;
    private int offset_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Offset {
      get { return offset_; }
      set {
        offset_ = value;
      }
    }

    /// <summary>Field number for the "Total" field.</summary>
    public const int TotalFieldNumber = 2;
    private int total_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Total {
      get { return total_; }
      set {
        total_ = value;
      }
    }

    /// <summary>Field number for the "Results" field.</summary>
    public const int ResultsFieldNumber = 3;
    private static readonly pb::FieldCodec<global::ServiceStack.Extensions.Tests.Protoc.Adhoc> _repeated_results_codec
        = pb::FieldCodec.ForMessage(26, global::ServiceStack.Extensions.Tests.Protoc.Adhoc.Parser);
    private readonly pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.Adhoc> results_ = new pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.Adhoc>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.Adhoc> Results {
      get { return results_; }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 4;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 34);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 5;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryResponse_Adhoc);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryResponse_Adhoc other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Offset != other.Offset) return false;
      if (Total != other.Total) return false;
      if(!results_.Equals(other.results_)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Offset != 0) hash ^= Offset.GetHashCode();
      if (Total != 0) hash ^= Total.GetHashCode();
      hash ^= results_.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(output, _repeated_results_codec);
      meta_.WriteTo(output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(ref output, _repeated_results_codec);
      meta_.WriteTo(ref output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Offset != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Offset);
      }
      if (Total != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Total);
      }
      size += results_.CalculateSize(_repeated_results_codec);
      size += meta_.CalculateSize(_map_meta_codec);
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryResponse_Adhoc other) {
      if (other == null) {
        return;
      }
      if (other.Offset != 0) {
        Offset = other.Offset;
      }
      if (other.Total != 0) {
        Total = other.Total;
      }
      results_.Add(other.results_);
      meta_.Add(other.meta_);
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(ref input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryResponse_AllFields : pb::IMessage<QueryResponse_AllFields>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryResponse_AllFields> _parser = new pb::MessageParser<QueryResponse_AllFields>(() => new QueryResponse_AllFields());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryResponse_AllFields> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[137]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_AllFields() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_AllFields(QueryResponse_AllFields other) : this() {
      offset_ = other.offset_;
      total_ = other.total_;
      results_ = other.results_.Clone();
      meta_ = other.meta_.Clone();
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_AllFields Clone() {
      return new QueryResponse_AllFields(this);
    }

    /// <summary>Field number for the "Offset" field.</summary>
    public const int OffsetFieldNumber = 1;
    private int offset_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Offset {
      get { return offset_; }
      set {
        offset_ = value;
      }
    }

    /// <summary>Field number for the "Total" field.</summary>
    public const int TotalFieldNumber = 2;
    private int total_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Total {
      get { return total_; }
      set {
        total_ = value;
      }
    }

    /// <summary>Field number for the "Results" field.</summary>
    public const int ResultsFieldNumber = 3;
    private static readonly pb::FieldCodec<global::ServiceStack.Extensions.Tests.Protoc.AllFields> _repeated_results_codec
        = pb::FieldCodec.ForMessage(26, global::ServiceStack.Extensions.Tests.Protoc.AllFields.Parser);
    private readonly pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.AllFields> results_ = new pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.AllFields>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.AllFields> Results {
      get { return results_; }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 4;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 34);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 5;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryResponse_AllFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryResponse_AllFields other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Offset != other.Offset) return false;
      if (Total != other.Total) return false;
      if(!results_.Equals(other.results_)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Offset != 0) hash ^= Offset.GetHashCode();
      if (Total != 0) hash ^= Total.GetHashCode();
      hash ^= results_.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(output, _repeated_results_codec);
      meta_.WriteTo(output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(ref output, _repeated_results_codec);
      meta_.WriteTo(ref output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Offset != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Offset);
      }
      if (Total != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Total);
      }
      size += results_.CalculateSize(_repeated_results_codec);
      size += meta_.CalculateSize(_map_meta_codec);
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryResponse_AllFields other) {
      if (other == null) {
        return;
      }
      if (other.Offset != 0) {
        Offset = other.Offset;
      }
      if (other.Total != 0) {
        Total = other.Total;
      }
      results_.Add(other.results_);
      meta_.Add(other.meta_);
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(ref input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryResponse_Booking : pb::IMessage<QueryResponse_Booking>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryResponse_Booking> _parser = new pb::MessageParser<QueryResponse_Booking>(() => new QueryResponse_Booking());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryResponse_Booking> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[138]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_Booking() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_Booking(QueryResponse_Booking other) : this() {
      offset_ = other.offset_;
      total_ = other.total_;
      results_ = other.results_.Clone();
      meta_ = other.meta_.Clone();
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_Booking Clone() {
      return new QueryResponse_Booking(this);
    }

    /// <summary>Field number for the "Offset" field.</summary>
    public const int OffsetFieldNumber = 1;
    private int offset_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Offset {
      get { return offset_; }
      set {
        offset_ = value;
      }
    }

    /// <summary>Field number for the "Total" field.</summary>
    public const int TotalFieldNumber = 2;
    private int total_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Total {
      get { return total_; }
      set {
        total_ = value;
      }
    }

    /// <summary>Field number for the "Results" field.</summary>
    public const int ResultsFieldNumber = 3;
    private static readonly pb::FieldCodec<global::ServiceStack.Extensions.Tests.Protoc.AuditBase> _repeated_results_codec
        = pb::FieldCodec.ForMessage(26, global::ServiceStack.Extensions.Tests.Protoc.AuditBase.Parser);
    private readonly pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.AuditBase> results_ = new pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.AuditBase>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.AuditBase> Results {
      get { return results_; }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 4;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 34);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 5;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryResponse_Booking);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryResponse_Booking other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Offset != other.Offset) return false;
      if (Total != other.Total) return false;
      if(!results_.Equals(other.results_)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Offset != 0) hash ^= Offset.GetHashCode();
      if (Total != 0) hash ^= Total.GetHashCode();
      hash ^= results_.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(output, _repeated_results_codec);
      meta_.WriteTo(output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(ref output, _repeated_results_codec);
      meta_.WriteTo(ref output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Offset != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Offset);
      }
      if (Total != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Total);
      }
      size += results_.CalculateSize(_repeated_results_codec);
      size += meta_.CalculateSize(_map_meta_codec);
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryResponse_Booking other) {
      if (other == null) {
        return;
      }
      if (other.Offset != 0) {
        Offset = other.Offset;
      }
      if (other.Total != 0) {
        Total = other.Total;
      }
      results_.Add(other.results_);
      meta_.Add(other.meta_);
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(ref input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryResponse_Bookmark : pb::IMessage<QueryResponse_Bookmark>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryResponse_Bookmark> _parser = new pb::MessageParser<QueryResponse_Bookmark>(() => new QueryResponse_Bookmark());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryResponse_Bookmark> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[139]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_Bookmark() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_Bookmark(QueryResponse_Bookmark other) : this() {
      offset_ = other.offset_;
      total_ = other.total_;
      results_ = other.results_.Clone();
      meta_ = other.meta_.Clone();
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_Bookmark Clone() {
      return new QueryResponse_Bookmark(this);
    }

    /// <summary>Field number for the "Offset" field.</summary>
    public const int OffsetFieldNumber = 1;
    private int offset_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Offset {
      get { return offset_; }
      set {
        offset_ = value;
      }
    }

    /// <summary>Field number for the "Total" field.</summary>
    public const int TotalFieldNumber = 2;
    private int total_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Total {
      get { return total_; }
      set {
        total_ = value;
      }
    }

    /// <summary>Field number for the "Results" field.</summary>
    public const int ResultsFieldNumber = 3;
    private static readonly pb::FieldCodec<global::ServiceStack.Extensions.Tests.Protoc.DaoBase> _repeated_results_codec
        = pb::FieldCodec.ForMessage(26, global::ServiceStack.Extensions.Tests.Protoc.DaoBase.Parser);
    private readonly pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.DaoBase> results_ = new pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.DaoBase>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.DaoBase> Results {
      get { return results_; }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 4;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 34);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 5;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryResponse_Bookmark);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryResponse_Bookmark other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Offset != other.Offset) return false;
      if (Total != other.Total) return false;
      if(!results_.Equals(other.results_)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Offset != 0) hash ^= Offset.GetHashCode();
      if (Total != 0) hash ^= Total.GetHashCode();
      hash ^= results_.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(output, _repeated_results_codec);
      meta_.WriteTo(output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(ref output, _repeated_results_codec);
      meta_.WriteTo(ref output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Offset != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Offset);
      }
      if (Total != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Total);
      }
      size += results_.CalculateSize(_repeated_results_codec);
      size += meta_.CalculateSize(_map_meta_codec);
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryResponse_Bookmark other) {
      if (other == null) {
        return;
      }
      if (other.Offset != 0) {
        Offset = other.Offset;
      }
      if (other.Total != 0) {
        Total = other.Total;
      }
      results_.Add(other.results_);
      meta_.Add(other.meta_);
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(ref input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryResponse_CustomRockstar : pb::IMessage<QueryResponse_CustomRockstar>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryResponse_CustomRockstar> _parser = new pb::MessageParser<QueryResponse_CustomRockstar>(() => new QueryResponse_CustomRockstar());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryResponse_CustomRockstar> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[140]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_CustomRockstar() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_CustomRockstar(QueryResponse_CustomRockstar other) : this() {
      offset_ = other.offset_;
      total_ = other.total_;
      results_ = other.results_.Clone();
      meta_ = other.meta_.Clone();
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_CustomRockstar Clone() {
      return new QueryResponse_CustomRockstar(this);
    }

    /// <summary>Field number for the "Offset" field.</summary>
    public const int OffsetFieldNumber = 1;
    private int offset_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Offset {
      get { return offset_; }
      set {
        offset_ = value;
      }
    }

    /// <summary>Field number for the "Total" field.</summary>
    public const int TotalFieldNumber = 2;
    private int total_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Total {
      get { return total_; }
      set {
        total_ = value;
      }
    }

    /// <summary>Field number for the "Results" field.</summary>
    public const int ResultsFieldNumber = 3;
    private static readonly pb::FieldCodec<global::ServiceStack.Extensions.Tests.Protoc.CustomRockstar> _repeated_results_codec
        = pb::FieldCodec.ForMessage(26, global::ServiceStack.Extensions.Tests.Protoc.CustomRockstar.Parser);
    private readonly pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.CustomRockstar> results_ = new pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.CustomRockstar>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.CustomRockstar> Results {
      get { return results_; }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 4;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 34);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 5;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryResponse_CustomRockstar);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryResponse_CustomRockstar other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Offset != other.Offset) return false;
      if (Total != other.Total) return false;
      if(!results_.Equals(other.results_)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Offset != 0) hash ^= Offset.GetHashCode();
      if (Total != 0) hash ^= Total.GetHashCode();
      hash ^= results_.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(output, _repeated_results_codec);
      meta_.WriteTo(output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(ref output, _repeated_results_codec);
      meta_.WriteTo(ref output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Offset != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Offset);
      }
      if (Total != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Total);
      }
      size += results_.CalculateSize(_repeated_results_codec);
      size += meta_.CalculateSize(_map_meta_codec);
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryResponse_CustomRockstar other) {
      if (other == null) {
        return;
      }
      if (other.Offset != 0) {
        Offset = other.Offset;
      }
      if (other.Total != 0) {
        Total = other.Total;
      }
      results_.Add(other.results_);
      meta_.Add(other.meta_);
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(ref input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryResponse_CustomRockstarSchema : pb::IMessage<QueryResponse_CustomRockstarSchema>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryResponse_CustomRockstarSchema> _parser = new pb::MessageParser<QueryResponse_CustomRockstarSchema>(() => new QueryResponse_CustomRockstarSchema());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryResponse_CustomRockstarSchema> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[141]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_CustomRockstarSchema() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_CustomRockstarSchema(QueryResponse_CustomRockstarSchema other) : this() {
      offset_ = other.offset_;
      total_ = other.total_;
      results_ = other.results_.Clone();
      meta_ = other.meta_.Clone();
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_CustomRockstarSchema Clone() {
      return new QueryResponse_CustomRockstarSchema(this);
    }

    /// <summary>Field number for the "Offset" field.</summary>
    public const int OffsetFieldNumber = 1;
    private int offset_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Offset {
      get { return offset_; }
      set {
        offset_ = value;
      }
    }

    /// <summary>Field number for the "Total" field.</summary>
    public const int TotalFieldNumber = 2;
    private int total_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Total {
      get { return total_; }
      set {
        total_ = value;
      }
    }

    /// <summary>Field number for the "Results" field.</summary>
    public const int ResultsFieldNumber = 3;
    private static readonly pb::FieldCodec<global::ServiceStack.Extensions.Tests.Protoc.CustomRockstarSchema> _repeated_results_codec
        = pb::FieldCodec.ForMessage(26, global::ServiceStack.Extensions.Tests.Protoc.CustomRockstarSchema.Parser);
    private readonly pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.CustomRockstarSchema> results_ = new pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.CustomRockstarSchema>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.CustomRockstarSchema> Results {
      get { return results_; }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 4;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 34);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 5;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryResponse_CustomRockstarSchema);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryResponse_CustomRockstarSchema other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Offset != other.Offset) return false;
      if (Total != other.Total) return false;
      if(!results_.Equals(other.results_)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Offset != 0) hash ^= Offset.GetHashCode();
      if (Total != 0) hash ^= Total.GetHashCode();
      hash ^= results_.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(output, _repeated_results_codec);
      meta_.WriteTo(output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(ref output, _repeated_results_codec);
      meta_.WriteTo(ref output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Offset != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Offset);
      }
      if (Total != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Total);
      }
      size += results_.CalculateSize(_repeated_results_codec);
      size += meta_.CalculateSize(_map_meta_codec);
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryResponse_CustomRockstarSchema other) {
      if (other == null) {
        return;
      }
      if (other.Offset != 0) {
        Offset = other.Offset;
      }
      if (other.Total != 0) {
        Total = other.Total;
      }
      results_.Add(other.results_);
      meta_.Add(other.meta_);
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(ref input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryResponse_CustomSelectRockstar : pb::IMessage<QueryResponse_CustomSelectRockstar>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryResponse_CustomSelectRockstar> _parser = new pb::MessageParser<QueryResponse_CustomSelectRockstar>(() => new QueryResponse_CustomSelectRockstar());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryResponse_CustomSelectRockstar> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[142]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_CustomSelectRockstar() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_CustomSelectRockstar(QueryResponse_CustomSelectRockstar other) : this() {
      offset_ = other.offset_;
      total_ = other.total_;
      results_ = other.results_.Clone();
      meta_ = other.meta_.Clone();
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_CustomSelectRockstar Clone() {
      return new QueryResponse_CustomSelectRockstar(this);
    }

    /// <summary>Field number for the "Offset" field.</summary>
    public const int OffsetFieldNumber = 1;
    private int offset_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Offset {
      get { return offset_; }
      set {
        offset_ = value;
      }
    }

    /// <summary>Field number for the "Total" field.</summary>
    public const int TotalFieldNumber = 2;
    private int total_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Total {
      get { return total_; }
      set {
        total_ = value;
      }
    }

    /// <summary>Field number for the "Results" field.</summary>
    public const int ResultsFieldNumber = 3;
    private static readonly pb::FieldCodec<global::ServiceStack.Extensions.Tests.Protoc.CustomSelectRockstar> _repeated_results_codec
        = pb::FieldCodec.ForMessage(26, global::ServiceStack.Extensions.Tests.Protoc.CustomSelectRockstar.Parser);
    private readonly pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.CustomSelectRockstar> results_ = new pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.CustomSelectRockstar>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.CustomSelectRockstar> Results {
      get { return results_; }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 4;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 34);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 5;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryResponse_CustomSelectRockstar);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryResponse_CustomSelectRockstar other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Offset != other.Offset) return false;
      if (Total != other.Total) return false;
      if(!results_.Equals(other.results_)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Offset != 0) hash ^= Offset.GetHashCode();
      if (Total != 0) hash ^= Total.GetHashCode();
      hash ^= results_.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(output, _repeated_results_codec);
      meta_.WriteTo(output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(ref output, _repeated_results_codec);
      meta_.WriteTo(ref output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Offset != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Offset);
      }
      if (Total != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Total);
      }
      size += results_.CalculateSize(_repeated_results_codec);
      size += meta_.CalculateSize(_map_meta_codec);
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryResponse_CustomSelectRockstar other) {
      if (other == null) {
        return;
      }
      if (other.Offset != 0) {
        Offset = other.Offset;
      }
      if (other.Total != 0) {
        Total = other.Total;
      }
      results_.Add(other.results_);
      meta_.Add(other.meta_);
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(ref input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryResponse_CustomSelectRockstarResponse : pb::IMessage<QueryResponse_CustomSelectRockstarResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryResponse_CustomSelectRockstarResponse> _parser = new pb::MessageParser<QueryResponse_CustomSelectRockstarResponse>(() => new QueryResponse_CustomSelectRockstarResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryResponse_CustomSelectRockstarResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[143]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_CustomSelectRockstarResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_CustomSelectRockstarResponse(QueryResponse_CustomSelectRockstarResponse other) : this() {
      offset_ = other.offset_;
      total_ = other.total_;
      results_ = other.results_.Clone();
      meta_ = other.meta_.Clone();
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_CustomSelectRockstarResponse Clone() {
      return new QueryResponse_CustomSelectRockstarResponse(this);
    }

    /// <summary>Field number for the "Offset" field.</summary>
    public const int OffsetFieldNumber = 1;
    private int offset_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Offset {
      get { return offset_; }
      set {
        offset_ = value;
      }
    }

    /// <summary>Field number for the "Total" field.</summary>
    public const int TotalFieldNumber = 2;
    private int total_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Total {
      get { return total_; }
      set {
        total_ = value;
      }
    }

    /// <summary>Field number for the "Results" field.</summary>
    public const int ResultsFieldNumber = 3;
    private static readonly pb::FieldCodec<global::ServiceStack.Extensions.Tests.Protoc.CustomSelectRockstarResponse> _repeated_results_codec
        = pb::FieldCodec.ForMessage(26, global::ServiceStack.Extensions.Tests.Protoc.CustomSelectRockstarResponse.Parser);
    private readonly pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.CustomSelectRockstarResponse> results_ = new pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.CustomSelectRockstarResponse>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.CustomSelectRockstarResponse> Results {
      get { return results_; }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 4;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 34);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 5;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryResponse_CustomSelectRockstarResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryResponse_CustomSelectRockstarResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Offset != other.Offset) return false;
      if (Total != other.Total) return false;
      if(!results_.Equals(other.results_)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Offset != 0) hash ^= Offset.GetHashCode();
      if (Total != 0) hash ^= Total.GetHashCode();
      hash ^= results_.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(output, _repeated_results_codec);
      meta_.WriteTo(output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(ref output, _repeated_results_codec);
      meta_.WriteTo(ref output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Offset != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Offset);
      }
      if (Total != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Total);
      }
      size += results_.CalculateSize(_repeated_results_codec);
      size += meta_.CalculateSize(_map_meta_codec);
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryResponse_CustomSelectRockstarResponse other) {
      if (other == null) {
        return;
      }
      if (other.Offset != 0) {
        Offset = other.Offset;
      }
      if (other.Total != 0) {
        Total = other.Total;
      }
      results_.Add(other.results_);
      meta_.Add(other.meta_);
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(ref input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryResponse_Foo : pb::IMessage<QueryResponse_Foo>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryResponse_Foo> _parser = new pb::MessageParser<QueryResponse_Foo>(() => new QueryResponse_Foo());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryResponse_Foo> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[144]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_Foo() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_Foo(QueryResponse_Foo other) : this() {
      offset_ = other.offset_;
      total_ = other.total_;
      results_ = other.results_.Clone();
      meta_ = other.meta_.Clone();
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_Foo Clone() {
      return new QueryResponse_Foo(this);
    }

    /// <summary>Field number for the "Offset" field.</summary>
    public const int OffsetFieldNumber = 1;
    private int offset_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Offset {
      get { return offset_; }
      set {
        offset_ = value;
      }
    }

    /// <summary>Field number for the "Total" field.</summary>
    public const int TotalFieldNumber = 2;
    private int total_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Total {
      get { return total_; }
      set {
        total_ = value;
      }
    }

    /// <summary>Field number for the "Results" field.</summary>
    public const int ResultsFieldNumber = 3;
    private static readonly pb::FieldCodec<global::ServiceStack.Extensions.Tests.Protoc.Foo> _repeated_results_codec
        = pb::FieldCodec.ForMessage(26, global::ServiceStack.Extensions.Tests.Protoc.Foo.Parser);
    private readonly pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.Foo> results_ = new pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.Foo>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.Foo> Results {
      get { return results_; }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 4;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 34);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 5;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryResponse_Foo);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryResponse_Foo other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Offset != other.Offset) return false;
      if (Total != other.Total) return false;
      if(!results_.Equals(other.results_)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Offset != 0) hash ^= Offset.GetHashCode();
      if (Total != 0) hash ^= Total.GetHashCode();
      hash ^= results_.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(output, _repeated_results_codec);
      meta_.WriteTo(output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(ref output, _repeated_results_codec);
      meta_.WriteTo(ref output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Offset != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Offset);
      }
      if (Total != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Total);
      }
      size += results_.CalculateSize(_repeated_results_codec);
      size += meta_.CalculateSize(_map_meta_codec);
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryResponse_Foo other) {
      if (other == null) {
        return;
      }
      if (other.Offset != 0) {
        Offset = other.Offset;
      }
      if (other.Total != 0) {
        Total = other.Total;
      }
      results_.Add(other.results_);
      meta_.Add(other.meta_);
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(ref input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryResponse_Movie : pb::IMessage<QueryResponse_Movie>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryResponse_Movie> _parser = new pb::MessageParser<QueryResponse_Movie>(() => new QueryResponse_Movie());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryResponse_Movie> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[145]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_Movie() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_Movie(QueryResponse_Movie other) : this() {
      offset_ = other.offset_;
      total_ = other.total_;
      results_ = other.results_.Clone();
      meta_ = other.meta_.Clone();
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_Movie Clone() {
      return new QueryResponse_Movie(this);
    }

    /// <summary>Field number for the "Offset" field.</summary>
    public const int OffsetFieldNumber = 1;
    private int offset_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Offset {
      get { return offset_; }
      set {
        offset_ = value;
      }
    }

    /// <summary>Field number for the "Total" field.</summary>
    public const int TotalFieldNumber = 2;
    private int total_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Total {
      get { return total_; }
      set {
        total_ = value;
      }
    }

    /// <summary>Field number for the "Results" field.</summary>
    public const int ResultsFieldNumber = 3;
    private static readonly pb::FieldCodec<global::ServiceStack.Extensions.Tests.Protoc.Movie> _repeated_results_codec
        = pb::FieldCodec.ForMessage(26, global::ServiceStack.Extensions.Tests.Protoc.Movie.Parser);
    private readonly pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.Movie> results_ = new pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.Movie>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.Movie> Results {
      get { return results_; }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 4;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 34);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 5;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryResponse_Movie);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryResponse_Movie other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Offset != other.Offset) return false;
      if (Total != other.Total) return false;
      if(!results_.Equals(other.results_)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Offset != 0) hash ^= Offset.GetHashCode();
      if (Total != 0) hash ^= Total.GetHashCode();
      hash ^= results_.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(output, _repeated_results_codec);
      meta_.WriteTo(output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(ref output, _repeated_results_codec);
      meta_.WriteTo(ref output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Offset != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Offset);
      }
      if (Total != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Total);
      }
      size += results_.CalculateSize(_repeated_results_codec);
      size += meta_.CalculateSize(_map_meta_codec);
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryResponse_Movie other) {
      if (other == null) {
        return;
      }
      if (other.Offset != 0) {
        Offset = other.Offset;
      }
      if (other.Total != 0) {
        Total = other.Total;
      }
      results_.Add(other.results_);
      meta_.Add(other.meta_);
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(ref input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryResponse_PagingTest : pb::IMessage<QueryResponse_PagingTest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryResponse_PagingTest> _parser = new pb::MessageParser<QueryResponse_PagingTest>(() => new QueryResponse_PagingTest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryResponse_PagingTest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[146]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_PagingTest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_PagingTest(QueryResponse_PagingTest other) : this() {
      offset_ = other.offset_;
      total_ = other.total_;
      results_ = other.results_.Clone();
      meta_ = other.meta_.Clone();
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_PagingTest Clone() {
      return new QueryResponse_PagingTest(this);
    }

    /// <summary>Field number for the "Offset" field.</summary>
    public const int OffsetFieldNumber = 1;
    private int offset_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Offset {
      get { return offset_; }
      set {
        offset_ = value;
      }
    }

    /// <summary>Field number for the "Total" field.</summary>
    public const int TotalFieldNumber = 2;
    private int total_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Total {
      get { return total_; }
      set {
        total_ = value;
      }
    }

    /// <summary>Field number for the "Results" field.</summary>
    public const int ResultsFieldNumber = 3;
    private static readonly pb::FieldCodec<global::ServiceStack.Extensions.Tests.Protoc.PagingTest> _repeated_results_codec
        = pb::FieldCodec.ForMessage(26, global::ServiceStack.Extensions.Tests.Protoc.PagingTest.Parser);
    private readonly pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.PagingTest> results_ = new pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.PagingTest>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.PagingTest> Results {
      get { return results_; }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 4;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 34);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 5;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryResponse_PagingTest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryResponse_PagingTest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Offset != other.Offset) return false;
      if (Total != other.Total) return false;
      if(!results_.Equals(other.results_)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Offset != 0) hash ^= Offset.GetHashCode();
      if (Total != 0) hash ^= Total.GetHashCode();
      hash ^= results_.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(output, _repeated_results_codec);
      meta_.WriteTo(output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(ref output, _repeated_results_codec);
      meta_.WriteTo(ref output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Offset != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Offset);
      }
      if (Total != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Total);
      }
      size += results_.CalculateSize(_repeated_results_codec);
      size += meta_.CalculateSize(_map_meta_codec);
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryResponse_PagingTest other) {
      if (other == null) {
        return;
      }
      if (other.Offset != 0) {
        Offset = other.Offset;
      }
      if (other.Total != 0) {
        Total = other.Total;
      }
      results_.Add(other.results_);
      meta_.Add(other.meta_);
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(ref input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryResponse_Rockstar : pb::IMessage<QueryResponse_Rockstar>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryResponse_Rockstar> _parser = new pb::MessageParser<QueryResponse_Rockstar>(() => new QueryResponse_Rockstar());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryResponse_Rockstar> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[147]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_Rockstar() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_Rockstar(QueryResponse_Rockstar other) : this() {
      offset_ = other.offset_;
      total_ = other.total_;
      results_ = other.results_.Clone();
      meta_ = other.meta_.Clone();
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_Rockstar Clone() {
      return new QueryResponse_Rockstar(this);
    }

    /// <summary>Field number for the "Offset" field.</summary>
    public const int OffsetFieldNumber = 1;
    private int offset_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Offset {
      get { return offset_; }
      set {
        offset_ = value;
      }
    }

    /// <summary>Field number for the "Total" field.</summary>
    public const int TotalFieldNumber = 2;
    private int total_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Total {
      get { return total_; }
      set {
        total_ = value;
      }
    }

    /// <summary>Field number for the "Results" field.</summary>
    public const int ResultsFieldNumber = 3;
    private static readonly pb::FieldCodec<global::ServiceStack.Extensions.Tests.Protoc.Rockstar> _repeated_results_codec
        = pb::FieldCodec.ForMessage(26, global::ServiceStack.Extensions.Tests.Protoc.Rockstar.Parser);
    private readonly pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.Rockstar> results_ = new pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.Rockstar>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.Rockstar> Results {
      get { return results_; }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 4;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 34);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 5;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryResponse_Rockstar);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryResponse_Rockstar other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Offset != other.Offset) return false;
      if (Total != other.Total) return false;
      if(!results_.Equals(other.results_)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Offset != 0) hash ^= Offset.GetHashCode();
      if (Total != 0) hash ^= Total.GetHashCode();
      hash ^= results_.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(output, _repeated_results_codec);
      meta_.WriteTo(output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(ref output, _repeated_results_codec);
      meta_.WriteTo(ref output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Offset != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Offset);
      }
      if (Total != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Total);
      }
      size += results_.CalculateSize(_repeated_results_codec);
      size += meta_.CalculateSize(_map_meta_codec);
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryResponse_Rockstar other) {
      if (other == null) {
        return;
      }
      if (other.Offset != 0) {
        Offset = other.Offset;
      }
      if (other.Total != 0) {
        Total = other.Total;
      }
      results_.Add(other.results_);
      meta_.Add(other.meta_);
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(ref input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryResponse_RockstarAlbum : pb::IMessage<QueryResponse_RockstarAlbum>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryResponse_RockstarAlbum> _parser = new pb::MessageParser<QueryResponse_RockstarAlbum>(() => new QueryResponse_RockstarAlbum());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryResponse_RockstarAlbum> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[148]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_RockstarAlbum() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_RockstarAlbum(QueryResponse_RockstarAlbum other) : this() {
      offset_ = other.offset_;
      total_ = other.total_;
      results_ = other.results_.Clone();
      meta_ = other.meta_.Clone();
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_RockstarAlbum Clone() {
      return new QueryResponse_RockstarAlbum(this);
    }

    /// <summary>Field number for the "Offset" field.</summary>
    public const int OffsetFieldNumber = 1;
    private int offset_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Offset {
      get { return offset_; }
      set {
        offset_ = value;
      }
    }

    /// <summary>Field number for the "Total" field.</summary>
    public const int TotalFieldNumber = 2;
    private int total_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Total {
      get { return total_; }
      set {
        total_ = value;
      }
    }

    /// <summary>Field number for the "Results" field.</summary>
    public const int ResultsFieldNumber = 3;
    private static readonly pb::FieldCodec<global::ServiceStack.Extensions.Tests.Protoc.RockstarAlbum> _repeated_results_codec
        = pb::FieldCodec.ForMessage(26, global::ServiceStack.Extensions.Tests.Protoc.RockstarAlbum.Parser);
    private readonly pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.RockstarAlbum> results_ = new pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.RockstarAlbum>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.RockstarAlbum> Results {
      get { return results_; }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 4;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 34);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 5;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryResponse_RockstarAlbum);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryResponse_RockstarAlbum other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Offset != other.Offset) return false;
      if (Total != other.Total) return false;
      if(!results_.Equals(other.results_)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Offset != 0) hash ^= Offset.GetHashCode();
      if (Total != 0) hash ^= Total.GetHashCode();
      hash ^= results_.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(output, _repeated_results_codec);
      meta_.WriteTo(output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(ref output, _repeated_results_codec);
      meta_.WriteTo(ref output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Offset != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Offset);
      }
      if (Total != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Total);
      }
      size += results_.CalculateSize(_repeated_results_codec);
      size += meta_.CalculateSize(_map_meta_codec);
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryResponse_RockstarAlbum other) {
      if (other == null) {
        return;
      }
      if (other.Offset != 0) {
        Offset = other.Offset;
      }
      if (other.Total != 0) {
        Total = other.Total;
      }
      results_.Add(other.results_);
      meta_.Add(other.meta_);
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(ref input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryResponse_RockstarAlias : pb::IMessage<QueryResponse_RockstarAlias>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryResponse_RockstarAlias> _parser = new pb::MessageParser<QueryResponse_RockstarAlias>(() => new QueryResponse_RockstarAlias());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryResponse_RockstarAlias> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[149]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_RockstarAlias() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_RockstarAlias(QueryResponse_RockstarAlias other) : this() {
      offset_ = other.offset_;
      total_ = other.total_;
      results_ = other.results_.Clone();
      meta_ = other.meta_.Clone();
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_RockstarAlias Clone() {
      return new QueryResponse_RockstarAlias(this);
    }

    /// <summary>Field number for the "Offset" field.</summary>
    public const int OffsetFieldNumber = 1;
    private int offset_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Offset {
      get { return offset_; }
      set {
        offset_ = value;
      }
    }

    /// <summary>Field number for the "Total" field.</summary>
    public const int TotalFieldNumber = 2;
    private int total_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Total {
      get { return total_; }
      set {
        total_ = value;
      }
    }

    /// <summary>Field number for the "Results" field.</summary>
    public const int ResultsFieldNumber = 3;
    private static readonly pb::FieldCodec<global::ServiceStack.Extensions.Tests.Protoc.RockstarAlias> _repeated_results_codec
        = pb::FieldCodec.ForMessage(26, global::ServiceStack.Extensions.Tests.Protoc.RockstarAlias.Parser);
    private readonly pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.RockstarAlias> results_ = new pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.RockstarAlias>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.RockstarAlias> Results {
      get { return results_; }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 4;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 34);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 5;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryResponse_RockstarAlias);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryResponse_RockstarAlias other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Offset != other.Offset) return false;
      if (Total != other.Total) return false;
      if(!results_.Equals(other.results_)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Offset != 0) hash ^= Offset.GetHashCode();
      if (Total != 0) hash ^= Total.GetHashCode();
      hash ^= results_.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(output, _repeated_results_codec);
      meta_.WriteTo(output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(ref output, _repeated_results_codec);
      meta_.WriteTo(ref output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Offset != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Offset);
      }
      if (Total != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Total);
      }
      size += results_.CalculateSize(_repeated_results_codec);
      size += meta_.CalculateSize(_map_meta_codec);
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryResponse_RockstarAlias other) {
      if (other == null) {
        return;
      }
      if (other.Offset != 0) {
        Offset = other.Offset;
      }
      if (other.Total != 0) {
        Total = other.Total;
      }
      results_.Add(other.results_);
      meta_.Add(other.meta_);
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(ref input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryResponse_RockstarAuto : pb::IMessage<QueryResponse_RockstarAuto>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryResponse_RockstarAuto> _parser = new pb::MessageParser<QueryResponse_RockstarAuto>(() => new QueryResponse_RockstarAuto());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryResponse_RockstarAuto> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[150]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_RockstarAuto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_RockstarAuto(QueryResponse_RockstarAuto other) : this() {
      offset_ = other.offset_;
      total_ = other.total_;
      results_ = other.results_.Clone();
      meta_ = other.meta_.Clone();
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_RockstarAuto Clone() {
      return new QueryResponse_RockstarAuto(this);
    }

    /// <summary>Field number for the "Offset" field.</summary>
    public const int OffsetFieldNumber = 1;
    private int offset_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Offset {
      get { return offset_; }
      set {
        offset_ = value;
      }
    }

    /// <summary>Field number for the "Total" field.</summary>
    public const int TotalFieldNumber = 2;
    private int total_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Total {
      get { return total_; }
      set {
        total_ = value;
      }
    }

    /// <summary>Field number for the "Results" field.</summary>
    public const int ResultsFieldNumber = 3;
    private static readonly pb::FieldCodec<global::ServiceStack.Extensions.Tests.Protoc.RockstarBase> _repeated_results_codec
        = pb::FieldCodec.ForMessage(26, global::ServiceStack.Extensions.Tests.Protoc.RockstarBase.Parser);
    private readonly pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.RockstarBase> results_ = new pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.RockstarBase>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.RockstarBase> Results {
      get { return results_; }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 4;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 34);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 5;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryResponse_RockstarAuto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryResponse_RockstarAuto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Offset != other.Offset) return false;
      if (Total != other.Total) return false;
      if(!results_.Equals(other.results_)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Offset != 0) hash ^= Offset.GetHashCode();
      if (Total != 0) hash ^= Total.GetHashCode();
      hash ^= results_.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(output, _repeated_results_codec);
      meta_.WriteTo(output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(ref output, _repeated_results_codec);
      meta_.WriteTo(ref output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Offset != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Offset);
      }
      if (Total != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Total);
      }
      size += results_.CalculateSize(_repeated_results_codec);
      size += meta_.CalculateSize(_map_meta_codec);
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryResponse_RockstarAuto other) {
      if (other == null) {
        return;
      }
      if (other.Offset != 0) {
        Offset = other.Offset;
      }
      if (other.Total != 0) {
        Total = other.Total;
      }
      results_.Add(other.results_);
      meta_.Add(other.meta_);
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(ref input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryResponse_RockstarReference : pb::IMessage<QueryResponse_RockstarReference>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryResponse_RockstarReference> _parser = new pb::MessageParser<QueryResponse_RockstarReference>(() => new QueryResponse_RockstarReference());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryResponse_RockstarReference> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[151]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_RockstarReference() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_RockstarReference(QueryResponse_RockstarReference other) : this() {
      offset_ = other.offset_;
      total_ = other.total_;
      results_ = other.results_.Clone();
      meta_ = other.meta_.Clone();
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_RockstarReference Clone() {
      return new QueryResponse_RockstarReference(this);
    }

    /// <summary>Field number for the "Offset" field.</summary>
    public const int OffsetFieldNumber = 1;
    private int offset_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Offset {
      get { return offset_; }
      set {
        offset_ = value;
      }
    }

    /// <summary>Field number for the "Total" field.</summary>
    public const int TotalFieldNumber = 2;
    private int total_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Total {
      get { return total_; }
      set {
        total_ = value;
      }
    }

    /// <summary>Field number for the "Results" field.</summary>
    public const int ResultsFieldNumber = 3;
    private static readonly pb::FieldCodec<global::ServiceStack.Extensions.Tests.Protoc.RockstarReference> _repeated_results_codec
        = pb::FieldCodec.ForMessage(26, global::ServiceStack.Extensions.Tests.Protoc.RockstarReference.Parser);
    private readonly pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.RockstarReference> results_ = new pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.RockstarReference>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.RockstarReference> Results {
      get { return results_; }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 4;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 34);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 5;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryResponse_RockstarReference);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryResponse_RockstarReference other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Offset != other.Offset) return false;
      if (Total != other.Total) return false;
      if(!results_.Equals(other.results_)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Offset != 0) hash ^= Offset.GetHashCode();
      if (Total != 0) hash ^= Total.GetHashCode();
      hash ^= results_.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(output, _repeated_results_codec);
      meta_.WriteTo(output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(ref output, _repeated_results_codec);
      meta_.WriteTo(ref output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Offset != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Offset);
      }
      if (Total != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Total);
      }
      size += results_.CalculateSize(_repeated_results_codec);
      size += meta_.CalculateSize(_map_meta_codec);
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryResponse_RockstarReference other) {
      if (other == null) {
        return;
      }
      if (other.Offset != 0) {
        Offset = other.Offset;
      }
      if (other.Total != 0) {
        Total = other.Total;
      }
      results_.Add(other.results_);
      meta_.Add(other.meta_);
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(ref input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryResponse_TypeWithEnum : pb::IMessage<QueryResponse_TypeWithEnum>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryResponse_TypeWithEnum> _parser = new pb::MessageParser<QueryResponse_TypeWithEnum>(() => new QueryResponse_TypeWithEnum());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryResponse_TypeWithEnum> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[152]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_TypeWithEnum() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_TypeWithEnum(QueryResponse_TypeWithEnum other) : this() {
      offset_ = other.offset_;
      total_ = other.total_;
      results_ = other.results_.Clone();
      meta_ = other.meta_.Clone();
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryResponse_TypeWithEnum Clone() {
      return new QueryResponse_TypeWithEnum(this);
    }

    /// <summary>Field number for the "Offset" field.</summary>
    public const int OffsetFieldNumber = 1;
    private int offset_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Offset {
      get { return offset_; }
      set {
        offset_ = value;
      }
    }

    /// <summary>Field number for the "Total" field.</summary>
    public const int TotalFieldNumber = 2;
    private int total_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Total {
      get { return total_; }
      set {
        total_ = value;
      }
    }

    /// <summary>Field number for the "Results" field.</summary>
    public const int ResultsFieldNumber = 3;
    private static readonly pb::FieldCodec<global::ServiceStack.Extensions.Tests.Protoc.TypeWithEnum> _repeated_results_codec
        = pb::FieldCodec.ForMessage(26, global::ServiceStack.Extensions.Tests.Protoc.TypeWithEnum.Parser);
    private readonly pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.TypeWithEnum> results_ = new pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.TypeWithEnum>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.TypeWithEnum> Results {
      get { return results_; }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 4;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 34);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 5;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryResponse_TypeWithEnum);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryResponse_TypeWithEnum other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Offset != other.Offset) return false;
      if (Total != other.Total) return false;
      if(!results_.Equals(other.results_)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Offset != 0) hash ^= Offset.GetHashCode();
      if (Total != 0) hash ^= Total.GetHashCode();
      hash ^= results_.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(output, _repeated_results_codec);
      meta_.WriteTo(output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Offset != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Offset);
      }
      if (Total != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Total);
      }
      results_.WriteTo(ref output, _repeated_results_codec);
      meta_.WriteTo(ref output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Offset != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Offset);
      }
      if (Total != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Total);
      }
      size += results_.CalculateSize(_repeated_results_codec);
      size += meta_.CalculateSize(_map_meta_codec);
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryResponse_TypeWithEnum other) {
      if (other == null) {
        return;
      }
      if (other.Offset != 0) {
        Offset = other.Offset;
      }
      if (other.Total != 0) {
        Total = other.Total;
      }
      results_.Add(other.results_);
      meta_.Add(other.meta_);
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Offset = input.ReadInt32();
            break;
          }
          case 16: {
            Total = input.ReadInt32();
            break;
          }
          case 26: {
            results_.AddEntriesFrom(ref input, _repeated_results_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 42: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryRockstarAlbums : pb::IMessage<QueryRockstarAlbums>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryRockstarAlbums> _parser = new pb::MessageParser<QueryRockstarAlbums>(() => new QueryRockstarAlbums());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryRockstarAlbums> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[153]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarAlbums() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarAlbums(QueryRockstarAlbums other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      id_ = other.id_;
      rockstarId_ = other.rockstarId_;
      name_ = other.name_;
      genre_ = other.genre_;
      idBetween_ = other.idBetween_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarAlbums Clone() {
      return new QueryRockstarAlbums(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 201;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "RockstarId" field.</summary>
    public const int RockstarIdFieldNumber = 202;
    private int rockstarId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RockstarId {
      get { return rockstarId_; }
      set {
        rockstarId_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 203;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Genre" field.</summary>
    public const int GenreFieldNumber = 204;
    private string genre_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Genre {
      get { return genre_; }
      set {
        genre_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "IdBetween" field.</summary>
    public const int IdBetweenFieldNumber = 205;
    private static readonly pb::FieldCodec<int> _repeated_idBetween_codec
        = pb::FieldCodec.ForInt32(1640);
    private readonly pbc::RepeatedField<int> idBetween_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> IdBetween {
      get { return idBetween_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryRockstarAlbums);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryRockstarAlbums other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (Id != other.Id) return false;
      if (RockstarId != other.RockstarId) return false;
      if (Name != other.Name) return false;
      if (Genre != other.Genre) return false;
      if(!idBetween_.Equals(other.idBetween_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (Id != 0) hash ^= Id.GetHashCode();
      if (RockstarId != 0) hash ^= RockstarId.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Genre.Length != 0) hash ^= Genre.GetHashCode();
      hash ^= idBetween_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (Id != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Id);
      }
      if (RockstarId != 0) {
        output.WriteRawTag(208, 12);
        output.WriteInt32(RockstarId);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(218, 12);
        output.WriteString(Name);
      }
      if (Genre.Length != 0) {
        output.WriteRawTag(226, 12);
        output.WriteString(Genre);
      }
      idBetween_.WriteTo(output, _repeated_idBetween_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (Id != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Id);
      }
      if (RockstarId != 0) {
        output.WriteRawTag(208, 12);
        output.WriteInt32(RockstarId);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(218, 12);
        output.WriteString(Name);
      }
      if (Genre.Length != 0) {
        output.WriteRawTag(226, 12);
        output.WriteString(Genre);
      }
      idBetween_.WriteTo(ref output, _repeated_idBetween_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (Id != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (RockstarId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RockstarId);
      }
      if (Name.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Genre.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Genre);
      }
      size += idBetween_.CalculateSize(_repeated_idBetween_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryRockstarAlbums other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.RockstarId != 0) {
        RockstarId = other.RockstarId;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Genre.Length != 0) {
        Genre = other.Genre;
      }
      idBetween_.Add(other.idBetween_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1608: {
            Id = input.ReadInt32();
            break;
          }
          case 1616: {
            RockstarId = input.ReadInt32();
            break;
          }
          case 1626: {
            Name = input.ReadString();
            break;
          }
          case 1634: {
            Genre = input.ReadString();
            break;
          }
          case 1642:
          case 1640: {
            idBetween_.AddEntriesFrom(input, _repeated_idBetween_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1608: {
            Id = input.ReadInt32();
            break;
          }
          case 1616: {
            RockstarId = input.ReadInt32();
            break;
          }
          case 1626: {
            Name = input.ReadString();
            break;
          }
          case 1634: {
            Genre = input.ReadString();
            break;
          }
          case 1642:
          case 1640: {
            idBetween_.AddEntriesFrom(ref input, _repeated_idBetween_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryRockstarAlbumsCustomLeftJoin : pb::IMessage<QueryRockstarAlbumsCustomLeftJoin>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryRockstarAlbumsCustomLeftJoin> _parser = new pb::MessageParser<QueryRockstarAlbumsCustomLeftJoin>(() => new QueryRockstarAlbumsCustomLeftJoin());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryRockstarAlbumsCustomLeftJoin> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[154]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarAlbumsCustomLeftJoin() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarAlbumsCustomLeftJoin(QueryRockstarAlbumsCustomLeftJoin other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      age_ = other.age_;
      albumName_ = other.albumName_;
      idNotEqualTo_ = other.idNotEqualTo_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarAlbumsCustomLeftJoin Clone() {
      return new QueryRockstarAlbumsCustomLeftJoin(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 201;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "AlbumName" field.</summary>
    public const int AlbumNameFieldNumber = 202;
    private string albumName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AlbumName {
      get { return albumName_; }
      set {
        albumName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "IdNotEqualTo" field.</summary>
    public const int IdNotEqualToFieldNumber = 203;
    private int idNotEqualTo_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int IdNotEqualTo {
      get { return idNotEqualTo_; }
      set {
        idNotEqualTo_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryRockstarAlbumsCustomLeftJoin);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryRockstarAlbumsCustomLeftJoin other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (Age != other.Age) return false;
      if (AlbumName != other.AlbumName) return false;
      if (IdNotEqualTo != other.IdNotEqualTo) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (AlbumName.Length != 0) hash ^= AlbumName.GetHashCode();
      if (IdNotEqualTo != 0) hash ^= IdNotEqualTo.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (AlbumName.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(AlbumName);
      }
      if (IdNotEqualTo != 0) {
        output.WriteRawTag(216, 12);
        output.WriteInt32(IdNotEqualTo);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (AlbumName.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(AlbumName);
      }
      if (IdNotEqualTo != 0) {
        output.WriteRawTag(216, 12);
        output.WriteInt32(IdNotEqualTo);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (Age != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (AlbumName.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(AlbumName);
      }
      if (IdNotEqualTo != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(IdNotEqualTo);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryRockstarAlbumsCustomLeftJoin other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.AlbumName.Length != 0) {
        AlbumName = other.AlbumName;
      }
      if (other.IdNotEqualTo != 0) {
        IdNotEqualTo = other.IdNotEqualTo;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
          case 1618: {
            AlbumName = input.ReadString();
            break;
          }
          case 1624: {
            IdNotEqualTo = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
          case 1618: {
            AlbumName = input.ReadString();
            break;
          }
          case 1624: {
            IdNotEqualTo = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryRockstarAlbumsImplicit : pb::IMessage<QueryRockstarAlbumsImplicit>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryRockstarAlbumsImplicit> _parser = new pb::MessageParser<QueryRockstarAlbumsImplicit>(() => new QueryRockstarAlbumsImplicit());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryRockstarAlbumsImplicit> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[155]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarAlbumsImplicit() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarAlbumsImplicit(QueryRockstarAlbumsImplicit other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarAlbumsImplicit Clone() {
      return new QueryRockstarAlbumsImplicit(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryRockstarAlbumsImplicit);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryRockstarAlbumsImplicit other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryRockstarAlbumsImplicit other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryRockstarAlbumsLeftJoin : pb::IMessage<QueryRockstarAlbumsLeftJoin>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryRockstarAlbumsLeftJoin> _parser = new pb::MessageParser<QueryRockstarAlbumsLeftJoin>(() => new QueryRockstarAlbumsLeftJoin());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryRockstarAlbumsLeftJoin> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[156]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarAlbumsLeftJoin() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarAlbumsLeftJoin(QueryRockstarAlbumsLeftJoin other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      age_ = other.age_;
      albumName_ = other.albumName_;
      idNotEqualTo_ = other.idNotEqualTo_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarAlbumsLeftJoin Clone() {
      return new QueryRockstarAlbumsLeftJoin(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 201;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "AlbumName" field.</summary>
    public const int AlbumNameFieldNumber = 202;
    private string albumName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AlbumName {
      get { return albumName_; }
      set {
        albumName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "IdNotEqualTo" field.</summary>
    public const int IdNotEqualToFieldNumber = 203;
    private int idNotEqualTo_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int IdNotEqualTo {
      get { return idNotEqualTo_; }
      set {
        idNotEqualTo_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryRockstarAlbumsLeftJoin);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryRockstarAlbumsLeftJoin other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (Age != other.Age) return false;
      if (AlbumName != other.AlbumName) return false;
      if (IdNotEqualTo != other.IdNotEqualTo) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (AlbumName.Length != 0) hash ^= AlbumName.GetHashCode();
      if (IdNotEqualTo != 0) hash ^= IdNotEqualTo.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (AlbumName.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(AlbumName);
      }
      if (IdNotEqualTo != 0) {
        output.WriteRawTag(216, 12);
        output.WriteInt32(IdNotEqualTo);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (AlbumName.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(AlbumName);
      }
      if (IdNotEqualTo != 0) {
        output.WriteRawTag(216, 12);
        output.WriteInt32(IdNotEqualTo);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (Age != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (AlbumName.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(AlbumName);
      }
      if (IdNotEqualTo != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(IdNotEqualTo);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryRockstarAlbumsLeftJoin other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.AlbumName.Length != 0) {
        AlbumName = other.AlbumName;
      }
      if (other.IdNotEqualTo != 0) {
        IdNotEqualTo = other.IdNotEqualTo;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
          case 1618: {
            AlbumName = input.ReadString();
            break;
          }
          case 1624: {
            IdNotEqualTo = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
          case 1618: {
            AlbumName = input.ReadString();
            break;
          }
          case 1624: {
            IdNotEqualTo = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryRockstarAlias : pb::IMessage<QueryRockstarAlias>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryRockstarAlias> _parser = new pb::MessageParser<QueryRockstarAlias>(() => new QueryRockstarAlias());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryRockstarAlias> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[157]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarAlias() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarAlias(QueryRockstarAlias other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      age_ = other.age_;
      rockstarAlbumName_ = other.rockstarAlbumName_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarAlias Clone() {
      return new QueryRockstarAlias(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 201;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "RockstarAlbumName" field.</summary>
    public const int RockstarAlbumNameFieldNumber = 202;
    private string rockstarAlbumName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RockstarAlbumName {
      get { return rockstarAlbumName_; }
      set {
        rockstarAlbumName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryRockstarAlias);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryRockstarAlias other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (Age != other.Age) return false;
      if (RockstarAlbumName != other.RockstarAlbumName) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (RockstarAlbumName.Length != 0) hash ^= RockstarAlbumName.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (RockstarAlbumName.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(RockstarAlbumName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (RockstarAlbumName.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(RockstarAlbumName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (Age != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (RockstarAlbumName.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(RockstarAlbumName);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryRockstarAlias other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.RockstarAlbumName.Length != 0) {
        RockstarAlbumName = other.RockstarAlbumName;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
          case 1618: {
            RockstarAlbumName = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
          case 1618: {
            RockstarAlbumName = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryRockstarAudit : pb::IMessage<QueryRockstarAudit>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryRockstarAudit> _parser = new pb::MessageParser<QueryRockstarAudit>(() => new QueryRockstarAudit());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryRockstarAudit> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[158]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarAudit() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarAudit(QueryRockstarAudit other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      id_ = other.id_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarAudit Clone() {
      return new QueryRockstarAudit(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 301;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryRockstarAudit);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryRockstarAudit other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (Id != other.Id) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (Id != 0) hash ^= Id.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (Id != 0) {
        output.WriteRawTag(232, 18);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (Id != 0) {
        output.WriteRawTag(232, 18);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (Id != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryRockstarAudit other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.Id != 0) {
        Id = other.Id;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 2408: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 2408: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryRockstarAuditSubOr : pb::IMessage<QueryRockstarAuditSubOr>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryRockstarAuditSubOr> _parser = new pb::MessageParser<QueryRockstarAuditSubOr>(() => new QueryRockstarAuditSubOr());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryRockstarAuditSubOr> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[159]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarAuditSubOr() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarAuditSubOr(QueryRockstarAuditSubOr other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      firstNameStartsWith_ = other.firstNameStartsWith_;
      ageOlderThan_ = other.ageOlderThan_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarAuditSubOr Clone() {
      return new QueryRockstarAuditSubOr(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "FirstNameStartsWith" field.</summary>
    public const int FirstNameStartsWithFieldNumber = 201;
    private string firstNameStartsWith_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstNameStartsWith {
      get { return firstNameStartsWith_; }
      set {
        firstNameStartsWith_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "AgeOlderThan" field.</summary>
    public const int AgeOlderThanFieldNumber = 202;
    private int ageOlderThan_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AgeOlderThan {
      get { return ageOlderThan_; }
      set {
        ageOlderThan_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryRockstarAuditSubOr);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryRockstarAuditSubOr other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (FirstNameStartsWith != other.FirstNameStartsWith) return false;
      if (AgeOlderThan != other.AgeOlderThan) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (FirstNameStartsWith.Length != 0) hash ^= FirstNameStartsWith.GetHashCode();
      if (AgeOlderThan != 0) hash ^= AgeOlderThan.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (FirstNameStartsWith.Length != 0) {
        output.WriteRawTag(202, 12);
        output.WriteString(FirstNameStartsWith);
      }
      if (AgeOlderThan != 0) {
        output.WriteRawTag(208, 12);
        output.WriteInt32(AgeOlderThan);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (FirstNameStartsWith.Length != 0) {
        output.WriteRawTag(202, 12);
        output.WriteString(FirstNameStartsWith);
      }
      if (AgeOlderThan != 0) {
        output.WriteRawTag(208, 12);
        output.WriteInt32(AgeOlderThan);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (FirstNameStartsWith.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(FirstNameStartsWith);
      }
      if (AgeOlderThan != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AgeOlderThan);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryRockstarAuditSubOr other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.FirstNameStartsWith.Length != 0) {
        FirstNameStartsWith = other.FirstNameStartsWith;
      }
      if (other.AgeOlderThan != 0) {
        AgeOlderThan = other.AgeOlderThan;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1610: {
            FirstNameStartsWith = input.ReadString();
            break;
          }
          case 1616: {
            AgeOlderThan = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1610: {
            FirstNameStartsWith = input.ReadString();
            break;
          }
          case 1616: {
            AgeOlderThan = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryRockstarFilters : pb::IMessage<QueryRockstarFilters>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryRockstarFilters> _parser = new pb::MessageParser<QueryRockstarFilters>(() => new QueryRockstarFilters());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryRockstarFilters> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[160]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarFilters() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarFilters(QueryRockstarFilters other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      ids_ = other.ids_.Clone();
      ages_ = other.ages_.Clone();
      firstNames_ = other.firstNames_.Clone();
      idsBetween_ = other.idsBetween_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarFilters Clone() {
      return new QueryRockstarFilters(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Ids" field.</summary>
    public const int IdsFieldNumber = 201;
    private static readonly pb::FieldCodec<int> _repeated_ids_codec
        = pb::FieldCodec.ForInt32(1608);
    private readonly pbc::RepeatedField<int> ids_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Ids {
      get { return ids_; }
    }

    /// <summary>Field number for the "Ages" field.</summary>
    public const int AgesFieldNumber = 202;
    private static readonly pb::FieldCodec<int> _repeated_ages_codec
        = pb::FieldCodec.ForInt32(1616);
    private readonly pbc::RepeatedField<int> ages_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Ages {
      get { return ages_; }
    }

    /// <summary>Field number for the "FirstNames" field.</summary>
    public const int FirstNamesFieldNumber = 203;
    private static readonly pb::FieldCodec<string> _repeated_firstNames_codec
        = pb::FieldCodec.ForString(1626);
    private readonly pbc::RepeatedField<string> firstNames_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> FirstNames {
      get { return firstNames_; }
    }

    /// <summary>Field number for the "IdsBetween" field.</summary>
    public const int IdsBetweenFieldNumber = 204;
    private static readonly pb::FieldCodec<int> _repeated_idsBetween_codec
        = pb::FieldCodec.ForInt32(1632);
    private readonly pbc::RepeatedField<int> idsBetween_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> IdsBetween {
      get { return idsBetween_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryRockstarFilters);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryRockstarFilters other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if(!ids_.Equals(other.ids_)) return false;
      if(!ages_.Equals(other.ages_)) return false;
      if(!firstNames_.Equals(other.firstNames_)) return false;
      if(!idsBetween_.Equals(other.idsBetween_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      hash ^= ids_.GetHashCode();
      hash ^= ages_.GetHashCode();
      hash ^= firstNames_.GetHashCode();
      hash ^= idsBetween_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      ids_.WriteTo(output, _repeated_ids_codec);
      ages_.WriteTo(output, _repeated_ages_codec);
      firstNames_.WriteTo(output, _repeated_firstNames_codec);
      idsBetween_.WriteTo(output, _repeated_idsBetween_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      ids_.WriteTo(ref output, _repeated_ids_codec);
      ages_.WriteTo(ref output, _repeated_ages_codec);
      firstNames_.WriteTo(ref output, _repeated_firstNames_codec);
      idsBetween_.WriteTo(ref output, _repeated_idsBetween_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      size += ids_.CalculateSize(_repeated_ids_codec);
      size += ages_.CalculateSize(_repeated_ages_codec);
      size += firstNames_.CalculateSize(_repeated_firstNames_codec);
      size += idsBetween_.CalculateSize(_repeated_idsBetween_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryRockstarFilters other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      ids_.Add(other.ids_);
      ages_.Add(other.ages_);
      firstNames_.Add(other.firstNames_);
      idsBetween_.Add(other.idsBetween_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1610:
          case 1608: {
            ids_.AddEntriesFrom(input, _repeated_ids_codec);
            break;
          }
          case 1618:
          case 1616: {
            ages_.AddEntriesFrom(input, _repeated_ages_codec);
            break;
          }
          case 1626: {
            firstNames_.AddEntriesFrom(input, _repeated_firstNames_codec);
            break;
          }
          case 1634:
          case 1632: {
            idsBetween_.AddEntriesFrom(input, _repeated_idsBetween_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1610:
          case 1608: {
            ids_.AddEntriesFrom(ref input, _repeated_ids_codec);
            break;
          }
          case 1618:
          case 1616: {
            ages_.AddEntriesFrom(ref input, _repeated_ages_codec);
            break;
          }
          case 1626: {
            firstNames_.AddEntriesFrom(ref input, _repeated_firstNames_codec);
            break;
          }
          case 1634:
          case 1632: {
            idsBetween_.AddEntriesFrom(ref input, _repeated_idsBetween_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryRockstars : pb::IMessage<QueryRockstars>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryRockstars> _parser = new pb::MessageParser<QueryRockstars>(() => new QueryRockstars());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryRockstars> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[161]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstars() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstars(QueryRockstars other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      age_ = other.age_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstars Clone() {
      return new QueryRockstars(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 201;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryRockstars);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryRockstars other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (Age != other.Age) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (Age != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryRockstars other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.Age != 0) {
        Age = other.Age;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryRockstarsConventions : pb::IMessage<QueryRockstarsConventions>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryRockstarsConventions> _parser = new pb::MessageParser<QueryRockstarsConventions>(() => new QueryRockstarsConventions());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryRockstarsConventions> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[162]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarsConventions() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarsConventions(QueryRockstarsConventions other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      dateOfBirthGreaterThan_ = other.dateOfBirthGreaterThan_ != null ? other.dateOfBirthGreaterThan_.Clone() : null;
      dateDiedLessThan_ = other.dateDiedLessThan_ != null ? other.dateDiedLessThan_.Clone() : null;
      ids_ = other.ids_.Clone();
      ageOlderThan_ = other.ageOlderThan_;
      ageGreaterThanOrEqualTo_ = other.ageGreaterThanOrEqualTo_;
      ageGreaterThan_ = other.ageGreaterThan_;
      greaterThanAge_ = other.greaterThanAge_;
      firstNameStartsWith_ = other.firstNameStartsWith_;
      lastNameEndsWith_ = other.lastNameEndsWith_;
      lastNameContains_ = other.lastNameContains_;
      rockstarAlbumNameContains_ = other.rockstarAlbumNameContains_;
      rockstarIdAfter_ = other.rockstarIdAfter_;
      rockstarIdOnOrAfter_ = other.rockstarIdOnOrAfter_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarsConventions Clone() {
      return new QueryRockstarsConventions(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "DateOfBirthGreaterThan" field.</summary>
    public const int DateOfBirthGreaterThanFieldNumber = 201;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirthGreaterThan_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirthGreaterThan {
      get { return dateOfBirthGreaterThan_; }
      set {
        dateOfBirthGreaterThan_ = value;
      }
    }

    /// <summary>Field number for the "DateDiedLessThan" field.</summary>
    public const int DateDiedLessThanFieldNumber = 202;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateDiedLessThan_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateDiedLessThan {
      get { return dateDiedLessThan_; }
      set {
        dateDiedLessThan_ = value;
      }
    }

    /// <summary>Field number for the "Ids" field.</summary>
    public const int IdsFieldNumber = 203;
    private static readonly pb::FieldCodec<int> _repeated_ids_codec
        = pb::FieldCodec.ForInt32(1624);
    private readonly pbc::RepeatedField<int> ids_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Ids {
      get { return ids_; }
    }

    /// <summary>Field number for the "AgeOlderThan" field.</summary>
    public const int AgeOlderThanFieldNumber = 204;
    private int ageOlderThan_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AgeOlderThan {
      get { return ageOlderThan_; }
      set {
        ageOlderThan_ = value;
      }
    }

    /// <summary>Field number for the "AgeGreaterThanOrEqualTo" field.</summary>
    public const int AgeGreaterThanOrEqualToFieldNumber = 205;
    private int ageGreaterThanOrEqualTo_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AgeGreaterThanOrEqualTo {
      get { return ageGreaterThanOrEqualTo_; }
      set {
        ageGreaterThanOrEqualTo_ = value;
      }
    }

    /// <summary>Field number for the "AgeGreaterThan" field.</summary>
    public const int AgeGreaterThanFieldNumber = 206;
    private int ageGreaterThan_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AgeGreaterThan {
      get { return ageGreaterThan_; }
      set {
        ageGreaterThan_ = value;
      }
    }

    /// <summary>Field number for the "GreaterThanAge" field.</summary>
    public const int GreaterThanAgeFieldNumber = 207;
    private int greaterThanAge_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GreaterThanAge {
      get { return greaterThanAge_; }
      set {
        greaterThanAge_ = value;
      }
    }

    /// <summary>Field number for the "FirstNameStartsWith" field.</summary>
    public const int FirstNameStartsWithFieldNumber = 208;
    private string firstNameStartsWith_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstNameStartsWith {
      get { return firstNameStartsWith_; }
      set {
        firstNameStartsWith_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastNameEndsWith" field.</summary>
    public const int LastNameEndsWithFieldNumber = 209;
    private string lastNameEndsWith_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastNameEndsWith {
      get { return lastNameEndsWith_; }
      set {
        lastNameEndsWith_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastNameContains" field.</summary>
    public const int LastNameContainsFieldNumber = 210;
    private string lastNameContains_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastNameContains {
      get { return lastNameContains_; }
      set {
        lastNameContains_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "RockstarAlbumNameContains" field.</summary>
    public const int RockstarAlbumNameContainsFieldNumber = 211;
    private string rockstarAlbumNameContains_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RockstarAlbumNameContains {
      get { return rockstarAlbumNameContains_; }
      set {
        rockstarAlbumNameContains_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "RockstarIdAfter" field.</summary>
    public const int RockstarIdAfterFieldNumber = 212;
    private int rockstarIdAfter_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RockstarIdAfter {
      get { return rockstarIdAfter_; }
      set {
        rockstarIdAfter_ = value;
      }
    }

    /// <summary>Field number for the "RockstarIdOnOrAfter" field.</summary>
    public const int RockstarIdOnOrAfterFieldNumber = 213;
    private int rockstarIdOnOrAfter_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RockstarIdOnOrAfter {
      get { return rockstarIdOnOrAfter_; }
      set {
        rockstarIdOnOrAfter_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryRockstarsConventions);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryRockstarsConventions other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (!object.Equals(DateOfBirthGreaterThan, other.DateOfBirthGreaterThan)) return false;
      if (!object.Equals(DateDiedLessThan, other.DateDiedLessThan)) return false;
      if(!ids_.Equals(other.ids_)) return false;
      if (AgeOlderThan != other.AgeOlderThan) return false;
      if (AgeGreaterThanOrEqualTo != other.AgeGreaterThanOrEqualTo) return false;
      if (AgeGreaterThan != other.AgeGreaterThan) return false;
      if (GreaterThanAge != other.GreaterThanAge) return false;
      if (FirstNameStartsWith != other.FirstNameStartsWith) return false;
      if (LastNameEndsWith != other.LastNameEndsWith) return false;
      if (LastNameContains != other.LastNameContains) return false;
      if (RockstarAlbumNameContains != other.RockstarAlbumNameContains) return false;
      if (RockstarIdAfter != other.RockstarIdAfter) return false;
      if (RockstarIdOnOrAfter != other.RockstarIdOnOrAfter) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (dateOfBirthGreaterThan_ != null) hash ^= DateOfBirthGreaterThan.GetHashCode();
      if (dateDiedLessThan_ != null) hash ^= DateDiedLessThan.GetHashCode();
      hash ^= ids_.GetHashCode();
      if (AgeOlderThan != 0) hash ^= AgeOlderThan.GetHashCode();
      if (AgeGreaterThanOrEqualTo != 0) hash ^= AgeGreaterThanOrEqualTo.GetHashCode();
      if (AgeGreaterThan != 0) hash ^= AgeGreaterThan.GetHashCode();
      if (GreaterThanAge != 0) hash ^= GreaterThanAge.GetHashCode();
      if (FirstNameStartsWith.Length != 0) hash ^= FirstNameStartsWith.GetHashCode();
      if (LastNameEndsWith.Length != 0) hash ^= LastNameEndsWith.GetHashCode();
      if (LastNameContains.Length != 0) hash ^= LastNameContains.GetHashCode();
      if (RockstarAlbumNameContains.Length != 0) hash ^= RockstarAlbumNameContains.GetHashCode();
      if (RockstarIdAfter != 0) hash ^= RockstarIdAfter.GetHashCode();
      if (RockstarIdOnOrAfter != 0) hash ^= RockstarIdOnOrAfter.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (dateOfBirthGreaterThan_ != null) {
        output.WriteRawTag(202, 12);
        output.WriteMessage(DateOfBirthGreaterThan);
      }
      if (dateDiedLessThan_ != null) {
        output.WriteRawTag(210, 12);
        output.WriteMessage(DateDiedLessThan);
      }
      ids_.WriteTo(output, _repeated_ids_codec);
      if (AgeOlderThan != 0) {
        output.WriteRawTag(224, 12);
        output.WriteInt32(AgeOlderThan);
      }
      if (AgeGreaterThanOrEqualTo != 0) {
        output.WriteRawTag(232, 12);
        output.WriteInt32(AgeGreaterThanOrEqualTo);
      }
      if (AgeGreaterThan != 0) {
        output.WriteRawTag(240, 12);
        output.WriteInt32(AgeGreaterThan);
      }
      if (GreaterThanAge != 0) {
        output.WriteRawTag(248, 12);
        output.WriteInt32(GreaterThanAge);
      }
      if (FirstNameStartsWith.Length != 0) {
        output.WriteRawTag(130, 13);
        output.WriteString(FirstNameStartsWith);
      }
      if (LastNameEndsWith.Length != 0) {
        output.WriteRawTag(138, 13);
        output.WriteString(LastNameEndsWith);
      }
      if (LastNameContains.Length != 0) {
        output.WriteRawTag(146, 13);
        output.WriteString(LastNameContains);
      }
      if (RockstarAlbumNameContains.Length != 0) {
        output.WriteRawTag(154, 13);
        output.WriteString(RockstarAlbumNameContains);
      }
      if (RockstarIdAfter != 0) {
        output.WriteRawTag(160, 13);
        output.WriteInt32(RockstarIdAfter);
      }
      if (RockstarIdOnOrAfter != 0) {
        output.WriteRawTag(168, 13);
        output.WriteInt32(RockstarIdOnOrAfter);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (dateOfBirthGreaterThan_ != null) {
        output.WriteRawTag(202, 12);
        output.WriteMessage(DateOfBirthGreaterThan);
      }
      if (dateDiedLessThan_ != null) {
        output.WriteRawTag(210, 12);
        output.WriteMessage(DateDiedLessThan);
      }
      ids_.WriteTo(ref output, _repeated_ids_codec);
      if (AgeOlderThan != 0) {
        output.WriteRawTag(224, 12);
        output.WriteInt32(AgeOlderThan);
      }
      if (AgeGreaterThanOrEqualTo != 0) {
        output.WriteRawTag(232, 12);
        output.WriteInt32(AgeGreaterThanOrEqualTo);
      }
      if (AgeGreaterThan != 0) {
        output.WriteRawTag(240, 12);
        output.WriteInt32(AgeGreaterThan);
      }
      if (GreaterThanAge != 0) {
        output.WriteRawTag(248, 12);
        output.WriteInt32(GreaterThanAge);
      }
      if (FirstNameStartsWith.Length != 0) {
        output.WriteRawTag(130, 13);
        output.WriteString(FirstNameStartsWith);
      }
      if (LastNameEndsWith.Length != 0) {
        output.WriteRawTag(138, 13);
        output.WriteString(LastNameEndsWith);
      }
      if (LastNameContains.Length != 0) {
        output.WriteRawTag(146, 13);
        output.WriteString(LastNameContains);
      }
      if (RockstarAlbumNameContains.Length != 0) {
        output.WriteRawTag(154, 13);
        output.WriteString(RockstarAlbumNameContains);
      }
      if (RockstarIdAfter != 0) {
        output.WriteRawTag(160, 13);
        output.WriteInt32(RockstarIdAfter);
      }
      if (RockstarIdOnOrAfter != 0) {
        output.WriteRawTag(168, 13);
        output.WriteInt32(RockstarIdOnOrAfter);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (dateOfBirthGreaterThan_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirthGreaterThan);
      }
      if (dateDiedLessThan_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(DateDiedLessThan);
      }
      size += ids_.CalculateSize(_repeated_ids_codec);
      if (AgeOlderThan != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AgeOlderThan);
      }
      if (AgeGreaterThanOrEqualTo != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AgeGreaterThanOrEqualTo);
      }
      if (AgeGreaterThan != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AgeGreaterThan);
      }
      if (GreaterThanAge != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(GreaterThanAge);
      }
      if (FirstNameStartsWith.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(FirstNameStartsWith);
      }
      if (LastNameEndsWith.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(LastNameEndsWith);
      }
      if (LastNameContains.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(LastNameContains);
      }
      if (RockstarAlbumNameContains.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(RockstarAlbumNameContains);
      }
      if (RockstarIdAfter != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RockstarIdAfter);
      }
      if (RockstarIdOnOrAfter != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RockstarIdOnOrAfter);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryRockstarsConventions other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.dateOfBirthGreaterThan_ != null) {
        if (dateOfBirthGreaterThan_ == null) {
          DateOfBirthGreaterThan = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirthGreaterThan.MergeFrom(other.DateOfBirthGreaterThan);
      }
      if (other.dateDiedLessThan_ != null) {
        if (dateDiedLessThan_ == null) {
          DateDiedLessThan = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateDiedLessThan.MergeFrom(other.DateDiedLessThan);
      }
      ids_.Add(other.ids_);
      if (other.AgeOlderThan != 0) {
        AgeOlderThan = other.AgeOlderThan;
      }
      if (other.AgeGreaterThanOrEqualTo != 0) {
        AgeGreaterThanOrEqualTo = other.AgeGreaterThanOrEqualTo;
      }
      if (other.AgeGreaterThan != 0) {
        AgeGreaterThan = other.AgeGreaterThan;
      }
      if (other.GreaterThanAge != 0) {
        GreaterThanAge = other.GreaterThanAge;
      }
      if (other.FirstNameStartsWith.Length != 0) {
        FirstNameStartsWith = other.FirstNameStartsWith;
      }
      if (other.LastNameEndsWith.Length != 0) {
        LastNameEndsWith = other.LastNameEndsWith;
      }
      if (other.LastNameContains.Length != 0) {
        LastNameContains = other.LastNameContains;
      }
      if (other.RockstarAlbumNameContains.Length != 0) {
        RockstarAlbumNameContains = other.RockstarAlbumNameContains;
      }
      if (other.RockstarIdAfter != 0) {
        RockstarIdAfter = other.RockstarIdAfter;
      }
      if (other.RockstarIdOnOrAfter != 0) {
        RockstarIdOnOrAfter = other.RockstarIdOnOrAfter;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1610: {
            if (dateOfBirthGreaterThan_ == null) {
              DateOfBirthGreaterThan = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirthGreaterThan);
            break;
          }
          case 1618: {
            if (dateDiedLessThan_ == null) {
              DateDiedLessThan = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDiedLessThan);
            break;
          }
          case 1626:
          case 1624: {
            ids_.AddEntriesFrom(input, _repeated_ids_codec);
            break;
          }
          case 1632: {
            AgeOlderThan = input.ReadInt32();
            break;
          }
          case 1640: {
            AgeGreaterThanOrEqualTo = input.ReadInt32();
            break;
          }
          case 1648: {
            AgeGreaterThan = input.ReadInt32();
            break;
          }
          case 1656: {
            GreaterThanAge = input.ReadInt32();
            break;
          }
          case 1666: {
            FirstNameStartsWith = input.ReadString();
            break;
          }
          case 1674: {
            LastNameEndsWith = input.ReadString();
            break;
          }
          case 1682: {
            LastNameContains = input.ReadString();
            break;
          }
          case 1690: {
            RockstarAlbumNameContains = input.ReadString();
            break;
          }
          case 1696: {
            RockstarIdAfter = input.ReadInt32();
            break;
          }
          case 1704: {
            RockstarIdOnOrAfter = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1610: {
            if (dateOfBirthGreaterThan_ == null) {
              DateOfBirthGreaterThan = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirthGreaterThan);
            break;
          }
          case 1618: {
            if (dateDiedLessThan_ == null) {
              DateDiedLessThan = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDiedLessThan);
            break;
          }
          case 1626:
          case 1624: {
            ids_.AddEntriesFrom(ref input, _repeated_ids_codec);
            break;
          }
          case 1632: {
            AgeOlderThan = input.ReadInt32();
            break;
          }
          case 1640: {
            AgeGreaterThanOrEqualTo = input.ReadInt32();
            break;
          }
          case 1648: {
            AgeGreaterThan = input.ReadInt32();
            break;
          }
          case 1656: {
            GreaterThanAge = input.ReadInt32();
            break;
          }
          case 1666: {
            FirstNameStartsWith = input.ReadString();
            break;
          }
          case 1674: {
            LastNameEndsWith = input.ReadString();
            break;
          }
          case 1682: {
            LastNameContains = input.ReadString();
            break;
          }
          case 1690: {
            RockstarAlbumNameContains = input.ReadString();
            break;
          }
          case 1696: {
            RockstarIdAfter = input.ReadInt32();
            break;
          }
          case 1704: {
            RockstarIdOnOrAfter = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryRockstarsFilter : pb::IMessage<QueryRockstarsFilter>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryRockstarsFilter> _parser = new pb::MessageParser<QueryRockstarsFilter>(() => new QueryRockstarsFilter());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryRockstarsFilter> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[163]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarsFilter() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarsFilter(QueryRockstarsFilter other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      age_ = other.age_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarsFilter Clone() {
      return new QueryRockstarsFilter(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 201;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryRockstarsFilter);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryRockstarsFilter other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (Age != other.Age) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (Age != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryRockstarsFilter other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.Age != 0) {
        Age = other.Age;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryRockstarsIFilter : pb::IMessage<QueryRockstarsIFilter>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryRockstarsIFilter> _parser = new pb::MessageParser<QueryRockstarsIFilter>(() => new QueryRockstarsIFilter());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryRockstarsIFilter> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[164]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarsIFilter() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarsIFilter(QueryRockstarsIFilter other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      age_ = other.age_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarsIFilter Clone() {
      return new QueryRockstarsIFilter(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 201;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryRockstarsIFilter);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryRockstarsIFilter other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (Age != other.Age) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (Age != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryRockstarsIFilter other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.Age != 0) {
        Age = other.Age;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryRockstarsImplicit : pb::IMessage<QueryRockstarsImplicit>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryRockstarsImplicit> _parser = new pb::MessageParser<QueryRockstarsImplicit>(() => new QueryRockstarsImplicit());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryRockstarsImplicit> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[165]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarsImplicit() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarsImplicit(QueryRockstarsImplicit other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarsImplicit Clone() {
      return new QueryRockstarsImplicit(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryRockstarsImplicit);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryRockstarsImplicit other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryRockstarsImplicit other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryRockstarsWithReferences : pb::IMessage<QueryRockstarsWithReferences>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryRockstarsWithReferences> _parser = new pb::MessageParser<QueryRockstarsWithReferences>(() => new QueryRockstarsWithReferences());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryRockstarsWithReferences> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[166]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarsWithReferences() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarsWithReferences(QueryRockstarsWithReferences other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      age_ = other.age_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryRockstarsWithReferences Clone() {
      return new QueryRockstarsWithReferences(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 201;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryRockstarsWithReferences);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryRockstarsWithReferences other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (Age != other.Age) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (Age != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (Age != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryRockstarsWithReferences other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.Age != 0) {
        Age = other.Age;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1608: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryTypeWithEnums : pb::IMessage<QueryTypeWithEnums>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryTypeWithEnums> _parser = new pb::MessageParser<QueryTypeWithEnums>(() => new QueryTypeWithEnums());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryTypeWithEnums> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[167]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryTypeWithEnums() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryTypeWithEnums(QueryTypeWithEnums other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryTypeWithEnums Clone() {
      return new QueryTypeWithEnums(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryTypeWithEnums);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryTypeWithEnums other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryTypeWithEnums other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class QueryUnknownRockstars : pb::IMessage<QueryUnknownRockstars>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<QueryUnknownRockstars> _parser = new pb::MessageParser<QueryUnknownRockstars>(() => new QueryUnknownRockstars());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<QueryUnknownRockstars> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[168]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryUnknownRockstars() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryUnknownRockstars(QueryUnknownRockstars other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      unknownInt_ = other.unknownInt_;
      unknownProperty_ = other.unknownProperty_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public QueryUnknownRockstars Clone() {
      return new QueryUnknownRockstars(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "UnknownInt" field.</summary>
    public const int UnknownIntFieldNumber = 201;
    private int unknownInt_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int UnknownInt {
      get { return unknownInt_; }
      set {
        unknownInt_ = value;
      }
    }

    /// <summary>Field number for the "UnknownProperty" field.</summary>
    public const int UnknownPropertyFieldNumber = 202;
    private string unknownProperty_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string UnknownProperty {
      get { return unknownProperty_; }
      set {
        unknownProperty_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as QueryUnknownRockstars);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(QueryUnknownRockstars other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (UnknownInt != other.UnknownInt) return false;
      if (UnknownProperty != other.UnknownProperty) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (UnknownInt != 0) hash ^= UnknownInt.GetHashCode();
      if (UnknownProperty.Length != 0) hash ^= UnknownProperty.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (UnknownInt != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(UnknownInt);
      }
      if (UnknownProperty.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(UnknownProperty);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (UnknownInt != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(UnknownInt);
      }
      if (UnknownProperty.Length != 0) {
        output.WriteRawTag(210, 12);
        output.WriteString(UnknownProperty);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (UnknownInt != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(UnknownInt);
      }
      if (UnknownProperty.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(UnknownProperty);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(QueryUnknownRockstars other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      if (other.UnknownInt != 0) {
        UnknownInt = other.UnknownInt;
      }
      if (other.UnknownProperty.Length != 0) {
        UnknownProperty = other.UnknownProperty;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1608: {
            UnknownInt = input.ReadInt32();
            break;
          }
          case 1618: {
            UnknownProperty = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1608: {
            UnknownInt = input.ReadInt32();
            break;
          }
          case 1618: {
            UnknownProperty = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class RealDeleteAuditTenant : pb::IMessage<RealDeleteAuditTenant>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RealDeleteAuditTenant> _parser = new pb::MessageParser<RealDeleteAuditTenant>(() => new RealDeleteAuditTenant());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RealDeleteAuditTenant> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[169]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RealDeleteAuditTenant() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RealDeleteAuditTenant(RealDeleteAuditTenant other) : this() {
      bearerToken_ = other.bearerToken_;
      id_ = other.id_;
      age_ = other.age_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RealDeleteAuditTenant Clone() {
      return new RealDeleteAuditTenant(this);
    }

    /// <summary>Field number for the "BearerToken" field.</summary>
    public const int BearerTokenFieldNumber = 1;
    private string bearerToken_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BearerToken {
      get { return bearerToken_; }
      set {
        bearerToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 2;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RealDeleteAuditTenant);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RealDeleteAuditTenant other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (BearerToken != other.BearerToken) return false;
      if (Id != other.Id) return false;
      if (Age != other.Age) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (BearerToken.Length != 0) hash ^= BearerToken.GetHashCode();
      if (Id != 0) hash ^= Id.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (BearerToken.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(BearerToken);
      }
      if (Id != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Id);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (BearerToken.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(BearerToken);
      }
      if (Id != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Id);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (BearerToken.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BearerToken);
      }
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RealDeleteAuditTenant other) {
      if (other == null) {
        return;
      }
      if (other.BearerToken.Length != 0) {
        BearerToken = other.BearerToken;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            BearerToken = input.ReadString();
            break;
          }
          case 16: {
            Id = input.ReadInt32();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            BearerToken = input.ReadString();
            break;
          }
          case 16: {
            Id = input.ReadInt32();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class RealDeleteAuditTenantGateway : pb::IMessage<RealDeleteAuditTenantGateway>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RealDeleteAuditTenantGateway> _parser = new pb::MessageParser<RealDeleteAuditTenantGateway>(() => new RealDeleteAuditTenantGateway());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RealDeleteAuditTenantGateway> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[170]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RealDeleteAuditTenantGateway() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RealDeleteAuditTenantGateway(RealDeleteAuditTenantGateway other) : this() {
      id_ = other.id_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RealDeleteAuditTenantGateway Clone() {
      return new RealDeleteAuditTenantGateway(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RealDeleteAuditTenantGateway);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RealDeleteAuditTenantGateway other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RealDeleteAuditTenantGateway other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class RealDeleteAuditTenantMq : pb::IMessage<RealDeleteAuditTenantMq>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RealDeleteAuditTenantMq> _parser = new pb::MessageParser<RealDeleteAuditTenantMq>(() => new RealDeleteAuditTenantMq());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RealDeleteAuditTenantMq> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[171]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RealDeleteAuditTenantMq() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RealDeleteAuditTenantMq(RealDeleteAuditTenantMq other) : this() {
      id_ = other.id_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RealDeleteAuditTenantMq Clone() {
      return new RealDeleteAuditTenantMq(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RealDeleteAuditTenantMq);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RealDeleteAuditTenantMq other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RealDeleteAuditTenantMq other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class RegenerateApiKeys : pb::IMessage<RegenerateApiKeys>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RegenerateApiKeys> _parser = new pb::MessageParser<RegenerateApiKeys>(() => new RegenerateApiKeys());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RegenerateApiKeys> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[172]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RegenerateApiKeys() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RegenerateApiKeys(RegenerateApiKeys other) : this() {
      environment_ = other.environment_;
      meta_ = other.meta_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RegenerateApiKeys Clone() {
      return new RegenerateApiKeys(this);
    }

    /// <summary>Field number for the "Environment" field.</summary>
    public const int EnvironmentFieldNumber = 1;
    private string environment_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Environment {
      get { return environment_; }
      set {
        environment_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 2;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 18);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RegenerateApiKeys);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RegenerateApiKeys other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Environment != other.Environment) return false;
      if (!Meta.Equals(other.Meta)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Environment.Length != 0) hash ^= Environment.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Environment.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Environment);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Environment.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Environment);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Environment.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Environment);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RegenerateApiKeys other) {
      if (other == null) {
        return;
      }
      if (other.Environment.Length != 0) {
        Environment = other.Environment;
      }
      meta_.Add(other.meta_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Environment = input.ReadString();
            break;
          }
          case 18: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Environment = input.ReadString();
            break;
          }
          case 18: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class RegenerateApiKeysResponse : pb::IMessage<RegenerateApiKeysResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RegenerateApiKeysResponse> _parser = new pb::MessageParser<RegenerateApiKeysResponse>(() => new RegenerateApiKeysResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RegenerateApiKeysResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[173]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RegenerateApiKeysResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RegenerateApiKeysResponse(RegenerateApiKeysResponse other) : this() {
      results_ = other.results_.Clone();
      meta_ = other.meta_.Clone();
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RegenerateApiKeysResponse Clone() {
      return new RegenerateApiKeysResponse(this);
    }

    /// <summary>Field number for the "Results" field.</summary>
    public const int ResultsFieldNumber = 1;
    private static readonly pb::FieldCodec<global::ServiceStack.Extensions.Tests.Protoc.UserApiKey> _repeated_results_codec
        = pb::FieldCodec.ForMessage(10, global::ServiceStack.Extensions.Tests.Protoc.UserApiKey.Parser);
    private readonly pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.UserApiKey> results_ = new pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.UserApiKey>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.UserApiKey> Results {
      get { return results_; }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 2;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 18);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 3;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RegenerateApiKeysResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RegenerateApiKeysResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!results_.Equals(other.results_)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= results_.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      results_.WriteTo(output, _repeated_results_codec);
      meta_.WriteTo(output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      results_.WriteTo(ref output, _repeated_results_codec);
      meta_.WriteTo(ref output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += results_.CalculateSize(_repeated_results_codec);
      size += meta_.CalculateSize(_map_meta_codec);
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RegenerateApiKeysResponse other) {
      if (other == null) {
        return;
      }
      results_.Add(other.results_);
      meta_.Add(other.meta_);
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            results_.AddEntriesFrom(input, _repeated_results_codec);
            break;
          }
          case 18: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 26: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            results_.AddEntriesFrom(ref input, _repeated_results_codec);
            break;
          }
          case 18: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 26: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Register : pb::IMessage<Register>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Register> _parser = new pb::MessageParser<Register>(() => new Register());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Register> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[174]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Register() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Register(Register other) : this() {
      userName_ = other.userName_;
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      displayName_ = other.displayName_;
      email_ = other.email_;
      password_ = other.password_;
      confirmPassword_ = other.confirmPassword_;
      autoLogin_ = other.autoLogin_;
      errorView_ = other.errorView_;
      meta_ = other.meta_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Register Clone() {
      return new Register(this);
    }

    /// <summary>Field number for the "UserName" field.</summary>
    public const int UserNameFieldNumber = 1;
    private string userName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string UserName {
      get { return userName_; }
      set {
        userName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 2;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 3;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DisplayName" field.</summary>
    public const int DisplayNameFieldNumber = 4;
    private string displayName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DisplayName {
      get { return displayName_; }
      set {
        displayName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Email" field.</summary>
    public const int EmailFieldNumber = 5;
    private string email_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Email {
      get { return email_; }
      set {
        email_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Password" field.</summary>
    public const int PasswordFieldNumber = 6;
    private string password_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Password {
      get { return password_; }
      set {
        password_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ConfirmPassword" field.</summary>
    public const int ConfirmPasswordFieldNumber = 7;
    private string confirmPassword_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ConfirmPassword {
      get { return confirmPassword_; }
      set {
        confirmPassword_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "AutoLogin" field.</summary>
    public const int AutoLoginFieldNumber = 8;
    private bool autoLogin_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool AutoLogin {
      get { return autoLogin_; }
      set {
        autoLogin_ = value;
      }
    }

    /// <summary>Field number for the "ErrorView" field.</summary>
    public const int ErrorViewFieldNumber = 10;
    private string errorView_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ErrorView {
      get { return errorView_; }
      set {
        errorView_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 11;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 90);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Register);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Register other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (UserName != other.UserName) return false;
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (DisplayName != other.DisplayName) return false;
      if (Email != other.Email) return false;
      if (Password != other.Password) return false;
      if (ConfirmPassword != other.ConfirmPassword) return false;
      if (AutoLogin != other.AutoLogin) return false;
      if (ErrorView != other.ErrorView) return false;
      if (!Meta.Equals(other.Meta)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (UserName.Length != 0) hash ^= UserName.GetHashCode();
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (DisplayName.Length != 0) hash ^= DisplayName.GetHashCode();
      if (Email.Length != 0) hash ^= Email.GetHashCode();
      if (Password.Length != 0) hash ^= Password.GetHashCode();
      if (ConfirmPassword.Length != 0) hash ^= ConfirmPassword.GetHashCode();
      if (AutoLogin != false) hash ^= AutoLogin.GetHashCode();
      if (ErrorView.Length != 0) hash ^= ErrorView.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (UserName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(UserName);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LastName);
      }
      if (DisplayName.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(DisplayName);
      }
      if (Email.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Email);
      }
      if (Password.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Password);
      }
      if (ConfirmPassword.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(ConfirmPassword);
      }
      if (AutoLogin != false) {
        output.WriteRawTag(64);
        output.WriteBool(AutoLogin);
      }
      if (ErrorView.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(ErrorView);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (UserName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(UserName);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LastName);
      }
      if (DisplayName.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(DisplayName);
      }
      if (Email.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Email);
      }
      if (Password.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Password);
      }
      if (ConfirmPassword.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(ConfirmPassword);
      }
      if (AutoLogin != false) {
        output.WriteRawTag(64);
        output.WriteBool(AutoLogin);
      }
      if (ErrorView.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(ErrorView);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (UserName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(UserName);
      }
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (DisplayName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DisplayName);
      }
      if (Email.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Email);
      }
      if (Password.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Password);
      }
      if (ConfirmPassword.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ConfirmPassword);
      }
      if (AutoLogin != false) {
        size += 1 + 1;
      }
      if (ErrorView.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorView);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Register other) {
      if (other == null) {
        return;
      }
      if (other.UserName.Length != 0) {
        UserName = other.UserName;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.DisplayName.Length != 0) {
        DisplayName = other.DisplayName;
      }
      if (other.Email.Length != 0) {
        Email = other.Email;
      }
      if (other.Password.Length != 0) {
        Password = other.Password;
      }
      if (other.ConfirmPassword.Length != 0) {
        ConfirmPassword = other.ConfirmPassword;
      }
      if (other.AutoLogin != false) {
        AutoLogin = other.AutoLogin;
      }
      if (other.ErrorView.Length != 0) {
        ErrorView = other.ErrorView;
      }
      meta_.Add(other.meta_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            UserName = input.ReadString();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 26: {
            LastName = input.ReadString();
            break;
          }
          case 34: {
            DisplayName = input.ReadString();
            break;
          }
          case 42: {
            Email = input.ReadString();
            break;
          }
          case 50: {
            Password = input.ReadString();
            break;
          }
          case 58: {
            ConfirmPassword = input.ReadString();
            break;
          }
          case 64: {
            AutoLogin = input.ReadBool();
            break;
          }
          case 82: {
            ErrorView = input.ReadString();
            break;
          }
          case 90: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            UserName = input.ReadString();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 26: {
            LastName = input.ReadString();
            break;
          }
          case 34: {
            DisplayName = input.ReadString();
            break;
          }
          case 42: {
            Email = input.ReadString();
            break;
          }
          case 50: {
            Password = input.ReadString();
            break;
          }
          case 58: {
            ConfirmPassword = input.ReadString();
            break;
          }
          case 64: {
            AutoLogin = input.ReadBool();
            break;
          }
          case 82: {
            ErrorView = input.ReadString();
            break;
          }
          case 90: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class RegisterResponse : pb::IMessage<RegisterResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RegisterResponse> _parser = new pb::MessageParser<RegisterResponse>(() => new RegisterResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RegisterResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[175]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RegisterResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RegisterResponse(RegisterResponse other) : this() {
      userId_ = other.userId_;
      sessionId_ = other.sessionId_;
      userName_ = other.userName_;
      referrerUrl_ = other.referrerUrl_;
      bearerToken_ = other.bearerToken_;
      refreshToken_ = other.refreshToken_;
      refreshTokenExpiry_ = other.refreshTokenExpiry_ != null ? other.refreshTokenExpiry_.Clone() : null;
      roles_ = other.roles_.Clone();
      permissions_ = other.permissions_.Clone();
      redirectUrl_ = other.redirectUrl_;
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      meta_ = other.meta_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RegisterResponse Clone() {
      return new RegisterResponse(this);
    }

    /// <summary>Field number for the "UserId" field.</summary>
    public const int UserIdFieldNumber = 1;
    private string userId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string UserId {
      get { return userId_; }
      set {
        userId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SessionId" field.</summary>
    public const int SessionIdFieldNumber = 2;
    private string sessionId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SessionId {
      get { return sessionId_; }
      set {
        sessionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "UserName" field.</summary>
    public const int UserNameFieldNumber = 3;
    private string userName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string UserName {
      get { return userName_; }
      set {
        userName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ReferrerUrl" field.</summary>
    public const int ReferrerUrlFieldNumber = 4;
    private string referrerUrl_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ReferrerUrl {
      get { return referrerUrl_; }
      set {
        referrerUrl_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "BearerToken" field.</summary>
    public const int BearerTokenFieldNumber = 5;
    private string bearerToken_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BearerToken {
      get { return bearerToken_; }
      set {
        bearerToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "RefreshToken" field.</summary>
    public const int RefreshTokenFieldNumber = 6;
    private string refreshToken_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RefreshToken {
      get { return refreshToken_; }
      set {
        refreshToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "RefreshTokenExpiry" field.</summary>
    public const int RefreshTokenExpiryFieldNumber = 7;
    private global::Google.Protobuf.WellKnownTypes.Timestamp refreshTokenExpiry_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp RefreshTokenExpiry {
      get { return refreshTokenExpiry_; }
      set {
        refreshTokenExpiry_ = value;
      }
    }

    /// <summary>Field number for the "Roles" field.</summary>
    public const int RolesFieldNumber = 8;
    private static readonly pb::FieldCodec<string> _repeated_roles_codec
        = pb::FieldCodec.ForString(66);
    private readonly pbc::RepeatedField<string> roles_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> Roles {
      get { return roles_; }
    }

    /// <summary>Field number for the "Permissions" field.</summary>
    public const int PermissionsFieldNumber = 9;
    private static readonly pb::FieldCodec<string> _repeated_permissions_codec
        = pb::FieldCodec.ForString(74);
    private readonly pbc::RepeatedField<string> permissions_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> Permissions {
      get { return permissions_; }
    }

    /// <summary>Field number for the "RedirectUrl" field.</summary>
    public const int RedirectUrlFieldNumber = 10;
    private string redirectUrl_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RedirectUrl {
      get { return redirectUrl_; }
      set {
        redirectUrl_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 11;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 12;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 98);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RegisterResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RegisterResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (UserId != other.UserId) return false;
      if (SessionId != other.SessionId) return false;
      if (UserName != other.UserName) return false;
      if (ReferrerUrl != other.ReferrerUrl) return false;
      if (BearerToken != other.BearerToken) return false;
      if (RefreshToken != other.RefreshToken) return false;
      if (!object.Equals(RefreshTokenExpiry, other.RefreshTokenExpiry)) return false;
      if(!roles_.Equals(other.roles_)) return false;
      if(!permissions_.Equals(other.permissions_)) return false;
      if (RedirectUrl != other.RedirectUrl) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (UserId.Length != 0) hash ^= UserId.GetHashCode();
      if (SessionId.Length != 0) hash ^= SessionId.GetHashCode();
      if (UserName.Length != 0) hash ^= UserName.GetHashCode();
      if (ReferrerUrl.Length != 0) hash ^= ReferrerUrl.GetHashCode();
      if (BearerToken.Length != 0) hash ^= BearerToken.GetHashCode();
      if (RefreshToken.Length != 0) hash ^= RefreshToken.GetHashCode();
      if (refreshTokenExpiry_ != null) hash ^= RefreshTokenExpiry.GetHashCode();
      hash ^= roles_.GetHashCode();
      hash ^= permissions_.GetHashCode();
      if (RedirectUrl.Length != 0) hash ^= RedirectUrl.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (UserId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(UserId);
      }
      if (SessionId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SessionId);
      }
      if (UserName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(UserName);
      }
      if (ReferrerUrl.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ReferrerUrl);
      }
      if (BearerToken.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(BearerToken);
      }
      if (RefreshToken.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(RefreshToken);
      }
      if (refreshTokenExpiry_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(RefreshTokenExpiry);
      }
      roles_.WriteTo(output, _repeated_roles_codec);
      permissions_.WriteTo(output, _repeated_permissions_codec);
      if (RedirectUrl.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(RedirectUrl);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(90);
        output.WriteMessage(ResponseStatus);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (UserId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(UserId);
      }
      if (SessionId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SessionId);
      }
      if (UserName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(UserName);
      }
      if (ReferrerUrl.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ReferrerUrl);
      }
      if (BearerToken.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(BearerToken);
      }
      if (RefreshToken.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(RefreshToken);
      }
      if (refreshTokenExpiry_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(RefreshTokenExpiry);
      }
      roles_.WriteTo(ref output, _repeated_roles_codec);
      permissions_.WriteTo(ref output, _repeated_permissions_codec);
      if (RedirectUrl.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(RedirectUrl);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(90);
        output.WriteMessage(ResponseStatus);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (UserId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(UserId);
      }
      if (SessionId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SessionId);
      }
      if (UserName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(UserName);
      }
      if (ReferrerUrl.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ReferrerUrl);
      }
      if (BearerToken.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BearerToken);
      }
      if (RefreshToken.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(RefreshToken);
      }
      if (refreshTokenExpiry_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(RefreshTokenExpiry);
      }
      size += roles_.CalculateSize(_repeated_roles_codec);
      size += permissions_.CalculateSize(_repeated_permissions_codec);
      if (RedirectUrl.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(RedirectUrl);
      }
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RegisterResponse other) {
      if (other == null) {
        return;
      }
      if (other.UserId.Length != 0) {
        UserId = other.UserId;
      }
      if (other.SessionId.Length != 0) {
        SessionId = other.SessionId;
      }
      if (other.UserName.Length != 0) {
        UserName = other.UserName;
      }
      if (other.ReferrerUrl.Length != 0) {
        ReferrerUrl = other.ReferrerUrl;
      }
      if (other.BearerToken.Length != 0) {
        BearerToken = other.BearerToken;
      }
      if (other.RefreshToken.Length != 0) {
        RefreshToken = other.RefreshToken;
      }
      if (other.refreshTokenExpiry_ != null) {
        if (refreshTokenExpiry_ == null) {
          RefreshTokenExpiry = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        RefreshTokenExpiry.MergeFrom(other.RefreshTokenExpiry);
      }
      roles_.Add(other.roles_);
      permissions_.Add(other.permissions_);
      if (other.RedirectUrl.Length != 0) {
        RedirectUrl = other.RedirectUrl;
      }
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      meta_.Add(other.meta_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            UserId = input.ReadString();
            break;
          }
          case 18: {
            SessionId = input.ReadString();
            break;
          }
          case 26: {
            UserName = input.ReadString();
            break;
          }
          case 34: {
            ReferrerUrl = input.ReadString();
            break;
          }
          case 42: {
            BearerToken = input.ReadString();
            break;
          }
          case 50: {
            RefreshToken = input.ReadString();
            break;
          }
          case 58: {
            if (refreshTokenExpiry_ == null) {
              RefreshTokenExpiry = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(RefreshTokenExpiry);
            break;
          }
          case 66: {
            roles_.AddEntriesFrom(input, _repeated_roles_codec);
            break;
          }
          case 74: {
            permissions_.AddEntriesFrom(input, _repeated_permissions_codec);
            break;
          }
          case 82: {
            RedirectUrl = input.ReadString();
            break;
          }
          case 90: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
          case 98: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            UserId = input.ReadString();
            break;
          }
          case 18: {
            SessionId = input.ReadString();
            break;
          }
          case 26: {
            UserName = input.ReadString();
            break;
          }
          case 34: {
            ReferrerUrl = input.ReadString();
            break;
          }
          case 42: {
            BearerToken = input.ReadString();
            break;
          }
          case 50: {
            RefreshToken = input.ReadString();
            break;
          }
          case 58: {
            if (refreshTokenExpiry_ == null) {
              RefreshTokenExpiry = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(RefreshTokenExpiry);
            break;
          }
          case 66: {
            roles_.AddEntriesFrom(ref input, _repeated_roles_codec);
            break;
          }
          case 74: {
            permissions_.AddEntriesFrom(ref input, _repeated_permissions_codec);
            break;
          }
          case 82: {
            RedirectUrl = input.ReadString();
            break;
          }
          case 90: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
          case 98: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class RequiresAuth : pb::IMessage<RequiresAuth>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RequiresAuth> _parser = new pb::MessageParser<RequiresAuth>(() => new RequiresAuth());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RequiresAuth> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[176]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RequiresAuth() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RequiresAuth(RequiresAuth other) : this() {
      name_ = other.name_;
      bearerToken_ = other.bearerToken_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RequiresAuth Clone() {
      return new RequiresAuth(this);
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 1;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "BearerToken" field.</summary>
    public const int BearerTokenFieldNumber = 2;
    private string bearerToken_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BearerToken {
      get { return bearerToken_; }
      set {
        bearerToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RequiresAuth);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RequiresAuth other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Name != other.Name) return false;
      if (BearerToken != other.BearerToken) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (BearerToken.Length != 0) hash ^= BearerToken.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (BearerToken.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(BearerToken);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (BearerToken.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(BearerToken);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (BearerToken.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BearerToken);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RequiresAuth other) {
      if (other == null) {
        return;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.BearerToken.Length != 0) {
        BearerToken = other.BearerToken;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            BearerToken = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            BearerToken = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class ResetTodos : pb::IMessage<ResetTodos>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ResetTodos> _parser = new pb::MessageParser<ResetTodos>(() => new ResetTodos());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ResetTodos> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[177]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ResetTodos() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ResetTodos(ResetTodos other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ResetTodos Clone() {
      return new ResetTodos(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ResetTodos);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ResetTodos other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ResetTodos other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class ResponseError : pb::IMessage<ResponseError>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ResponseError> _parser = new pb::MessageParser<ResponseError>(() => new ResponseError());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ResponseError> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[178]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ResponseError() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ResponseError(ResponseError other) : this() {
      errorCode_ = other.errorCode_;
      fieldName_ = other.fieldName_;
      message_ = other.message_;
      meta_ = other.meta_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ResponseError Clone() {
      return new ResponseError(this);
    }

    /// <summary>Field number for the "ErrorCode" field.</summary>
    public const int ErrorCodeFieldNumber = 1;
    private string errorCode_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ErrorCode {
      get { return errorCode_; }
      set {
        errorCode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "FieldName" field.</summary>
    public const int FieldNameFieldNumber = 2;
    private string fieldName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FieldName {
      get { return fieldName_; }
      set {
        fieldName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Message" field.</summary>
    public const int MessageFieldNumber = 3;
    private string message_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Message {
      get { return message_; }
      set {
        message_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 4;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 34);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ResponseError);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ResponseError other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (ErrorCode != other.ErrorCode) return false;
      if (FieldName != other.FieldName) return false;
      if (Message != other.Message) return false;
      if (!Meta.Equals(other.Meta)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (ErrorCode.Length != 0) hash ^= ErrorCode.GetHashCode();
      if (FieldName.Length != 0) hash ^= FieldName.GetHashCode();
      if (Message.Length != 0) hash ^= Message.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (ErrorCode.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(ErrorCode);
      }
      if (FieldName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FieldName);
      }
      if (Message.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Message);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (ErrorCode.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(ErrorCode);
      }
      if (FieldName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FieldName);
      }
      if (Message.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Message);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (ErrorCode.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorCode);
      }
      if (FieldName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FieldName);
      }
      if (Message.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Message);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ResponseError other) {
      if (other == null) {
        return;
      }
      if (other.ErrorCode.Length != 0) {
        ErrorCode = other.ErrorCode;
      }
      if (other.FieldName.Length != 0) {
        FieldName = other.FieldName;
      }
      if (other.Message.Length != 0) {
        Message = other.Message;
      }
      meta_.Add(other.meta_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            ErrorCode = input.ReadString();
            break;
          }
          case 18: {
            FieldName = input.ReadString();
            break;
          }
          case 26: {
            Message = input.ReadString();
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            ErrorCode = input.ReadString();
            break;
          }
          case 18: {
            FieldName = input.ReadString();
            break;
          }
          case 26: {
            Message = input.ReadString();
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class ResponseStatus : pb::IMessage<ResponseStatus>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ResponseStatus> _parser = new pb::MessageParser<ResponseStatus>(() => new ResponseStatus());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ResponseStatus> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[179]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ResponseStatus() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ResponseStatus(ResponseStatus other) : this() {
      errorCode_ = other.errorCode_;
      message_ = other.message_;
      stackTrace_ = other.stackTrace_;
      errors_ = other.errors_.Clone();
      meta_ = other.meta_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ResponseStatus Clone() {
      return new ResponseStatus(this);
    }

    /// <summary>Field number for the "ErrorCode" field.</summary>
    public const int ErrorCodeFieldNumber = 1;
    private string errorCode_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ErrorCode {
      get { return errorCode_; }
      set {
        errorCode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Message" field.</summary>
    public const int MessageFieldNumber = 2;
    private string message_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Message {
      get { return message_; }
      set {
        message_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "StackTrace" field.</summary>
    public const int StackTraceFieldNumber = 3;
    private string stackTrace_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string StackTrace {
      get { return stackTrace_; }
      set {
        stackTrace_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Errors" field.</summary>
    public const int ErrorsFieldNumber = 4;
    private static readonly pb::FieldCodec<global::ServiceStack.Extensions.Tests.Protoc.ResponseError> _repeated_errors_codec
        = pb::FieldCodec.ForMessage(34, global::ServiceStack.Extensions.Tests.Protoc.ResponseError.Parser);
    private readonly pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.ResponseError> errors_ = new pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.ResponseError>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.ResponseError> Errors {
      get { return errors_; }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 5;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 42);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ResponseStatus);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ResponseStatus other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (ErrorCode != other.ErrorCode) return false;
      if (Message != other.Message) return false;
      if (StackTrace != other.StackTrace) return false;
      if(!errors_.Equals(other.errors_)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (ErrorCode.Length != 0) hash ^= ErrorCode.GetHashCode();
      if (Message.Length != 0) hash ^= Message.GetHashCode();
      if (StackTrace.Length != 0) hash ^= StackTrace.GetHashCode();
      hash ^= errors_.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (ErrorCode.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(ErrorCode);
      }
      if (Message.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Message);
      }
      if (StackTrace.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(StackTrace);
      }
      errors_.WriteTo(output, _repeated_errors_codec);
      meta_.WriteTo(output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (ErrorCode.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(ErrorCode);
      }
      if (Message.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Message);
      }
      if (StackTrace.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(StackTrace);
      }
      errors_.WriteTo(ref output, _repeated_errors_codec);
      meta_.WriteTo(ref output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (ErrorCode.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ErrorCode);
      }
      if (Message.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Message);
      }
      if (StackTrace.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(StackTrace);
      }
      size += errors_.CalculateSize(_repeated_errors_codec);
      size += meta_.CalculateSize(_map_meta_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ResponseStatus other) {
      if (other == null) {
        return;
      }
      if (other.ErrorCode.Length != 0) {
        ErrorCode = other.ErrorCode;
      }
      if (other.Message.Length != 0) {
        Message = other.Message;
      }
      if (other.StackTrace.Length != 0) {
        StackTrace = other.StackTrace;
      }
      errors_.Add(other.errors_);
      meta_.Add(other.meta_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            ErrorCode = input.ReadString();
            break;
          }
          case 18: {
            Message = input.ReadString();
            break;
          }
          case 26: {
            StackTrace = input.ReadString();
            break;
          }
          case 34: {
            errors_.AddEntriesFrom(input, _repeated_errors_codec);
            break;
          }
          case 42: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            ErrorCode = input.ReadString();
            break;
          }
          case 18: {
            Message = input.ReadString();
            break;
          }
          case 26: {
            StackTrace = input.ReadString();
            break;
          }
          case 34: {
            errors_.AddEntriesFrom(ref input, _repeated_errors_codec);
            break;
          }
          case 42: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Rockstar : pb::IMessage<Rockstar>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Rockstar> _parser = new pb::MessageParser<Rockstar>(() => new Rockstar());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Rockstar> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[180]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Rockstar() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Rockstar(Rockstar other) : this() {
      id_ = other.id_;
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      dateDied_ = other.dateDied_ != null ? other.dateDied_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      switch (other.SubtypeCase) {
        case SubtypeOneofCase.NamedRockstar:
          NamedRockstar = other.NamedRockstar.Clone();
          break;
      }

      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Rockstar Clone() {
      return new Rockstar(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 2;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 3;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 4;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "DateDied" field.</summary>
    public const int DateDiedFieldNumber = 6;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateDied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateDied {
      get { return dateDied_; }
      set {
        dateDied_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 7;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    /// <summary>Field number for the "NamedRockstar" field.</summary>
    public const int NamedRockstarFieldNumber = 345091624;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.NamedRockstar NamedRockstar {
      get { return subtypeCase_ == SubtypeOneofCase.NamedRockstar ? (global::ServiceStack.Extensions.Tests.Protoc.NamedRockstar) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.NamedRockstar;
      }
    }

    private object subtype_;
    /// <summary>Enum of possible cases for the "subtype" oneof.</summary>
    public enum SubtypeOneofCase {
      None = 0,
      NamedRockstar = 345091624,
    }
    private SubtypeOneofCase subtypeCase_ = SubtypeOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SubtypeOneofCase SubtypeCase {
      get { return subtypeCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearSubtype() {
      subtypeCase_ = SubtypeOneofCase.None;
      subtype_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Rockstar);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Rockstar other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (!object.Equals(DateDied, other.DateDied)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      if (!object.Equals(NamedRockstar, other.NamedRockstar)) return false;
      if (SubtypeCase != other.SubtypeCase) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (dateDied_ != null) hash ^= DateDied.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.NamedRockstar) hash ^= NamedRockstar.GetHashCode();
      hash ^= (int) subtypeCase_;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(56);
        output.WriteEnum((int) LivingStatus);
      }
      if (subtypeCase_ == SubtypeOneofCase.NamedRockstar) {
        output.WriteRawTag(194, 226, 181, 164, 10);
        output.WriteMessage(NamedRockstar);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(56);
        output.WriteEnum((int) LivingStatus);
      }
      if (subtypeCase_ == SubtypeOneofCase.NamedRockstar) {
        output.WriteRawTag(194, 226, 181, 164, 10);
        output.WriteMessage(NamedRockstar);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (dateDied_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (subtypeCase_ == SubtypeOneofCase.NamedRockstar) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(NamedRockstar);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Rockstar other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.dateDied_ != null) {
        if (dateDied_ == null) {
          DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateDied.MergeFrom(other.DateDied);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      switch (other.SubtypeCase) {
        case SubtypeOneofCase.NamedRockstar:
          if (NamedRockstar == null) {
            NamedRockstar = new global::ServiceStack.Extensions.Tests.Protoc.NamedRockstar();
          }
          NamedRockstar.MergeFrom(other.NamedRockstar);
          break;
      }

      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 26: {
            LastName = input.ReadString();
            break;
          }
          case 32: {
            Age = input.ReadInt32();
            break;
          }
          case 42: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 50: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 56: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
          case 2760732994: {
            global::ServiceStack.Extensions.Tests.Protoc.NamedRockstar subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.NamedRockstar();
            if (subtypeCase_ == SubtypeOneofCase.NamedRockstar) {
              subBuilder.MergeFrom(NamedRockstar);
            }
            input.ReadMessage(subBuilder);
            NamedRockstar = subBuilder;
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 26: {
            LastName = input.ReadString();
            break;
          }
          case 32: {
            Age = input.ReadInt32();
            break;
          }
          case 42: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 50: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 56: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
          case 2760732994: {
            global::ServiceStack.Extensions.Tests.Protoc.NamedRockstar subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.NamedRockstar();
            if (subtypeCase_ == SubtypeOneofCase.NamedRockstar) {
              subBuilder.MergeFrom(NamedRockstar);
            }
            input.ReadMessage(subBuilder);
            NamedRockstar = subBuilder;
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class RockstarAlbum : pb::IMessage<RockstarAlbum>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RockstarAlbum> _parser = new pb::MessageParser<RockstarAlbum>(() => new RockstarAlbum());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RockstarAlbum> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[181]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarAlbum() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarAlbum(RockstarAlbum other) : this() {
      id_ = other.id_;
      rockstarId_ = other.rockstarId_;
      name_ = other.name_;
      genre_ = other.genre_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarAlbum Clone() {
      return new RockstarAlbum(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "RockstarId" field.</summary>
    public const int RockstarIdFieldNumber = 2;
    private int rockstarId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RockstarId {
      get { return rockstarId_; }
      set {
        rockstarId_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 3;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Genre" field.</summary>
    public const int GenreFieldNumber = 4;
    private string genre_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Genre {
      get { return genre_; }
      set {
        genre_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RockstarAlbum);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RockstarAlbum other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (RockstarId != other.RockstarId) return false;
      if (Name != other.Name) return false;
      if (Genre != other.Genre) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (RockstarId != 0) hash ^= RockstarId.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Genre.Length != 0) hash ^= Genre.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (RockstarId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(RockstarId);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Name);
      }
      if (Genre.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Genre);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (RockstarId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(RockstarId);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Name);
      }
      if (Genre.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Genre);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (RockstarId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RockstarId);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Genre.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Genre);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RockstarAlbum other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.RockstarId != 0) {
        RockstarId = other.RockstarId;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Genre.Length != 0) {
        Genre = other.Genre;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            RockstarId = input.ReadInt32();
            break;
          }
          case 26: {
            Name = input.ReadString();
            break;
          }
          case 34: {
            Genre = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            RockstarId = input.ReadInt32();
            break;
          }
          case 26: {
            Name = input.ReadString();
            break;
          }
          case 34: {
            Genre = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class RockstarAlias : pb::IMessage<RockstarAlias>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RockstarAlias> _parser = new pb::MessageParser<RockstarAlias>(() => new RockstarAlias());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RockstarAlias> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[182]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarAlias() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarAlias(RockstarAlias other) : this() {
      rockstarId_ = other.rockstarId_;
      firstName_ = other.firstName_;
      surname_ = other.surname_;
      album_ = other.album_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarAlias Clone() {
      return new RockstarAlias(this);
    }

    /// <summary>Field number for the "RockstarId" field.</summary>
    public const int RockstarIdFieldNumber = 1;
    private int rockstarId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RockstarId {
      get { return rockstarId_; }
      set {
        rockstarId_ = value;
      }
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 2;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Surname" field.</summary>
    public const int SurnameFieldNumber = 3;
    private string surname_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Surname {
      get { return surname_; }
      set {
        surname_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "album" field.</summary>
    public const int AlbumFieldNumber = 4;
    private string album_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Album {
      get { return album_; }
      set {
        album_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RockstarAlias);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RockstarAlias other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (RockstarId != other.RockstarId) return false;
      if (FirstName != other.FirstName) return false;
      if (Surname != other.Surname) return false;
      if (Album != other.Album) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (RockstarId != 0) hash ^= RockstarId.GetHashCode();
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (Surname.Length != 0) hash ^= Surname.GetHashCode();
      if (Album.Length != 0) hash ^= Album.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (RockstarId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RockstarId);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (Surname.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Surname);
      }
      if (Album.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Album);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (RockstarId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RockstarId);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (Surname.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Surname);
      }
      if (Album.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Album);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (RockstarId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RockstarId);
      }
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (Surname.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Surname);
      }
      if (Album.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Album);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RockstarAlias other) {
      if (other == null) {
        return;
      }
      if (other.RockstarId != 0) {
        RockstarId = other.RockstarId;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.Surname.Length != 0) {
        Surname = other.Surname;
      }
      if (other.Album.Length != 0) {
        Album = other.Album;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            RockstarId = input.ReadInt32();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 26: {
            Surname = input.ReadString();
            break;
          }
          case 34: {
            Album = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            RockstarId = input.ReadInt32();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 26: {
            Surname = input.ReadString();
            break;
          }
          case 34: {
            Album = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class RockstarAudit : pb::IMessage<RockstarAudit>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RockstarAudit> _parser = new pb::MessageParser<RockstarAudit>(() => new RockstarAudit());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RockstarAudit> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[183]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarAudit() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarAudit(RockstarAudit other) : this() {
      id_ = other.id_;
      createdDate_ = other.createdDate_ != null ? other.createdDate_.Clone() : null;
      createdBy_ = other.createdBy_;
      createdInfo_ = other.createdInfo_;
      modifiedDate_ = other.modifiedDate_ != null ? other.modifiedDate_.Clone() : null;
      modifiedBy_ = other.modifiedBy_;
      modifiedInfo_ = other.modifiedInfo_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarAudit Clone() {
      return new RockstarAudit(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "CreatedDate" field.</summary>
    public const int CreatedDateFieldNumber = 2;
    private global::Google.Protobuf.WellKnownTypes.Timestamp createdDate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp CreatedDate {
      get { return createdDate_; }
      set {
        createdDate_ = value;
      }
    }

    /// <summary>Field number for the "CreatedBy" field.</summary>
    public const int CreatedByFieldNumber = 3;
    private string createdBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CreatedBy {
      get { return createdBy_; }
      set {
        createdBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "CreatedInfo" field.</summary>
    public const int CreatedInfoFieldNumber = 4;
    private string createdInfo_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CreatedInfo {
      get { return createdInfo_; }
      set {
        createdInfo_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ModifiedDate" field.</summary>
    public const int ModifiedDateFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp modifiedDate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp ModifiedDate {
      get { return modifiedDate_; }
      set {
        modifiedDate_ = value;
      }
    }

    /// <summary>Field number for the "ModifiedBy" field.</summary>
    public const int ModifiedByFieldNumber = 6;
    private string modifiedBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ModifiedBy {
      get { return modifiedBy_; }
      set {
        modifiedBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ModifiedInfo" field.</summary>
    public const int ModifiedInfoFieldNumber = 7;
    private string modifiedInfo_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ModifiedInfo {
      get { return modifiedInfo_; }
      set {
        modifiedInfo_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RockstarAudit);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RockstarAudit other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (!object.Equals(CreatedDate, other.CreatedDate)) return false;
      if (CreatedBy != other.CreatedBy) return false;
      if (CreatedInfo != other.CreatedInfo) return false;
      if (!object.Equals(ModifiedDate, other.ModifiedDate)) return false;
      if (ModifiedBy != other.ModifiedBy) return false;
      if (ModifiedInfo != other.ModifiedInfo) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (createdDate_ != null) hash ^= CreatedDate.GetHashCode();
      if (CreatedBy.Length != 0) hash ^= CreatedBy.GetHashCode();
      if (CreatedInfo.Length != 0) hash ^= CreatedInfo.GetHashCode();
      if (modifiedDate_ != null) hash ^= ModifiedDate.GetHashCode();
      if (ModifiedBy.Length != 0) hash ^= ModifiedBy.GetHashCode();
      if (ModifiedInfo.Length != 0) hash ^= ModifiedInfo.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (createdDate_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(CreatedDate);
      }
      if (CreatedBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(CreatedBy);
      }
      if (CreatedInfo.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(CreatedInfo);
      }
      if (modifiedDate_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ModifiedDate);
      }
      if (ModifiedBy.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(ModifiedBy);
      }
      if (ModifiedInfo.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(ModifiedInfo);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (createdDate_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(CreatedDate);
      }
      if (CreatedBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(CreatedBy);
      }
      if (CreatedInfo.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(CreatedInfo);
      }
      if (modifiedDate_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(ModifiedDate);
      }
      if (ModifiedBy.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(ModifiedBy);
      }
      if (ModifiedInfo.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(ModifiedInfo);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (createdDate_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(CreatedDate);
      }
      if (CreatedBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CreatedBy);
      }
      if (CreatedInfo.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CreatedInfo);
      }
      if (modifiedDate_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ModifiedDate);
      }
      if (ModifiedBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ModifiedBy);
      }
      if (ModifiedInfo.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ModifiedInfo);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RockstarAudit other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.createdDate_ != null) {
        if (createdDate_ == null) {
          CreatedDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        CreatedDate.MergeFrom(other.CreatedDate);
      }
      if (other.CreatedBy.Length != 0) {
        CreatedBy = other.CreatedBy;
      }
      if (other.CreatedInfo.Length != 0) {
        CreatedInfo = other.CreatedInfo;
      }
      if (other.modifiedDate_ != null) {
        if (modifiedDate_ == null) {
          ModifiedDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        ModifiedDate.MergeFrom(other.ModifiedDate);
      }
      if (other.ModifiedBy.Length != 0) {
        ModifiedBy = other.ModifiedBy;
      }
      if (other.ModifiedInfo.Length != 0) {
        ModifiedInfo = other.ModifiedInfo;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            if (createdDate_ == null) {
              CreatedDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(CreatedDate);
            break;
          }
          case 26: {
            CreatedBy = input.ReadString();
            break;
          }
          case 34: {
            CreatedInfo = input.ReadString();
            break;
          }
          case 42: {
            if (modifiedDate_ == null) {
              ModifiedDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(ModifiedDate);
            break;
          }
          case 50: {
            ModifiedBy = input.ReadString();
            break;
          }
          case 58: {
            ModifiedInfo = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            if (createdDate_ == null) {
              CreatedDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(CreatedDate);
            break;
          }
          case 26: {
            CreatedBy = input.ReadString();
            break;
          }
          case 34: {
            CreatedInfo = input.ReadString();
            break;
          }
          case 42: {
            if (modifiedDate_ == null) {
              ModifiedDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(ModifiedDate);
            break;
          }
          case 50: {
            ModifiedBy = input.ReadString();
            break;
          }
          case 58: {
            ModifiedInfo = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class RockstarAuditTenant : pb::IMessage<RockstarAuditTenant>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RockstarAuditTenant> _parser = new pb::MessageParser<RockstarAuditTenant>(() => new RockstarAuditTenant());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RockstarAuditTenant> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[184]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarAuditTenant() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarAuditTenant(RockstarAuditTenant other) : this() {
      tenantId_ = other.tenantId_;
      id_ = other.id_;
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      dateDied_ = other.dateDied_ != null ? other.dateDied_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      createdInfo_ = other.createdInfo_;
      modifiedInfo_ = other.modifiedInfo_;
      deletedInfo_ = other.deletedInfo_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarAuditTenant Clone() {
      return new RockstarAuditTenant(this);
    }

    /// <summary>Field number for the "TenantId" field.</summary>
    public const int TenantIdFieldNumber = 1;
    private int tenantId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TenantId {
      get { return tenantId_; }
      set {
        tenantId_ = value;
      }
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 2;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 3;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 4;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 5;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 6;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "DateDied" field.</summary>
    public const int DateDiedFieldNumber = 7;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateDied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateDied {
      get { return dateDied_; }
      set {
        dateDied_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 8;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    /// <summary>Field number for the "CreatedInfo" field.</summary>
    public const int CreatedInfoFieldNumber = 9;
    private string createdInfo_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CreatedInfo {
      get { return createdInfo_; }
      set {
        createdInfo_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ModifiedInfo" field.</summary>
    public const int ModifiedInfoFieldNumber = 10;
    private string modifiedInfo_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ModifiedInfo {
      get { return modifiedInfo_; }
      set {
        modifiedInfo_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DeletedInfo" field.</summary>
    public const int DeletedInfoFieldNumber = 11;
    private string deletedInfo_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DeletedInfo {
      get { return deletedInfo_; }
      set {
        deletedInfo_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RockstarAuditTenant);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RockstarAuditTenant other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (TenantId != other.TenantId) return false;
      if (Id != other.Id) return false;
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (!object.Equals(DateDied, other.DateDied)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      if (CreatedInfo != other.CreatedInfo) return false;
      if (ModifiedInfo != other.ModifiedInfo) return false;
      if (DeletedInfo != other.DeletedInfo) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (TenantId != 0) hash ^= TenantId.GetHashCode();
      if (Id != 0) hash ^= Id.GetHashCode();
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (dateDied_ != null) hash ^= DateDied.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (CreatedInfo.Length != 0) hash ^= CreatedInfo.GetHashCode();
      if (ModifiedInfo.Length != 0) hash ^= ModifiedInfo.GetHashCode();
      if (DeletedInfo.Length != 0) hash ^= DeletedInfo.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (TenantId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(TenantId);
      }
      if (Id != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(64);
        output.WriteEnum((int) LivingStatus);
      }
      if (CreatedInfo.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(CreatedInfo);
      }
      if (ModifiedInfo.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(ModifiedInfo);
      }
      if (DeletedInfo.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(DeletedInfo);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (TenantId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(TenantId);
      }
      if (Id != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(64);
        output.WriteEnum((int) LivingStatus);
      }
      if (CreatedInfo.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(CreatedInfo);
      }
      if (ModifiedInfo.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(ModifiedInfo);
      }
      if (DeletedInfo.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(DeletedInfo);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (TenantId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TenantId);
      }
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (dateDied_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (CreatedInfo.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CreatedInfo);
      }
      if (ModifiedInfo.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ModifiedInfo);
      }
      if (DeletedInfo.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DeletedInfo);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RockstarAuditTenant other) {
      if (other == null) {
        return;
      }
      if (other.TenantId != 0) {
        TenantId = other.TenantId;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.dateDied_ != null) {
        if (dateDied_ == null) {
          DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateDied.MergeFrom(other.DateDied);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      if (other.CreatedInfo.Length != 0) {
        CreatedInfo = other.CreatedInfo;
      }
      if (other.ModifiedInfo.Length != 0) {
        ModifiedInfo = other.ModifiedInfo;
      }
      if (other.DeletedInfo.Length != 0) {
        DeletedInfo = other.DeletedInfo;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            TenantId = input.ReadInt32();
            break;
          }
          case 16: {
            Id = input.ReadInt32();
            break;
          }
          case 26: {
            FirstName = input.ReadString();
            break;
          }
          case 34: {
            LastName = input.ReadString();
            break;
          }
          case 40: {
            Age = input.ReadInt32();
            break;
          }
          case 50: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 58: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 64: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
          case 74: {
            CreatedInfo = input.ReadString();
            break;
          }
          case 82: {
            ModifiedInfo = input.ReadString();
            break;
          }
          case 90: {
            DeletedInfo = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            TenantId = input.ReadInt32();
            break;
          }
          case 16: {
            Id = input.ReadInt32();
            break;
          }
          case 26: {
            FirstName = input.ReadString();
            break;
          }
          case 34: {
            LastName = input.ReadString();
            break;
          }
          case 40: {
            Age = input.ReadInt32();
            break;
          }
          case 50: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 58: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 64: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
          case 74: {
            CreatedInfo = input.ReadString();
            break;
          }
          case 82: {
            ModifiedInfo = input.ReadString();
            break;
          }
          case 90: {
            DeletedInfo = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class RockstarAuto : pb::IMessage<RockstarAuto>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RockstarAuto> _parser = new pb::MessageParser<RockstarAuto>(() => new RockstarAuto());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RockstarAuto> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[185]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarAuto() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarAuto(RockstarAuto other) : this() {
      id_ = other.id_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarAuto Clone() {
      return new RockstarAuto(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RockstarAuto);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RockstarAuto other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RockstarAuto other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class RockstarAutoGuid : pb::IMessage<RockstarAutoGuid>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RockstarAutoGuid> _parser = new pb::MessageParser<RockstarAutoGuid>(() => new RockstarAutoGuid());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RockstarAutoGuid> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[186]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarAutoGuid() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarAutoGuid(RockstarAutoGuid other) : this() {
      id_ = other.id_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarAutoGuid Clone() {
      return new RockstarAutoGuid(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private string id_ = "";
    /// <summary>
    /// default value could not be applied: 00000000-0000-0000-0000-000000000000
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Id {
      get { return id_; }
      set {
        id_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RockstarAutoGuid);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RockstarAutoGuid other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id.Length != 0) hash ^= Id.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RockstarAutoGuid other) {
      if (other == null) {
        return;
      }
      if (other.Id.Length != 0) {
        Id = other.Id;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Id = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Id = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class RockstarBase : pb::IMessage<RockstarBase>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RockstarBase> _parser = new pb::MessageParser<RockstarBase>(() => new RockstarBase());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RockstarBase> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[187]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarBase() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarBase(RockstarBase other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      dateDied_ = other.dateDied_ != null ? other.dateDied_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      switch (other.SubtypeCase) {
        case SubtypeOneofCase.RockstarAutoGuid:
          RockstarAutoGuid = other.RockstarAutoGuid.Clone();
          break;
        case SubtypeOneofCase.RockstarAuto:
          RockstarAuto = other.RockstarAuto.Clone();
          break;
        case SubtypeOneofCase.RockstarAudit:
          RockstarAudit = other.RockstarAudit.Clone();
          break;
        case SubtypeOneofCase.RockstarVersion:
          RockstarVersion = other.RockstarVersion.Clone();
          break;
      }

      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarBase Clone() {
      return new RockstarBase(this);
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 1;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 2;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "DateDied" field.</summary>
    public const int DateDiedFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateDied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateDied {
      get { return dateDied_; }
      set {
        dateDied_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 6;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    /// <summary>Field number for the "RockstarAutoGuid" field.</summary>
    public const int RockstarAutoGuidFieldNumber = 92000829;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.RockstarAutoGuid RockstarAutoGuid {
      get { return subtypeCase_ == SubtypeOneofCase.RockstarAutoGuid ? (global::ServiceStack.Extensions.Tests.Protoc.RockstarAutoGuid) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.RockstarAutoGuid;
      }
    }

    /// <summary>Field number for the "RockstarAuto" field.</summary>
    public const int RockstarAutoFieldNumber = 92257311;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.RockstarAuto RockstarAuto {
      get { return subtypeCase_ == SubtypeOneofCase.RockstarAuto ? (global::ServiceStack.Extensions.Tests.Protoc.RockstarAuto) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.RockstarAuto;
      }
    }

    /// <summary>Field number for the "RockstarAudit" field.</summary>
    public const int RockstarAuditFieldNumber = 119875064;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.RockstarAudit RockstarAudit {
      get { return subtypeCase_ == SubtypeOneofCase.RockstarAudit ? (global::ServiceStack.Extensions.Tests.Protoc.RockstarAudit) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.RockstarAudit;
      }
    }

    /// <summary>Field number for the "RockstarVersion" field.</summary>
    public const int RockstarVersionFieldNumber = 320656675;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.RockstarVersion RockstarVersion {
      get { return subtypeCase_ == SubtypeOneofCase.RockstarVersion ? (global::ServiceStack.Extensions.Tests.Protoc.RockstarVersion) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.RockstarVersion;
      }
    }

    private object subtype_;
    /// <summary>Enum of possible cases for the "subtype" oneof.</summary>
    public enum SubtypeOneofCase {
      None = 0,
      RockstarAutoGuid = 92000829,
      RockstarAuto = 92257311,
      RockstarAudit = 119875064,
      RockstarVersion = 320656675,
    }
    private SubtypeOneofCase subtypeCase_ = SubtypeOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SubtypeOneofCase SubtypeCase {
      get { return subtypeCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearSubtype() {
      subtypeCase_ = SubtypeOneofCase.None;
      subtype_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RockstarBase);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RockstarBase other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (!object.Equals(DateDied, other.DateDied)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      if (!object.Equals(RockstarAutoGuid, other.RockstarAutoGuid)) return false;
      if (!object.Equals(RockstarAuto, other.RockstarAuto)) return false;
      if (!object.Equals(RockstarAudit, other.RockstarAudit)) return false;
      if (!object.Equals(RockstarVersion, other.RockstarVersion)) return false;
      if (SubtypeCase != other.SubtypeCase) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (dateDied_ != null) hash ^= DateDied.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.RockstarAutoGuid) hash ^= RockstarAutoGuid.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.RockstarAuto) hash ^= RockstarAuto.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.RockstarAudit) hash ^= RockstarAudit.GetHashCode();
      if (subtypeCase_ == SubtypeOneofCase.RockstarVersion) hash ^= RockstarVersion.GetHashCode();
      hash ^= (int) subtypeCase_;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (subtypeCase_ == SubtypeOneofCase.RockstarAutoGuid) {
        output.WriteRawTag(234, 163, 250, 222, 2);
        output.WriteMessage(RockstarAutoGuid);
      }
      if (subtypeCase_ == SubtypeOneofCase.RockstarAuto) {
        output.WriteRawTag(250, 193, 247, 223, 2);
        output.WriteMessage(RockstarAuto);
      }
      if (subtypeCase_ == SubtypeOneofCase.RockstarAudit) {
        output.WriteRawTag(194, 223, 164, 201, 3);
        output.WriteMessage(RockstarAudit);
      }
      if (subtypeCase_ == SubtypeOneofCase.RockstarVersion) {
        output.WriteRawTag(154, 210, 154, 199, 9);
        output.WriteMessage(RockstarVersion);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (subtypeCase_ == SubtypeOneofCase.RockstarAutoGuid) {
        output.WriteRawTag(234, 163, 250, 222, 2);
        output.WriteMessage(RockstarAutoGuid);
      }
      if (subtypeCase_ == SubtypeOneofCase.RockstarAuto) {
        output.WriteRawTag(250, 193, 247, 223, 2);
        output.WriteMessage(RockstarAuto);
      }
      if (subtypeCase_ == SubtypeOneofCase.RockstarAudit) {
        output.WriteRawTag(194, 223, 164, 201, 3);
        output.WriteMessage(RockstarAudit);
      }
      if (subtypeCase_ == SubtypeOneofCase.RockstarVersion) {
        output.WriteRawTag(154, 210, 154, 199, 9);
        output.WriteMessage(RockstarVersion);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (dateDied_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (subtypeCase_ == SubtypeOneofCase.RockstarAutoGuid) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(RockstarAutoGuid);
      }
      if (subtypeCase_ == SubtypeOneofCase.RockstarAuto) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(RockstarAuto);
      }
      if (subtypeCase_ == SubtypeOneofCase.RockstarAudit) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(RockstarAudit);
      }
      if (subtypeCase_ == SubtypeOneofCase.RockstarVersion) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(RockstarVersion);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RockstarBase other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.dateDied_ != null) {
        if (dateDied_ == null) {
          DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateDied.MergeFrom(other.DateDied);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      switch (other.SubtypeCase) {
        case SubtypeOneofCase.RockstarAutoGuid:
          if (RockstarAutoGuid == null) {
            RockstarAutoGuid = new global::ServiceStack.Extensions.Tests.Protoc.RockstarAutoGuid();
          }
          RockstarAutoGuid.MergeFrom(other.RockstarAutoGuid);
          break;
        case SubtypeOneofCase.RockstarAuto:
          if (RockstarAuto == null) {
            RockstarAuto = new global::ServiceStack.Extensions.Tests.Protoc.RockstarAuto();
          }
          RockstarAuto.MergeFrom(other.RockstarAuto);
          break;
        case SubtypeOneofCase.RockstarAudit:
          if (RockstarAudit == null) {
            RockstarAudit = new global::ServiceStack.Extensions.Tests.Protoc.RockstarAudit();
          }
          RockstarAudit.MergeFrom(other.RockstarAudit);
          break;
        case SubtypeOneofCase.RockstarVersion:
          if (RockstarVersion == null) {
            RockstarVersion = new global::ServiceStack.Extensions.Tests.Protoc.RockstarVersion();
          }
          RockstarVersion.MergeFrom(other.RockstarVersion);
          break;
      }

      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
          case 736006634: {
            global::ServiceStack.Extensions.Tests.Protoc.RockstarAutoGuid subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.RockstarAutoGuid();
            if (subtypeCase_ == SubtypeOneofCase.RockstarAutoGuid) {
              subBuilder.MergeFrom(RockstarAutoGuid);
            }
            input.ReadMessage(subBuilder);
            RockstarAutoGuid = subBuilder;
            break;
          }
          case 738058490: {
            global::ServiceStack.Extensions.Tests.Protoc.RockstarAuto subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.RockstarAuto();
            if (subtypeCase_ == SubtypeOneofCase.RockstarAuto) {
              subBuilder.MergeFrom(RockstarAuto);
            }
            input.ReadMessage(subBuilder);
            RockstarAuto = subBuilder;
            break;
          }
          case 959000514: {
            global::ServiceStack.Extensions.Tests.Protoc.RockstarAudit subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.RockstarAudit();
            if (subtypeCase_ == SubtypeOneofCase.RockstarAudit) {
              subBuilder.MergeFrom(RockstarAudit);
            }
            input.ReadMessage(subBuilder);
            RockstarAudit = subBuilder;
            break;
          }
          case 2565253402: {
            global::ServiceStack.Extensions.Tests.Protoc.RockstarVersion subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.RockstarVersion();
            if (subtypeCase_ == SubtypeOneofCase.RockstarVersion) {
              subBuilder.MergeFrom(RockstarVersion);
            }
            input.ReadMessage(subBuilder);
            RockstarVersion = subBuilder;
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
          case 736006634: {
            global::ServiceStack.Extensions.Tests.Protoc.RockstarAutoGuid subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.RockstarAutoGuid();
            if (subtypeCase_ == SubtypeOneofCase.RockstarAutoGuid) {
              subBuilder.MergeFrom(RockstarAutoGuid);
            }
            input.ReadMessage(subBuilder);
            RockstarAutoGuid = subBuilder;
            break;
          }
          case 738058490: {
            global::ServiceStack.Extensions.Tests.Protoc.RockstarAuto subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.RockstarAuto();
            if (subtypeCase_ == SubtypeOneofCase.RockstarAuto) {
              subBuilder.MergeFrom(RockstarAuto);
            }
            input.ReadMessage(subBuilder);
            RockstarAuto = subBuilder;
            break;
          }
          case 959000514: {
            global::ServiceStack.Extensions.Tests.Protoc.RockstarAudit subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.RockstarAudit();
            if (subtypeCase_ == SubtypeOneofCase.RockstarAudit) {
              subBuilder.MergeFrom(RockstarAudit);
            }
            input.ReadMessage(subBuilder);
            RockstarAudit = subBuilder;
            break;
          }
          case 2565253402: {
            global::ServiceStack.Extensions.Tests.Protoc.RockstarVersion subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.RockstarVersion();
            if (subtypeCase_ == SubtypeOneofCase.RockstarVersion) {
              subBuilder.MergeFrom(RockstarVersion);
            }
            input.ReadMessage(subBuilder);
            RockstarVersion = subBuilder;
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class RockstarGenre : pb::IMessage<RockstarGenre>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RockstarGenre> _parser = new pb::MessageParser<RockstarGenre>(() => new RockstarGenre());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RockstarGenre> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[188]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarGenre() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarGenre(RockstarGenre other) : this() {
      id_ = other.id_;
      rockstarId_ = other.rockstarId_;
      name_ = other.name_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarGenre Clone() {
      return new RockstarGenre(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "RockstarId" field.</summary>
    public const int RockstarIdFieldNumber = 2;
    private int rockstarId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RockstarId {
      get { return rockstarId_; }
      set {
        rockstarId_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 3;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RockstarGenre);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RockstarGenre other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (RockstarId != other.RockstarId) return false;
      if (Name != other.Name) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (RockstarId != 0) hash ^= RockstarId.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (RockstarId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(RockstarId);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Name);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (RockstarId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(RockstarId);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Name);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (RockstarId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RockstarId);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RockstarGenre other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.RockstarId != 0) {
        RockstarId = other.RockstarId;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            RockstarId = input.ReadInt32();
            break;
          }
          case 26: {
            Name = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            RockstarId = input.ReadInt32();
            break;
          }
          case 26: {
            Name = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class RockstarReference : pb::IMessage<RockstarReference>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RockstarReference> _parser = new pb::MessageParser<RockstarReference>(() => new RockstarReference());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RockstarReference> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[189]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarReference() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarReference(RockstarReference other) : this() {
      id_ = other.id_;
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      albums_ = other.albums_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarReference Clone() {
      return new RockstarReference(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 2;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 3;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 4;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "Albums" field.</summary>
    public const int AlbumsFieldNumber = 5;
    private static readonly pb::FieldCodec<global::ServiceStack.Extensions.Tests.Protoc.RockstarAlbum> _repeated_albums_codec
        = pb::FieldCodec.ForMessage(42, global::ServiceStack.Extensions.Tests.Protoc.RockstarAlbum.Parser);
    private readonly pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.RockstarAlbum> albums_ = new pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.RockstarAlbum>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::ServiceStack.Extensions.Tests.Protoc.RockstarAlbum> Albums {
      get { return albums_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RockstarReference);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RockstarReference other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if(!albums_.Equals(other.albums_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      hash ^= albums_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Age);
      }
      albums_.WriteTo(output, _repeated_albums_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Age);
      }
      albums_.WriteTo(ref output, _repeated_albums_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      size += albums_.CalculateSize(_repeated_albums_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RockstarReference other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      albums_.Add(other.albums_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 26: {
            LastName = input.ReadString();
            break;
          }
          case 32: {
            Age = input.ReadInt32();
            break;
          }
          case 42: {
            albums_.AddEntriesFrom(input, _repeated_albums_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 26: {
            LastName = input.ReadString();
            break;
          }
          case 32: {
            Age = input.ReadInt32();
            break;
          }
          case 42: {
            albums_.AddEntriesFrom(ref input, _repeated_albums_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class RockstarVersion : pb::IMessage<RockstarVersion>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RockstarVersion> _parser = new pb::MessageParser<RockstarVersion>(() => new RockstarVersion());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RockstarVersion> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[190]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarVersion() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarVersion(RockstarVersion other) : this() {
      id_ = other.id_;
      rowVersion_ = other.rowVersion_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarVersion Clone() {
      return new RockstarVersion(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "RowVersion" field.</summary>
    public const int RowVersionFieldNumber = 2;
    private ulong rowVersion_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ulong RowVersion {
      get { return rowVersion_; }
      set {
        rowVersion_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RockstarVersion);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RockstarVersion other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (RowVersion != other.RowVersion) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (RowVersion != 0UL) hash ^= RowVersion.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (RowVersion != 0UL) {
        output.WriteRawTag(16);
        output.WriteUInt64(RowVersion);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (RowVersion != 0UL) {
        output.WriteRawTag(16);
        output.WriteUInt64(RowVersion);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (RowVersion != 0UL) {
        size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RowVersion);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RockstarVersion other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.RowVersion != 0UL) {
        RowVersion = other.RowVersion;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            RowVersion = input.ReadUInt64();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            RowVersion = input.ReadUInt64();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class RockstarWithIdAndCountResponse : pb::IMessage<RockstarWithIdAndCountResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RockstarWithIdAndCountResponse> _parser = new pb::MessageParser<RockstarWithIdAndCountResponse>(() => new RockstarWithIdAndCountResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RockstarWithIdAndCountResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[191]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarWithIdAndCountResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarWithIdAndCountResponse(RockstarWithIdAndCountResponse other) : this() {
      id_ = other.id_;
      count_ = other.count_;
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarWithIdAndCountResponse Clone() {
      return new RockstarWithIdAndCountResponse(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Count" field.</summary>
    public const int CountFieldNumber = 2;
    private int count_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Count {
      get { return count_; }
      set {
        count_ = value;
      }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 3;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RockstarWithIdAndCountResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RockstarWithIdAndCountResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Count != other.Count) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (Count != 0) hash ^= Count.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (Count != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Count);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (Count != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Count);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (Count != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
      }
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RockstarWithIdAndCountResponse other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Count != 0) {
        Count = other.Count;
      }
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Count = input.ReadInt32();
            break;
          }
          case 26: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Count = input.ReadInt32();
            break;
          }
          case 26: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class RockstarWithIdAndResultResponse : pb::IMessage<RockstarWithIdAndResultResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RockstarWithIdAndResultResponse> _parser = new pb::MessageParser<RockstarWithIdAndResultResponse>(() => new RockstarWithIdAndResultResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RockstarWithIdAndResultResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[192]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarWithIdAndResultResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarWithIdAndResultResponse(RockstarWithIdAndResultResponse other) : this() {
      id_ = other.id_;
      result_ = other.result_ != null ? other.result_.Clone() : null;
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarWithIdAndResultResponse Clone() {
      return new RockstarWithIdAndResultResponse(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Result" field.</summary>
    public const int ResultFieldNumber = 2;
    private global::ServiceStack.Extensions.Tests.Protoc.RockstarBase result_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.RockstarBase Result {
      get { return result_; }
      set {
        result_ = value;
      }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 3;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RockstarWithIdAndResultResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RockstarWithIdAndResultResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (!object.Equals(Result, other.Result)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (result_ != null) hash ^= Result.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (result_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Result);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (result_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Result);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (result_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Result);
      }
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RockstarWithIdAndResultResponse other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.result_ != null) {
        if (result_ == null) {
          Result = new global::ServiceStack.Extensions.Tests.Protoc.RockstarBase();
        }
        Result.MergeFrom(other.Result);
      }
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            if (result_ == null) {
              Result = new global::ServiceStack.Extensions.Tests.Protoc.RockstarBase();
            }
            input.ReadMessage(Result);
            break;
          }
          case 26: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            if (result_ == null) {
              Result = new global::ServiceStack.Extensions.Tests.Protoc.RockstarBase();
            }
            input.ReadMessage(Result);
            break;
          }
          case 26: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class RockstarWithIdAndRowVersionResponse : pb::IMessage<RockstarWithIdAndRowVersionResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RockstarWithIdAndRowVersionResponse> _parser = new pb::MessageParser<RockstarWithIdAndRowVersionResponse>(() => new RockstarWithIdAndRowVersionResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RockstarWithIdAndRowVersionResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[193]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarWithIdAndRowVersionResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarWithIdAndRowVersionResponse(RockstarWithIdAndRowVersionResponse other) : this() {
      id_ = other.id_;
      rowVersion_ = other.rowVersion_;
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarWithIdAndRowVersionResponse Clone() {
      return new RockstarWithIdAndRowVersionResponse(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "RowVersion" field.</summary>
    public const int RowVersionFieldNumber = 2;
    private uint rowVersion_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint RowVersion {
      get { return rowVersion_; }
      set {
        rowVersion_ = value;
      }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 3;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RockstarWithIdAndRowVersionResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RockstarWithIdAndRowVersionResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (RowVersion != other.RowVersion) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (RowVersion != 0) hash ^= RowVersion.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (RowVersion != 0) {
        output.WriteRawTag(16);
        output.WriteUInt32(RowVersion);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (RowVersion != 0) {
        output.WriteRawTag(16);
        output.WriteUInt32(RowVersion);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (RowVersion != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(RowVersion);
      }
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RockstarWithIdAndRowVersionResponse other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.RowVersion != 0) {
        RowVersion = other.RowVersion;
      }
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            RowVersion = input.ReadUInt32();
            break;
          }
          case 26: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            RowVersion = input.ReadUInt32();
            break;
          }
          case 26: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class RockstarWithIdResponse : pb::IMessage<RockstarWithIdResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RockstarWithIdResponse> _parser = new pb::MessageParser<RockstarWithIdResponse>(() => new RockstarWithIdResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RockstarWithIdResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[194]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarWithIdResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarWithIdResponse(RockstarWithIdResponse other) : this() {
      id_ = other.id_;
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RockstarWithIdResponse Clone() {
      return new RockstarWithIdResponse(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 2;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RockstarWithIdResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RockstarWithIdResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RockstarWithIdResponse other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class SearchMovies : pb::IMessage<SearchMovies>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<SearchMovies> _parser = new pb::MessageParser<SearchMovies>(() => new SearchMovies());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<SearchMovies> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[195]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SearchMovies() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SearchMovies(SearchMovies other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SearchMovies Clone() {
      return new SearchMovies(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as SearchMovies);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(SearchMovies other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(SearchMovies other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class SearchResult : pb::IMessage<SearchResult>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<SearchResult> _parser = new pb::MessageParser<SearchResult>(() => new SearchResult());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<SearchResult> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[196]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SearchResult() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SearchResult(SearchResult other) : this() {
      id_ = other.id_;
      suffix_ = other.suffix_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SearchResult Clone() {
      return new SearchResult(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Suffix" field.</summary>
    public const int SuffixFieldNumber = 2;
    private string suffix_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Suffix {
      get { return suffix_; }
      set {
        suffix_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as SearchResult);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(SearchResult other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Suffix != other.Suffix) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (Suffix.Length != 0) hash ^= Suffix.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (Suffix.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Suffix);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (Suffix.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Suffix);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (Suffix.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Suffix);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(SearchResult other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Suffix.Length != 0) {
        Suffix = other.Suffix;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Suffix = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Suffix = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Secured : pb::IMessage<Secured>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Secured> _parser = new pb::MessageParser<Secured>(() => new Secured());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Secured> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[197]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Secured() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Secured(Secured other) : this() {
      name_ = other.name_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Secured Clone() {
      return new Secured(this);
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 1;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Secured);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Secured other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Name != other.Name) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Secured other) {
      if (other == null) {
        return;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class SecuredResponse : pb::IMessage<SecuredResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<SecuredResponse> _parser = new pb::MessageParser<SecuredResponse>(() => new SecuredResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<SecuredResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[198]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SecuredResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SecuredResponse(SecuredResponse other) : this() {
      result_ = other.result_;
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SecuredResponse Clone() {
      return new SecuredResponse(this);
    }

    /// <summary>Field number for the "Result" field.</summary>
    public const int ResultFieldNumber = 1;
    private string result_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Result {
      get { return result_; }
      set {
        result_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 2;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as SecuredResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(SecuredResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Result != other.Result) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Result.Length != 0) hash ^= Result.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Result.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Result);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Result.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Result);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Result.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Result);
      }
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(SecuredResponse other) {
      if (other == null) {
        return;
      }
      if (other.Result.Length != 0) {
        Result = other.Result;
      }
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Result = input.ReadString();
            break;
          }
          case 18: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Result = input.ReadString();
            break;
          }
          case 18: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class SoftDeleteAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse : pb::IMessage<SoftDeleteAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<SoftDeleteAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse> _parser = new pb::MessageParser<SoftDeleteAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse>(() => new SoftDeleteAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<SoftDeleteAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[199]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SoftDeleteAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SoftDeleteAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse(SoftDeleteAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse other) : this() {
      switch (other.SubtypeCase) {
        case SubtypeOneofCase.SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse:
          SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse = other.SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse.Clone();
          break;
      }

      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SoftDeleteAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse Clone() {
      return new SoftDeleteAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse(this);
    }

    /// <summary>Field number for the "SoftDeleteAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse" field.</summary>
    public const int SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponseFieldNumber = 171750308;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.SoftDeleteAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse {
      get { return subtypeCase_ == SubtypeOneofCase.SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse ? (global::ServiceStack.Extensions.Tests.Protoc.SoftDeleteAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse;
      }
    }

    private object subtype_;
    /// <summary>Enum of possible cases for the "subtype" oneof.</summary>
    public enum SubtypeOneofCase {
      None = 0,
      SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse = 171750308,
    }
    private SubtypeOneofCase subtypeCase_ = SubtypeOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SubtypeOneofCase SubtypeCase {
      get { return subtypeCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearSubtype() {
      subtypeCase_ = SubtypeOneofCase.None;
      subtype_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as SoftDeleteAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(SoftDeleteAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse, other.SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse)) return false;
      if (SubtypeCase != other.SubtypeCase) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (subtypeCase_ == SubtypeOneofCase.SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse) hash ^= SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse.GetHashCode();
      hash ^= (int) subtypeCase_;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (subtypeCase_ == SubtypeOneofCase.SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse) {
        output.WriteRawTag(162, 186, 150, 143, 5);
        output.WriteMessage(SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (subtypeCase_ == SubtypeOneofCase.SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse) {
        output.WriteRawTag(162, 186, 150, 143, 5);
        output.WriteMessage(SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (subtypeCase_ == SubtypeOneofCase.SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(SoftDeleteAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse other) {
      if (other == null) {
        return;
      }
      switch (other.SubtypeCase) {
        case SubtypeOneofCase.SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse:
          if (SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse == null) {
            SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse = new global::ServiceStack.Extensions.Tests.Protoc.SoftDeleteAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse();
          }
          SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse.MergeFrom(other.SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse);
          break;
      }

      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 1374002466: {
            global::ServiceStack.Extensions.Tests.Protoc.SoftDeleteAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.SoftDeleteAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse();
            if (subtypeCase_ == SubtypeOneofCase.SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse) {
              subBuilder.MergeFrom(SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse);
            }
            input.ReadMessage(subBuilder);
            SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse = subBuilder;
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 1374002466: {
            global::ServiceStack.Extensions.Tests.Protoc.SoftDeleteAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.SoftDeleteAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse();
            if (subtypeCase_ == SubtypeOneofCase.SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse) {
              subBuilder.MergeFrom(SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse);
            }
            input.ReadMessage(subBuilder);
            SoftDeleteAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse = subBuilder;
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class SoftDeleteAuditTenant : pb::IMessage<SoftDeleteAuditTenant>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<SoftDeleteAuditTenant> _parser = new pb::MessageParser<SoftDeleteAuditTenant>(() => new SoftDeleteAuditTenant());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<SoftDeleteAuditTenant> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[200]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SoftDeleteAuditTenant() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SoftDeleteAuditTenant(SoftDeleteAuditTenant other) : this() {
      id_ = other.id_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SoftDeleteAuditTenant Clone() {
      return new SoftDeleteAuditTenant(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 201;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as SoftDeleteAuditTenant);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(SoftDeleteAuditTenant other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(200, 12);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(SoftDeleteAuditTenant other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 1608: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 1608: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class SoftDeleteAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse : pb::IMessage<SoftDeleteAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<SoftDeleteAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse> _parser = new pb::MessageParser<SoftDeleteAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse>(() => new SoftDeleteAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<SoftDeleteAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[201]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SoftDeleteAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SoftDeleteAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse(SoftDeleteAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SoftDeleteAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse Clone() {
      return new SoftDeleteAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as SoftDeleteAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(SoftDeleteAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(SoftDeleteAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class StreamFiles : pb::IMessage<StreamFiles>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StreamFiles> _parser = new pb::MessageParser<StreamFiles>(() => new StreamFiles());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StreamFiles> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[202]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StreamFiles() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StreamFiles(StreamFiles other) : this() {
      paths_ = other.paths_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StreamFiles Clone() {
      return new StreamFiles(this);
    }

    /// <summary>Field number for the "Paths" field.</summary>
    public const int PathsFieldNumber = 1;
    private static readonly pb::FieldCodec<string> _repeated_paths_codec
        = pb::FieldCodec.ForString(10);
    private readonly pbc::RepeatedField<string> paths_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> Paths {
      get { return paths_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StreamFiles);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StreamFiles other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!paths_.Equals(other.paths_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= paths_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      paths_.WriteTo(output, _repeated_paths_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      paths_.WriteTo(ref output, _repeated_paths_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += paths_.CalculateSize(_repeated_paths_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StreamFiles other) {
      if (other == null) {
        return;
      }
      paths_.Add(other.paths_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            paths_.AddEntriesFrom(input, _repeated_paths_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            paths_.AddEntriesFrom(ref input, _repeated_paths_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class StreamMovies : pb::IMessage<StreamMovies>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StreamMovies> _parser = new pb::MessageParser<StreamMovies>(() => new StreamMovies());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StreamMovies> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[203]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StreamMovies() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StreamMovies(StreamMovies other) : this() {
      skip_ = other.skip_;
      take_ = other.take_;
      orderBy_ = other.orderBy_;
      orderByDesc_ = other.orderByDesc_;
      include_ = other.include_;
      fields_ = other.fields_;
      meta_ = other.meta_.Clone();
      ratings_ = other.ratings_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StreamMovies Clone() {
      return new StreamMovies(this);
    }

    /// <summary>Field number for the "Skip" field.</summary>
    public const int SkipFieldNumber = 1;
    private int skip_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Skip {
      get { return skip_; }
      set {
        skip_ = value;
      }
    }

    /// <summary>Field number for the "Take" field.</summary>
    public const int TakeFieldNumber = 2;
    private int take_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Take {
      get { return take_; }
      set {
        take_ = value;
      }
    }

    /// <summary>Field number for the "OrderBy" field.</summary>
    public const int OrderByFieldNumber = 3;
    private string orderBy_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderBy {
      get { return orderBy_; }
      set {
        orderBy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderByDesc" field.</summary>
    public const int OrderByDescFieldNumber = 4;
    private string orderByDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderByDesc {
      get { return orderByDesc_; }
      set {
        orderByDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Include" field.</summary>
    public const int IncludeFieldNumber = 5;
    private string include_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Include {
      get { return include_; }
      set {
        include_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Fields" field.</summary>
    public const int FieldsFieldNumber = 6;
    private string fields_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Fields {
      get { return fields_; }
      set {
        fields_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 7;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 58);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "Ratings" field.</summary>
    public const int RatingsFieldNumber = 201;
    private static readonly pb::FieldCodec<string> _repeated_ratings_codec
        = pb::FieldCodec.ForString(1610);
    private readonly pbc::RepeatedField<string> ratings_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> Ratings {
      get { return ratings_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StreamMovies);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StreamMovies other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Skip != other.Skip) return false;
      if (Take != other.Take) return false;
      if (OrderBy != other.OrderBy) return false;
      if (OrderByDesc != other.OrderByDesc) return false;
      if (Include != other.Include) return false;
      if (Fields != other.Fields) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if(!ratings_.Equals(other.ratings_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Skip != 0) hash ^= Skip.GetHashCode();
      if (Take != 0) hash ^= Take.GetHashCode();
      if (OrderBy.Length != 0) hash ^= OrderBy.GetHashCode();
      if (OrderByDesc.Length != 0) hash ^= OrderByDesc.GetHashCode();
      if (Include.Length != 0) hash ^= Include.GetHashCode();
      if (Fields.Length != 0) hash ^= Fields.GetHashCode();
      hash ^= Meta.GetHashCode();
      hash ^= ratings_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(output, _map_meta_codec);
      ratings_.WriteTo(output, _repeated_ratings_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Skip != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Skip);
      }
      if (Take != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Take);
      }
      if (OrderBy.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(OrderByDesc);
      }
      if (Include.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Include);
      }
      if (Fields.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Fields);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      ratings_.WriteTo(ref output, _repeated_ratings_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Skip != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Skip);
      }
      if (Take != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Take);
      }
      if (OrderBy.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderBy);
      }
      if (OrderByDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderByDesc);
      }
      if (Include.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Include);
      }
      if (Fields.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Fields);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      size += ratings_.CalculateSize(_repeated_ratings_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StreamMovies other) {
      if (other == null) {
        return;
      }
      if (other.Skip != 0) {
        Skip = other.Skip;
      }
      if (other.Take != 0) {
        Take = other.Take;
      }
      if (other.OrderBy.Length != 0) {
        OrderBy = other.OrderBy;
      }
      if (other.OrderByDesc.Length != 0) {
        OrderByDesc = other.OrderByDesc;
      }
      if (other.Include.Length != 0) {
        Include = other.Include;
      }
      if (other.Fields.Length != 0) {
        Fields = other.Fields;
      }
      meta_.Add(other.meta_);
      ratings_.Add(other.ratings_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 1610: {
            ratings_.AddEntriesFrom(input, _repeated_ratings_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Skip = input.ReadInt32();
            break;
          }
          case 16: {
            Take = input.ReadInt32();
            break;
          }
          case 26: {
            OrderBy = input.ReadString();
            break;
          }
          case 34: {
            OrderByDesc = input.ReadString();
            break;
          }
          case 42: {
            Include = input.ReadString();
            break;
          }
          case 50: {
            Fields = input.ReadString();
            break;
          }
          case 58: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 1610: {
            ratings_.AddEntriesFrom(ref input, _repeated_ratings_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class StreamServerEvents : pb::IMessage<StreamServerEvents>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StreamServerEvents> _parser = new pb::MessageParser<StreamServerEvents>(() => new StreamServerEvents());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StreamServerEvents> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[204]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StreamServerEvents() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StreamServerEvents(StreamServerEvents other) : this() {
      channels_ = other.channels_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StreamServerEvents Clone() {
      return new StreamServerEvents(this);
    }

    /// <summary>Field number for the "Channels" field.</summary>
    public const int ChannelsFieldNumber = 1;
    private static readonly pb::FieldCodec<string> _repeated_channels_codec
        = pb::FieldCodec.ForString(10);
    private readonly pbc::RepeatedField<string> channels_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> Channels {
      get { return channels_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StreamServerEvents);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StreamServerEvents other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!channels_.Equals(other.channels_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= channels_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      channels_.WriteTo(output, _repeated_channels_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      channels_.WriteTo(ref output, _repeated_channels_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += channels_.CalculateSize(_repeated_channels_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StreamServerEvents other) {
      if (other == null) {
        return;
      }
      channels_.Add(other.channels_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            channels_.AddEntriesFrom(input, _repeated_channels_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            channels_.AddEntriesFrom(ref input, _repeated_channels_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class StreamServerEventsResponse : pb::IMessage<StreamServerEventsResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StreamServerEventsResponse> _parser = new pb::MessageParser<StreamServerEventsResponse>(() => new StreamServerEventsResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StreamServerEventsResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[205]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StreamServerEventsResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StreamServerEventsResponse(StreamServerEventsResponse other) : this() {
      eventId_ = other.eventId_;
      channel_ = other.channel_;
      selector_ = other.selector_;
      json_ = other.json_;
      op_ = other.op_;
      target_ = other.target_;
      cssSelector_ = other.cssSelector_;
      meta_ = other.meta_.Clone();
      userId_ = other.userId_;
      displayName_ = other.displayName_;
      profileUrl_ = other.profileUrl_;
      isAuthenticated_ = other.isAuthenticated_;
      channels_ = other.channels_.Clone();
      createdAt_ = other.createdAt_;
      id_ = other.id_;
      unRegisterUrl_ = other.unRegisterUrl_;
      updateSubscriberUrl_ = other.updateSubscriberUrl_;
      heartbeatUrl_ = other.heartbeatUrl_;
      heartbeatIntervalMs_ = other.heartbeatIntervalMs_;
      idleTimeoutMs_ = other.idleTimeoutMs_;
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StreamServerEventsResponse Clone() {
      return new StreamServerEventsResponse(this);
    }

    /// <summary>Field number for the "EventId" field.</summary>
    public const int EventIdFieldNumber = 1;
    private long eventId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long EventId {
      get { return eventId_; }
      set {
        eventId_ = value;
      }
    }

    /// <summary>Field number for the "Channel" field.</summary>
    public const int ChannelFieldNumber = 2;
    private string channel_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Channel {
      get { return channel_; }
      set {
        channel_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Selector" field.</summary>
    public const int SelectorFieldNumber = 4;
    private string selector_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Selector {
      get { return selector_; }
      set {
        selector_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Json" field.</summary>
    public const int JsonFieldNumber = 5;
    private string json_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Json {
      get { return json_; }
      set {
        json_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Op" field.</summary>
    public const int OpFieldNumber = 6;
    private string op_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Op {
      get { return op_; }
      set {
        op_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Target" field.</summary>
    public const int TargetFieldNumber = 7;
    private string target_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Target {
      get { return target_; }
      set {
        target_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "CssSelector" field.</summary>
    public const int CssSelectorFieldNumber = 8;
    private string cssSelector_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CssSelector {
      get { return cssSelector_; }
      set {
        cssSelector_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 9;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 74);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "UserId" field.</summary>
    public const int UserIdFieldNumber = 10;
    private string userId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string UserId {
      get { return userId_; }
      set {
        userId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DisplayName" field.</summary>
    public const int DisplayNameFieldNumber = 11;
    private string displayName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DisplayName {
      get { return displayName_; }
      set {
        displayName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ProfileUrl" field.</summary>
    public const int ProfileUrlFieldNumber = 12;
    private string profileUrl_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ProfileUrl {
      get { return profileUrl_; }
      set {
        profileUrl_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "IsAuthenticated" field.</summary>
    public const int IsAuthenticatedFieldNumber = 13;
    private bool isAuthenticated_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsAuthenticated {
      get { return isAuthenticated_; }
      set {
        isAuthenticated_ = value;
      }
    }

    /// <summary>Field number for the "Channels" field.</summary>
    public const int ChannelsFieldNumber = 14;
    private static readonly pb::FieldCodec<string> _repeated_channels_codec
        = pb::FieldCodec.ForString(114);
    private readonly pbc::RepeatedField<string> channels_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> Channels {
      get { return channels_; }
    }

    /// <summary>Field number for the "CreatedAt" field.</summary>
    public const int CreatedAtFieldNumber = 15;
    private long createdAt_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long CreatedAt {
      get { return createdAt_; }
      set {
        createdAt_ = value;
      }
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 21;
    private string id_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Id {
      get { return id_; }
      set {
        id_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "UnRegisterUrl" field.</summary>
    public const int UnRegisterUrlFieldNumber = 22;
    private string unRegisterUrl_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string UnRegisterUrl {
      get { return unRegisterUrl_; }
      set {
        unRegisterUrl_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "UpdateSubscriberUrl" field.</summary>
    public const int UpdateSubscriberUrlFieldNumber = 23;
    private string updateSubscriberUrl_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string UpdateSubscriberUrl {
      get { return updateSubscriberUrl_; }
      set {
        updateSubscriberUrl_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "HeartbeatUrl" field.</summary>
    public const int HeartbeatUrlFieldNumber = 24;
    private string heartbeatUrl_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string HeartbeatUrl {
      get { return heartbeatUrl_; }
      set {
        heartbeatUrl_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "HeartbeatIntervalMs" field.</summary>
    public const int HeartbeatIntervalMsFieldNumber = 25;
    private long heartbeatIntervalMs_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long HeartbeatIntervalMs {
      get { return heartbeatIntervalMs_; }
      set {
        heartbeatIntervalMs_ = value;
      }
    }

    /// <summary>Field number for the "IdleTimeoutMs" field.</summary>
    public const int IdleTimeoutMsFieldNumber = 26;
    private long idleTimeoutMs_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long IdleTimeoutMs {
      get { return idleTimeoutMs_; }
      set {
        idleTimeoutMs_ = value;
      }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 30;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StreamServerEventsResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StreamServerEventsResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (EventId != other.EventId) return false;
      if (Channel != other.Channel) return false;
      if (Selector != other.Selector) return false;
      if (Json != other.Json) return false;
      if (Op != other.Op) return false;
      if (Target != other.Target) return false;
      if (CssSelector != other.CssSelector) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (UserId != other.UserId) return false;
      if (DisplayName != other.DisplayName) return false;
      if (ProfileUrl != other.ProfileUrl) return false;
      if (IsAuthenticated != other.IsAuthenticated) return false;
      if(!channels_.Equals(other.channels_)) return false;
      if (CreatedAt != other.CreatedAt) return false;
      if (Id != other.Id) return false;
      if (UnRegisterUrl != other.UnRegisterUrl) return false;
      if (UpdateSubscriberUrl != other.UpdateSubscriberUrl) return false;
      if (HeartbeatUrl != other.HeartbeatUrl) return false;
      if (HeartbeatIntervalMs != other.HeartbeatIntervalMs) return false;
      if (IdleTimeoutMs != other.IdleTimeoutMs) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (EventId != 0L) hash ^= EventId.GetHashCode();
      if (Channel.Length != 0) hash ^= Channel.GetHashCode();
      if (Selector.Length != 0) hash ^= Selector.GetHashCode();
      if (Json.Length != 0) hash ^= Json.GetHashCode();
      if (Op.Length != 0) hash ^= Op.GetHashCode();
      if (Target.Length != 0) hash ^= Target.GetHashCode();
      if (CssSelector.Length != 0) hash ^= CssSelector.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (UserId.Length != 0) hash ^= UserId.GetHashCode();
      if (DisplayName.Length != 0) hash ^= DisplayName.GetHashCode();
      if (ProfileUrl.Length != 0) hash ^= ProfileUrl.GetHashCode();
      if (IsAuthenticated != false) hash ^= IsAuthenticated.GetHashCode();
      hash ^= channels_.GetHashCode();
      if (CreatedAt != 0L) hash ^= CreatedAt.GetHashCode();
      if (Id.Length != 0) hash ^= Id.GetHashCode();
      if (UnRegisterUrl.Length != 0) hash ^= UnRegisterUrl.GetHashCode();
      if (UpdateSubscriberUrl.Length != 0) hash ^= UpdateSubscriberUrl.GetHashCode();
      if (HeartbeatUrl.Length != 0) hash ^= HeartbeatUrl.GetHashCode();
      if (HeartbeatIntervalMs != 0L) hash ^= HeartbeatIntervalMs.GetHashCode();
      if (IdleTimeoutMs != 0L) hash ^= IdleTimeoutMs.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (EventId != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(EventId);
      }
      if (Channel.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Channel);
      }
      if (Selector.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Selector);
      }
      if (Json.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Json);
      }
      if (Op.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Op);
      }
      if (Target.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Target);
      }
      if (CssSelector.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(CssSelector);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (UserId.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(UserId);
      }
      if (DisplayName.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(DisplayName);
      }
      if (ProfileUrl.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(ProfileUrl);
      }
      if (IsAuthenticated != false) {
        output.WriteRawTag(104);
        output.WriteBool(IsAuthenticated);
      }
      channels_.WriteTo(output, _repeated_channels_codec);
      if (CreatedAt != 0L) {
        output.WriteRawTag(120);
        output.WriteInt64(CreatedAt);
      }
      if (Id.Length != 0) {
        output.WriteRawTag(170, 1);
        output.WriteString(Id);
      }
      if (UnRegisterUrl.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(UnRegisterUrl);
      }
      if (UpdateSubscriberUrl.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(UpdateSubscriberUrl);
      }
      if (HeartbeatUrl.Length != 0) {
        output.WriteRawTag(194, 1);
        output.WriteString(HeartbeatUrl);
      }
      if (HeartbeatIntervalMs != 0L) {
        output.WriteRawTag(200, 1);
        output.WriteInt64(HeartbeatIntervalMs);
      }
      if (IdleTimeoutMs != 0L) {
        output.WriteRawTag(208, 1);
        output.WriteInt64(IdleTimeoutMs);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(242, 1);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (EventId != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(EventId);
      }
      if (Channel.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Channel);
      }
      if (Selector.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Selector);
      }
      if (Json.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Json);
      }
      if (Op.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Op);
      }
      if (Target.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Target);
      }
      if (CssSelector.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(CssSelector);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (UserId.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(UserId);
      }
      if (DisplayName.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(DisplayName);
      }
      if (ProfileUrl.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(ProfileUrl);
      }
      if (IsAuthenticated != false) {
        output.WriteRawTag(104);
        output.WriteBool(IsAuthenticated);
      }
      channels_.WriteTo(ref output, _repeated_channels_codec);
      if (CreatedAt != 0L) {
        output.WriteRawTag(120);
        output.WriteInt64(CreatedAt);
      }
      if (Id.Length != 0) {
        output.WriteRawTag(170, 1);
        output.WriteString(Id);
      }
      if (UnRegisterUrl.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(UnRegisterUrl);
      }
      if (UpdateSubscriberUrl.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(UpdateSubscriberUrl);
      }
      if (HeartbeatUrl.Length != 0) {
        output.WriteRawTag(194, 1);
        output.WriteString(HeartbeatUrl);
      }
      if (HeartbeatIntervalMs != 0L) {
        output.WriteRawTag(200, 1);
        output.WriteInt64(HeartbeatIntervalMs);
      }
      if (IdleTimeoutMs != 0L) {
        output.WriteRawTag(208, 1);
        output.WriteInt64(IdleTimeoutMs);
      }
      if (responseStatus_ != null) {
        output.WriteRawTag(242, 1);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (EventId != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(EventId);
      }
      if (Channel.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Channel);
      }
      if (Selector.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Selector);
      }
      if (Json.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Json);
      }
      if (Op.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Op);
      }
      if (Target.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Target);
      }
      if (CssSelector.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CssSelector);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (UserId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(UserId);
      }
      if (DisplayName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DisplayName);
      }
      if (ProfileUrl.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ProfileUrl);
      }
      if (IsAuthenticated != false) {
        size += 1 + 1;
      }
      size += channels_.CalculateSize(_repeated_channels_codec);
      if (CreatedAt != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(CreatedAt);
      }
      if (Id.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Id);
      }
      if (UnRegisterUrl.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(UnRegisterUrl);
      }
      if (UpdateSubscriberUrl.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(UpdateSubscriberUrl);
      }
      if (HeartbeatUrl.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(HeartbeatUrl);
      }
      if (HeartbeatIntervalMs != 0L) {
        size += 2 + pb::CodedOutputStream.ComputeInt64Size(HeartbeatIntervalMs);
      }
      if (IdleTimeoutMs != 0L) {
        size += 2 + pb::CodedOutputStream.ComputeInt64Size(IdleTimeoutMs);
      }
      if (responseStatus_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StreamServerEventsResponse other) {
      if (other == null) {
        return;
      }
      if (other.EventId != 0L) {
        EventId = other.EventId;
      }
      if (other.Channel.Length != 0) {
        Channel = other.Channel;
      }
      if (other.Selector.Length != 0) {
        Selector = other.Selector;
      }
      if (other.Json.Length != 0) {
        Json = other.Json;
      }
      if (other.Op.Length != 0) {
        Op = other.Op;
      }
      if (other.Target.Length != 0) {
        Target = other.Target;
      }
      if (other.CssSelector.Length != 0) {
        CssSelector = other.CssSelector;
      }
      meta_.Add(other.meta_);
      if (other.UserId.Length != 0) {
        UserId = other.UserId;
      }
      if (other.DisplayName.Length != 0) {
        DisplayName = other.DisplayName;
      }
      if (other.ProfileUrl.Length != 0) {
        ProfileUrl = other.ProfileUrl;
      }
      if (other.IsAuthenticated != false) {
        IsAuthenticated = other.IsAuthenticated;
      }
      channels_.Add(other.channels_);
      if (other.CreatedAt != 0L) {
        CreatedAt = other.CreatedAt;
      }
      if (other.Id.Length != 0) {
        Id = other.Id;
      }
      if (other.UnRegisterUrl.Length != 0) {
        UnRegisterUrl = other.UnRegisterUrl;
      }
      if (other.UpdateSubscriberUrl.Length != 0) {
        UpdateSubscriberUrl = other.UpdateSubscriberUrl;
      }
      if (other.HeartbeatUrl.Length != 0) {
        HeartbeatUrl = other.HeartbeatUrl;
      }
      if (other.HeartbeatIntervalMs != 0L) {
        HeartbeatIntervalMs = other.HeartbeatIntervalMs;
      }
      if (other.IdleTimeoutMs != 0L) {
        IdleTimeoutMs = other.IdleTimeoutMs;
      }
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            EventId = input.ReadInt64();
            break;
          }
          case 18: {
            Channel = input.ReadString();
            break;
          }
          case 34: {
            Selector = input.ReadString();
            break;
          }
          case 42: {
            Json = input.ReadString();
            break;
          }
          case 50: {
            Op = input.ReadString();
            break;
          }
          case 58: {
            Target = input.ReadString();
            break;
          }
          case 66: {
            CssSelector = input.ReadString();
            break;
          }
          case 74: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 82: {
            UserId = input.ReadString();
            break;
          }
          case 90: {
            DisplayName = input.ReadString();
            break;
          }
          case 98: {
            ProfileUrl = input.ReadString();
            break;
          }
          case 104: {
            IsAuthenticated = input.ReadBool();
            break;
          }
          case 114: {
            channels_.AddEntriesFrom(input, _repeated_channels_codec);
            break;
          }
          case 120: {
            CreatedAt = input.ReadInt64();
            break;
          }
          case 170: {
            Id = input.ReadString();
            break;
          }
          case 178: {
            UnRegisterUrl = input.ReadString();
            break;
          }
          case 186: {
            UpdateSubscriberUrl = input.ReadString();
            break;
          }
          case 194: {
            HeartbeatUrl = input.ReadString();
            break;
          }
          case 200: {
            HeartbeatIntervalMs = input.ReadInt64();
            break;
          }
          case 208: {
            IdleTimeoutMs = input.ReadInt64();
            break;
          }
          case 242: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            EventId = input.ReadInt64();
            break;
          }
          case 18: {
            Channel = input.ReadString();
            break;
          }
          case 34: {
            Selector = input.ReadString();
            break;
          }
          case 42: {
            Json = input.ReadString();
            break;
          }
          case 50: {
            Op = input.ReadString();
            break;
          }
          case 58: {
            Target = input.ReadString();
            break;
          }
          case 66: {
            CssSelector = input.ReadString();
            break;
          }
          case 74: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 82: {
            UserId = input.ReadString();
            break;
          }
          case 90: {
            DisplayName = input.ReadString();
            break;
          }
          case 98: {
            ProfileUrl = input.ReadString();
            break;
          }
          case 104: {
            IsAuthenticated = input.ReadBool();
            break;
          }
          case 114: {
            channels_.AddEntriesFrom(ref input, _repeated_channels_codec);
            break;
          }
          case 120: {
            CreatedAt = input.ReadInt64();
            break;
          }
          case 170: {
            Id = input.ReadString();
            break;
          }
          case 178: {
            UnRegisterUrl = input.ReadString();
            break;
          }
          case 186: {
            UpdateSubscriberUrl = input.ReadString();
            break;
          }
          case 194: {
            HeartbeatUrl = input.ReadString();
            break;
          }
          case 200: {
            HeartbeatIntervalMs = input.ReadInt64();
            break;
          }
          case 208: {
            IdleTimeoutMs = input.ReadInt64();
            break;
          }
          case 242: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class TestAuthValidators : pb::IMessage<TestAuthValidators>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TestAuthValidators> _parser = new pb::MessageParser<TestAuthValidators>(() => new TestAuthValidators());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TestAuthValidators> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[206]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TestAuthValidators() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TestAuthValidators(TestAuthValidators other) : this() {
      notNull_ = other.notNull_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TestAuthValidators Clone() {
      return new TestAuthValidators(this);
    }

    /// <summary>Field number for the "NotNull" field.</summary>
    public const int NotNullFieldNumber = 1;
    private string notNull_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string NotNull {
      get { return notNull_; }
      set {
        notNull_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TestAuthValidators);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TestAuthValidators other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (NotNull != other.NotNull) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (NotNull.Length != 0) hash ^= NotNull.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (NotNull.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(NotNull);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (NotNull.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(NotNull);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (NotNull.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(NotNull);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TestAuthValidators other) {
      if (other == null) {
        return;
      }
      if (other.NotNull.Length != 0) {
        NotNull = other.NotNull;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            NotNull = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            NotNull = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class TestDbCondition : pb::IMessage<TestDbCondition>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TestDbCondition> _parser = new pb::MessageParser<TestDbCondition>(() => new TestDbCondition());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TestDbCondition> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[207]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TestDbCondition() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TestDbCondition(TestDbCondition other) : this() {
      id_ = other.id_;
      notNull_ = other.notNull_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TestDbCondition Clone() {
      return new TestDbCondition(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "NotNull" field.</summary>
    public const int NotNullFieldNumber = 2;
    private string notNull_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string NotNull {
      get { return notNull_; }
      set {
        notNull_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TestDbCondition);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TestDbCondition other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (NotNull != other.NotNull) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (NotNull.Length != 0) hash ^= NotNull.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (NotNull.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(NotNull);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (NotNull.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(NotNull);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (NotNull.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(NotNull);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TestDbCondition other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.NotNull.Length != 0) {
        NotNull = other.NotNull;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            NotNull = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            NotNull = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class TestDbValidator : pb::IMessage<TestDbValidator>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TestDbValidator> _parser = new pb::MessageParser<TestDbValidator>(() => new TestDbValidator());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TestDbValidator> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[208]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TestDbValidator() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TestDbValidator(TestDbValidator other) : this() {
      id_ = other.id_;
      notNull_ = other.notNull_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TestDbValidator Clone() {
      return new TestDbValidator(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "NotNull" field.</summary>
    public const int NotNullFieldNumber = 2;
    private string notNull_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string NotNull {
      get { return notNull_; }
      set {
        notNull_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TestDbValidator);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TestDbValidator other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (NotNull != other.NotNull) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (NotNull.Length != 0) hash ^= NotNull.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (NotNull.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(NotNull);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (NotNull.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(NotNull);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (NotNull.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(NotNull);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TestDbValidator other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.NotNull.Length != 0) {
        NotNull = other.NotNull;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            NotNull = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            NotNull = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class TestIsAdmin : pb::IMessage<TestIsAdmin>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TestIsAdmin> _parser = new pb::MessageParser<TestIsAdmin>(() => new TestIsAdmin());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TestIsAdmin> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[209]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TestIsAdmin() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TestIsAdmin(TestIsAdmin other) : this() {
      notNull_ = other.notNull_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TestIsAdmin Clone() {
      return new TestIsAdmin(this);
    }

    /// <summary>Field number for the "NotNull" field.</summary>
    public const int NotNullFieldNumber = 1;
    private string notNull_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string NotNull {
      get { return notNull_; }
      set {
        notNull_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TestIsAdmin);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TestIsAdmin other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (NotNull != other.NotNull) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (NotNull.Length != 0) hash ^= NotNull.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (NotNull.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(NotNull);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (NotNull.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(NotNull);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (NotNull.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(NotNull);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TestIsAdmin other) {
      if (other == null) {
        return;
      }
      if (other.NotNull.Length != 0) {
        NotNull = other.NotNull;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            NotNull = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            NotNull = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class TestMultiAuthValidators : pb::IMessage<TestMultiAuthValidators>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TestMultiAuthValidators> _parser = new pb::MessageParser<TestMultiAuthValidators>(() => new TestMultiAuthValidators());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TestMultiAuthValidators> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[210]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TestMultiAuthValidators() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TestMultiAuthValidators(TestMultiAuthValidators other) : this() {
      notNull_ = other.notNull_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TestMultiAuthValidators Clone() {
      return new TestMultiAuthValidators(this);
    }

    /// <summary>Field number for the "NotNull" field.</summary>
    public const int NotNullFieldNumber = 1;
    private string notNull_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string NotNull {
      get { return notNull_; }
      set {
        notNull_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TestMultiAuthValidators);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TestMultiAuthValidators other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (NotNull != other.NotNull) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (NotNull.Length != 0) hash ^= NotNull.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (NotNull.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(NotNull);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (NotNull.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(NotNull);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (NotNull.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(NotNull);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TestMultiAuthValidators other) {
      if (other == null) {
        return;
      }
      if (other.NotNull.Length != 0) {
        NotNull = other.NotNull;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            NotNull = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            NotNull = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Throw : pb::IMessage<Throw>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Throw> _parser = new pb::MessageParser<Throw>(() => new Throw());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Throw> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[211]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Throw() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Throw(Throw other) : this() {
      message_ = other.message_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Throw Clone() {
      return new Throw(this);
    }

    /// <summary>Field number for the "Message" field.</summary>
    public const int MessageFieldNumber = 1;
    private string message_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Message {
      get { return message_; }
      set {
        message_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Throw);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Throw other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Message != other.Message) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Message.Length != 0) hash ^= Message.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Message.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Message);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Message.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Message);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Message.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Message);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Throw other) {
      if (other == null) {
        return;
      }
      if (other.Message.Length != 0) {
        Message = other.Message;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Message = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Message = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class ThrowCustom : pb::IMessage<ThrowCustom>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ThrowCustom> _parser = new pb::MessageParser<ThrowCustom>(() => new ThrowCustom());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ThrowCustom> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[212]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ThrowCustom() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ThrowCustom(ThrowCustom other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ThrowCustom Clone() {
      return new ThrowCustom(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ThrowCustom);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ThrowCustom other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ThrowCustom other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class ThrowCustomResponse : pb::IMessage<ThrowCustomResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ThrowCustomResponse> _parser = new pb::MessageParser<ThrowCustomResponse>(() => new ThrowCustomResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ThrowCustomResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[213]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ThrowCustomResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ThrowCustomResponse(ThrowCustomResponse other) : this() {
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ThrowCustomResponse Clone() {
      return new ThrowCustomResponse(this);
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 1;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ThrowCustomResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ThrowCustomResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (responseStatus_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (responseStatus_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ThrowCustomResponse other) {
      if (other == null) {
        return;
      }
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class ThrowVoid : pb::IMessage<ThrowVoid>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ThrowVoid> _parser = new pb::MessageParser<ThrowVoid>(() => new ThrowVoid());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ThrowVoid> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[214]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ThrowVoid() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ThrowVoid(ThrowVoid other) : this() {
      message_ = other.message_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ThrowVoid Clone() {
      return new ThrowVoid(this);
    }

    /// <summary>Field number for the "Message" field.</summary>
    public const int MessageFieldNumber = 1;
    private string message_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Message {
      get { return message_; }
      set {
        message_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ThrowVoid);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ThrowVoid other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Message != other.Message) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Message.Length != 0) hash ^= Message.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Message.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Message);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Message.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Message);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Message.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Message);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ThrowVoid other) {
      if (other == null) {
        return;
      }
      if (other.Message.Length != 0) {
        Message = other.Message;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Message = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Message = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Todo : pb::IMessage<Todo>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Todo> _parser = new pb::MessageParser<Todo>(() => new Todo());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Todo> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[215]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Todo() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Todo(Todo other) : this() {
      id_ = other.id_;
      title_ = other.title_;
      order_ = other.order_;
      completed_ = other.completed_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Todo Clone() {
      return new Todo(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private long id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 2;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Order" field.</summary>
    public const int OrderFieldNumber = 3;
    private int order_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Order {
      get { return order_; }
      set {
        order_ = value;
      }
    }

    /// <summary>Field number for the "Completed" field.</summary>
    public const int CompletedFieldNumber = 4;
    private bool completed_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Completed {
      get { return completed_; }
      set {
        completed_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Todo);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Todo other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Title != other.Title) return false;
      if (Order != other.Order) return false;
      if (Completed != other.Completed) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0L) hash ^= Id.GetHashCode();
      if (Title.Length != 0) hash ^= Title.GetHashCode();
      if (Order != 0) hash ^= Order.GetHashCode();
      if (Completed != false) hash ^= Completed.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Order != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Order);
      }
      if (Completed != false) {
        output.WriteRawTag(32);
        output.WriteBool(Completed);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Order != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Order);
      }
      if (Completed != false) {
        output.WriteRawTag(32);
        output.WriteBool(Completed);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Id);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (Order != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Order);
      }
      if (Completed != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Todo other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0L) {
        Id = other.Id;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.Order != 0) {
        Order = other.Order;
      }
      if (other.Completed != false) {
        Completed = other.Completed;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt64();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 24: {
            Order = input.ReadInt32();
            break;
          }
          case 32: {
            Completed = input.ReadBool();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt64();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 24: {
            Order = input.ReadInt32();
            break;
          }
          case 32: {
            Completed = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class TriggerAllValidators : pb::IMessage<TriggerAllValidators>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TriggerAllValidators> _parser = new pb::MessageParser<TriggerAllValidators>(() => new TriggerAllValidators());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TriggerAllValidators> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[216]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TriggerAllValidators() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TriggerAllValidators(TriggerAllValidators other) : this() {
      creditCard_ = other.creditCard_;
      email_ = other.email_;
      empty_ = other.empty_;
      equal_ = other.equal_;
      exclusiveBetween_ = other.exclusiveBetween_;
      greaterThanOrEqual_ = other.greaterThanOrEqual_;
      greaterThan_ = other.greaterThan_;
      inclusiveBetween_ = other.inclusiveBetween_;
      length_ = other.length_;
      lessThanOrEqual_ = other.lessThanOrEqual_;
      lessThan_ = other.lessThan_;
      notEmpty_ = other.notEmpty_;
      notEqual_ = other.notEqual_;
      null_ = other.null_;
      regularExpression_ = other.regularExpression_;
      scalePrecision_ = other.scalePrecision_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TriggerAllValidators Clone() {
      return new TriggerAllValidators(this);
    }

    /// <summary>Field number for the "CreditCard" field.</summary>
    public const int CreditCardFieldNumber = 1;
    private string creditCard_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CreditCard {
      get { return creditCard_; }
      set {
        creditCard_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Email" field.</summary>
    public const int EmailFieldNumber = 2;
    private string email_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Email {
      get { return email_; }
      set {
        email_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Empty" field.</summary>
    public const int EmptyFieldNumber = 3;
    private string empty_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Empty {
      get { return empty_; }
      set {
        empty_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Equal" field.</summary>
    public const int EqualFieldNumber = 4;
    private string equal_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Equal {
      get { return equal_; }
      set {
        equal_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ExclusiveBetween" field.</summary>
    public const int ExclusiveBetweenFieldNumber = 5;
    private int exclusiveBetween_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ExclusiveBetween {
      get { return exclusiveBetween_; }
      set {
        exclusiveBetween_ = value;
      }
    }

    /// <summary>Field number for the "GreaterThanOrEqual" field.</summary>
    public const int GreaterThanOrEqualFieldNumber = 6;
    private int greaterThanOrEqual_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GreaterThanOrEqual {
      get { return greaterThanOrEqual_; }
      set {
        greaterThanOrEqual_ = value;
      }
    }

    /// <summary>Field number for the "GreaterThan" field.</summary>
    public const int GreaterThanFieldNumber = 7;
    private int greaterThan_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GreaterThan {
      get { return greaterThan_; }
      set {
        greaterThan_ = value;
      }
    }

    /// <summary>Field number for the "InclusiveBetween" field.</summary>
    public const int InclusiveBetweenFieldNumber = 8;
    private int inclusiveBetween_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int InclusiveBetween {
      get { return inclusiveBetween_; }
      set {
        inclusiveBetween_ = value;
      }
    }

    /// <summary>Field number for the "Length" field.</summary>
    public const int LengthFieldNumber = 9;
    private string length_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Length {
      get { return length_; }
      set {
        length_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LessThanOrEqual" field.</summary>
    public const int LessThanOrEqualFieldNumber = 10;
    private int lessThanOrEqual_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LessThanOrEqual {
      get { return lessThanOrEqual_; }
      set {
        lessThanOrEqual_ = value;
      }
    }

    /// <summary>Field number for the "LessThan" field.</summary>
    public const int LessThanFieldNumber = 11;
    private int lessThan_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LessThan {
      get { return lessThan_; }
      set {
        lessThan_ = value;
      }
    }

    /// <summary>Field number for the "NotEmpty" field.</summary>
    public const int NotEmptyFieldNumber = 12;
    private string notEmpty_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string NotEmpty {
      get { return notEmpty_; }
      set {
        notEmpty_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "NotEqual" field.</summary>
    public const int NotEqualFieldNumber = 13;
    private string notEqual_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string NotEqual {
      get { return notEqual_; }
      set {
        notEqual_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Null" field.</summary>
    public const int NullFieldNumber = 14;
    private string null_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Null {
      get { return null_; }
      set {
        null_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "RegularExpression" field.</summary>
    public const int RegularExpressionFieldNumber = 15;
    private string regularExpression_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RegularExpression {
      get { return regularExpression_; }
      set {
        regularExpression_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ScalePrecision" field.</summary>
    public const int ScalePrecisionFieldNumber = 16;
    private string scalePrecision_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ScalePrecision {
      get { return scalePrecision_; }
      set {
        scalePrecision_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TriggerAllValidators);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TriggerAllValidators other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CreditCard != other.CreditCard) return false;
      if (Email != other.Email) return false;
      if (Empty != other.Empty) return false;
      if (Equal != other.Equal) return false;
      if (ExclusiveBetween != other.ExclusiveBetween) return false;
      if (GreaterThanOrEqual != other.GreaterThanOrEqual) return false;
      if (GreaterThan != other.GreaterThan) return false;
      if (InclusiveBetween != other.InclusiveBetween) return false;
      if (Length != other.Length) return false;
      if (LessThanOrEqual != other.LessThanOrEqual) return false;
      if (LessThan != other.LessThan) return false;
      if (NotEmpty != other.NotEmpty) return false;
      if (NotEqual != other.NotEqual) return false;
      if (Null != other.Null) return false;
      if (RegularExpression != other.RegularExpression) return false;
      if (ScalePrecision != other.ScalePrecision) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (CreditCard.Length != 0) hash ^= CreditCard.GetHashCode();
      if (Email.Length != 0) hash ^= Email.GetHashCode();
      if (Empty.Length != 0) hash ^= Empty.GetHashCode();
      if (Equal.Length != 0) hash ^= Equal.GetHashCode();
      if (ExclusiveBetween != 0) hash ^= ExclusiveBetween.GetHashCode();
      if (GreaterThanOrEqual != 0) hash ^= GreaterThanOrEqual.GetHashCode();
      if (GreaterThan != 0) hash ^= GreaterThan.GetHashCode();
      if (InclusiveBetween != 0) hash ^= InclusiveBetween.GetHashCode();
      if (Length.Length != 0) hash ^= Length.GetHashCode();
      if (LessThanOrEqual != 0) hash ^= LessThanOrEqual.GetHashCode();
      if (LessThan != 0) hash ^= LessThan.GetHashCode();
      if (NotEmpty.Length != 0) hash ^= NotEmpty.GetHashCode();
      if (NotEqual.Length != 0) hash ^= NotEqual.GetHashCode();
      if (Null.Length != 0) hash ^= Null.GetHashCode();
      if (RegularExpression.Length != 0) hash ^= RegularExpression.GetHashCode();
      if (ScalePrecision.Length != 0) hash ^= ScalePrecision.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (CreditCard.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CreditCard);
      }
      if (Email.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Email);
      }
      if (Empty.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Empty);
      }
      if (Equal.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Equal);
      }
      if (ExclusiveBetween != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ExclusiveBetween);
      }
      if (GreaterThanOrEqual != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(GreaterThanOrEqual);
      }
      if (GreaterThan != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(GreaterThan);
      }
      if (InclusiveBetween != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(InclusiveBetween);
      }
      if (Length.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Length);
      }
      if (LessThanOrEqual != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(LessThanOrEqual);
      }
      if (LessThan != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(LessThan);
      }
      if (NotEmpty.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(NotEmpty);
      }
      if (NotEqual.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(NotEqual);
      }
      if (Null.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(Null);
      }
      if (RegularExpression.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(RegularExpression);
      }
      if (ScalePrecision.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(ScalePrecision);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (CreditCard.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CreditCard);
      }
      if (Email.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Email);
      }
      if (Empty.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Empty);
      }
      if (Equal.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Equal);
      }
      if (ExclusiveBetween != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ExclusiveBetween);
      }
      if (GreaterThanOrEqual != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(GreaterThanOrEqual);
      }
      if (GreaterThan != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(GreaterThan);
      }
      if (InclusiveBetween != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(InclusiveBetween);
      }
      if (Length.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Length);
      }
      if (LessThanOrEqual != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(LessThanOrEqual);
      }
      if (LessThan != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(LessThan);
      }
      if (NotEmpty.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(NotEmpty);
      }
      if (NotEqual.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(NotEqual);
      }
      if (Null.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(Null);
      }
      if (RegularExpression.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(RegularExpression);
      }
      if (ScalePrecision.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(ScalePrecision);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (CreditCard.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CreditCard);
      }
      if (Email.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Email);
      }
      if (Empty.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Empty);
      }
      if (Equal.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Equal);
      }
      if (ExclusiveBetween != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ExclusiveBetween);
      }
      if (GreaterThanOrEqual != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GreaterThanOrEqual);
      }
      if (GreaterThan != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GreaterThan);
      }
      if (InclusiveBetween != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(InclusiveBetween);
      }
      if (Length.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Length);
      }
      if (LessThanOrEqual != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LessThanOrEqual);
      }
      if (LessThan != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LessThan);
      }
      if (NotEmpty.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(NotEmpty);
      }
      if (NotEqual.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(NotEqual);
      }
      if (Null.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Null);
      }
      if (RegularExpression.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(RegularExpression);
      }
      if (ScalePrecision.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(ScalePrecision);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TriggerAllValidators other) {
      if (other == null) {
        return;
      }
      if (other.CreditCard.Length != 0) {
        CreditCard = other.CreditCard;
      }
      if (other.Email.Length != 0) {
        Email = other.Email;
      }
      if (other.Empty.Length != 0) {
        Empty = other.Empty;
      }
      if (other.Equal.Length != 0) {
        Equal = other.Equal;
      }
      if (other.ExclusiveBetween != 0) {
        ExclusiveBetween = other.ExclusiveBetween;
      }
      if (other.GreaterThanOrEqual != 0) {
        GreaterThanOrEqual = other.GreaterThanOrEqual;
      }
      if (other.GreaterThan != 0) {
        GreaterThan = other.GreaterThan;
      }
      if (other.InclusiveBetween != 0) {
        InclusiveBetween = other.InclusiveBetween;
      }
      if (other.Length.Length != 0) {
        Length = other.Length;
      }
      if (other.LessThanOrEqual != 0) {
        LessThanOrEqual = other.LessThanOrEqual;
      }
      if (other.LessThan != 0) {
        LessThan = other.LessThan;
      }
      if (other.NotEmpty.Length != 0) {
        NotEmpty = other.NotEmpty;
      }
      if (other.NotEqual.Length != 0) {
        NotEqual = other.NotEqual;
      }
      if (other.Null.Length != 0) {
        Null = other.Null;
      }
      if (other.RegularExpression.Length != 0) {
        RegularExpression = other.RegularExpression;
      }
      if (other.ScalePrecision.Length != 0) {
        ScalePrecision = other.ScalePrecision;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            CreditCard = input.ReadString();
            break;
          }
          case 18: {
            Email = input.ReadString();
            break;
          }
          case 26: {
            Empty = input.ReadString();
            break;
          }
          case 34: {
            Equal = input.ReadString();
            break;
          }
          case 40: {
            ExclusiveBetween = input.ReadInt32();
            break;
          }
          case 48: {
            GreaterThanOrEqual = input.ReadInt32();
            break;
          }
          case 56: {
            GreaterThan = input.ReadInt32();
            break;
          }
          case 64: {
            InclusiveBetween = input.ReadInt32();
            break;
          }
          case 74: {
            Length = input.ReadString();
            break;
          }
          case 80: {
            LessThanOrEqual = input.ReadInt32();
            break;
          }
          case 88: {
            LessThan = input.ReadInt32();
            break;
          }
          case 98: {
            NotEmpty = input.ReadString();
            break;
          }
          case 106: {
            NotEqual = input.ReadString();
            break;
          }
          case 114: {
            Null = input.ReadString();
            break;
          }
          case 122: {
            RegularExpression = input.ReadString();
            break;
          }
          case 130: {
            ScalePrecision = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            CreditCard = input.ReadString();
            break;
          }
          case 18: {
            Email = input.ReadString();
            break;
          }
          case 26: {
            Empty = input.ReadString();
            break;
          }
          case 34: {
            Equal = input.ReadString();
            break;
          }
          case 40: {
            ExclusiveBetween = input.ReadInt32();
            break;
          }
          case 48: {
            GreaterThanOrEqual = input.ReadInt32();
            break;
          }
          case 56: {
            GreaterThan = input.ReadInt32();
            break;
          }
          case 64: {
            InclusiveBetween = input.ReadInt32();
            break;
          }
          case 74: {
            Length = input.ReadString();
            break;
          }
          case 80: {
            LessThanOrEqual = input.ReadInt32();
            break;
          }
          case 88: {
            LessThan = input.ReadInt32();
            break;
          }
          case 98: {
            NotEmpty = input.ReadString();
            break;
          }
          case 106: {
            NotEqual = input.ReadString();
            break;
          }
          case 114: {
            Null = input.ReadString();
            break;
          }
          case 122: {
            RegularExpression = input.ReadString();
            break;
          }
          case 130: {
            ScalePrecision = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class TriggerValidators : pb::IMessage<TriggerValidators>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TriggerValidators> _parser = new pb::MessageParser<TriggerValidators>(() => new TriggerValidators());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TriggerValidators> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[217]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TriggerValidators() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TriggerValidators(TriggerValidators other) : this() {
      creditCard_ = other.creditCard_;
      email_ = other.email_;
      empty_ = other.empty_;
      equal_ = other.equal_;
      exclusiveBetween_ = other.exclusiveBetween_;
      greaterThanOrEqual_ = other.greaterThanOrEqual_;
      greaterThan_ = other.greaterThan_;
      inclusiveBetween_ = other.inclusiveBetween_;
      length_ = other.length_;
      lessThanOrEqual_ = other.lessThanOrEqual_;
      lessThan_ = other.lessThan_;
      notEmpty_ = other.notEmpty_;
      notEqual_ = other.notEqual_;
      null_ = other.null_;
      regularExpression_ = other.regularExpression_;
      scalePrecision_ = other.scalePrecision_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TriggerValidators Clone() {
      return new TriggerValidators(this);
    }

    /// <summary>Field number for the "CreditCard" field.</summary>
    public const int CreditCardFieldNumber = 1;
    private string creditCard_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CreditCard {
      get { return creditCard_; }
      set {
        creditCard_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Email" field.</summary>
    public const int EmailFieldNumber = 2;
    private string email_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Email {
      get { return email_; }
      set {
        email_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Empty" field.</summary>
    public const int EmptyFieldNumber = 3;
    private string empty_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Empty {
      get { return empty_; }
      set {
        empty_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Equal" field.</summary>
    public const int EqualFieldNumber = 4;
    private string equal_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Equal {
      get { return equal_; }
      set {
        equal_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ExclusiveBetween" field.</summary>
    public const int ExclusiveBetweenFieldNumber = 5;
    private int exclusiveBetween_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ExclusiveBetween {
      get { return exclusiveBetween_; }
      set {
        exclusiveBetween_ = value;
      }
    }

    /// <summary>Field number for the "GreaterThanOrEqual" field.</summary>
    public const int GreaterThanOrEqualFieldNumber = 6;
    private int greaterThanOrEqual_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GreaterThanOrEqual {
      get { return greaterThanOrEqual_; }
      set {
        greaterThanOrEqual_ = value;
      }
    }

    /// <summary>Field number for the "GreaterThan" field.</summary>
    public const int GreaterThanFieldNumber = 7;
    private int greaterThan_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GreaterThan {
      get { return greaterThan_; }
      set {
        greaterThan_ = value;
      }
    }

    /// <summary>Field number for the "InclusiveBetween" field.</summary>
    public const int InclusiveBetweenFieldNumber = 8;
    private int inclusiveBetween_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int InclusiveBetween {
      get { return inclusiveBetween_; }
      set {
        inclusiveBetween_ = value;
      }
    }

    /// <summary>Field number for the "Length" field.</summary>
    public const int LengthFieldNumber = 9;
    private string length_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Length {
      get { return length_; }
      set {
        length_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LessThanOrEqual" field.</summary>
    public const int LessThanOrEqualFieldNumber = 10;
    private int lessThanOrEqual_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LessThanOrEqual {
      get { return lessThanOrEqual_; }
      set {
        lessThanOrEqual_ = value;
      }
    }

    /// <summary>Field number for the "LessThan" field.</summary>
    public const int LessThanFieldNumber = 11;
    private int lessThan_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LessThan {
      get { return lessThan_; }
      set {
        lessThan_ = value;
      }
    }

    /// <summary>Field number for the "NotEmpty" field.</summary>
    public const int NotEmptyFieldNumber = 12;
    private string notEmpty_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string NotEmpty {
      get { return notEmpty_; }
      set {
        notEmpty_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "NotEqual" field.</summary>
    public const int NotEqualFieldNumber = 13;
    private string notEqual_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string NotEqual {
      get { return notEqual_; }
      set {
        notEqual_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Null" field.</summary>
    public const int NullFieldNumber = 14;
    private string null_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Null {
      get { return null_; }
      set {
        null_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "RegularExpression" field.</summary>
    public const int RegularExpressionFieldNumber = 15;
    private string regularExpression_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RegularExpression {
      get { return regularExpression_; }
      set {
        regularExpression_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ScalePrecision" field.</summary>
    public const int ScalePrecisionFieldNumber = 16;
    private string scalePrecision_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ScalePrecision {
      get { return scalePrecision_; }
      set {
        scalePrecision_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TriggerValidators);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TriggerValidators other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CreditCard != other.CreditCard) return false;
      if (Email != other.Email) return false;
      if (Empty != other.Empty) return false;
      if (Equal != other.Equal) return false;
      if (ExclusiveBetween != other.ExclusiveBetween) return false;
      if (GreaterThanOrEqual != other.GreaterThanOrEqual) return false;
      if (GreaterThan != other.GreaterThan) return false;
      if (InclusiveBetween != other.InclusiveBetween) return false;
      if (Length != other.Length) return false;
      if (LessThanOrEqual != other.LessThanOrEqual) return false;
      if (LessThan != other.LessThan) return false;
      if (NotEmpty != other.NotEmpty) return false;
      if (NotEqual != other.NotEqual) return false;
      if (Null != other.Null) return false;
      if (RegularExpression != other.RegularExpression) return false;
      if (ScalePrecision != other.ScalePrecision) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (CreditCard.Length != 0) hash ^= CreditCard.GetHashCode();
      if (Email.Length != 0) hash ^= Email.GetHashCode();
      if (Empty.Length != 0) hash ^= Empty.GetHashCode();
      if (Equal.Length != 0) hash ^= Equal.GetHashCode();
      if (ExclusiveBetween != 0) hash ^= ExclusiveBetween.GetHashCode();
      if (GreaterThanOrEqual != 0) hash ^= GreaterThanOrEqual.GetHashCode();
      if (GreaterThan != 0) hash ^= GreaterThan.GetHashCode();
      if (InclusiveBetween != 0) hash ^= InclusiveBetween.GetHashCode();
      if (Length.Length != 0) hash ^= Length.GetHashCode();
      if (LessThanOrEqual != 0) hash ^= LessThanOrEqual.GetHashCode();
      if (LessThan != 0) hash ^= LessThan.GetHashCode();
      if (NotEmpty.Length != 0) hash ^= NotEmpty.GetHashCode();
      if (NotEqual.Length != 0) hash ^= NotEqual.GetHashCode();
      if (Null.Length != 0) hash ^= Null.GetHashCode();
      if (RegularExpression.Length != 0) hash ^= RegularExpression.GetHashCode();
      if (ScalePrecision.Length != 0) hash ^= ScalePrecision.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (CreditCard.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CreditCard);
      }
      if (Email.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Email);
      }
      if (Empty.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Empty);
      }
      if (Equal.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Equal);
      }
      if (ExclusiveBetween != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ExclusiveBetween);
      }
      if (GreaterThanOrEqual != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(GreaterThanOrEqual);
      }
      if (GreaterThan != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(GreaterThan);
      }
      if (InclusiveBetween != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(InclusiveBetween);
      }
      if (Length.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Length);
      }
      if (LessThanOrEqual != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(LessThanOrEqual);
      }
      if (LessThan != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(LessThan);
      }
      if (NotEmpty.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(NotEmpty);
      }
      if (NotEqual.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(NotEqual);
      }
      if (Null.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(Null);
      }
      if (RegularExpression.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(RegularExpression);
      }
      if (ScalePrecision.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(ScalePrecision);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (CreditCard.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CreditCard);
      }
      if (Email.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Email);
      }
      if (Empty.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Empty);
      }
      if (Equal.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Equal);
      }
      if (ExclusiveBetween != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ExclusiveBetween);
      }
      if (GreaterThanOrEqual != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(GreaterThanOrEqual);
      }
      if (GreaterThan != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(GreaterThan);
      }
      if (InclusiveBetween != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(InclusiveBetween);
      }
      if (Length.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Length);
      }
      if (LessThanOrEqual != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(LessThanOrEqual);
      }
      if (LessThan != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(LessThan);
      }
      if (NotEmpty.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(NotEmpty);
      }
      if (NotEqual.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(NotEqual);
      }
      if (Null.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(Null);
      }
      if (RegularExpression.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(RegularExpression);
      }
      if (ScalePrecision.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(ScalePrecision);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (CreditCard.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CreditCard);
      }
      if (Email.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Email);
      }
      if (Empty.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Empty);
      }
      if (Equal.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Equal);
      }
      if (ExclusiveBetween != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ExclusiveBetween);
      }
      if (GreaterThanOrEqual != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GreaterThanOrEqual);
      }
      if (GreaterThan != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GreaterThan);
      }
      if (InclusiveBetween != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(InclusiveBetween);
      }
      if (Length.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Length);
      }
      if (LessThanOrEqual != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LessThanOrEqual);
      }
      if (LessThan != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LessThan);
      }
      if (NotEmpty.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(NotEmpty);
      }
      if (NotEqual.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(NotEqual);
      }
      if (Null.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Null);
      }
      if (RegularExpression.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(RegularExpression);
      }
      if (ScalePrecision.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(ScalePrecision);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TriggerValidators other) {
      if (other == null) {
        return;
      }
      if (other.CreditCard.Length != 0) {
        CreditCard = other.CreditCard;
      }
      if (other.Email.Length != 0) {
        Email = other.Email;
      }
      if (other.Empty.Length != 0) {
        Empty = other.Empty;
      }
      if (other.Equal.Length != 0) {
        Equal = other.Equal;
      }
      if (other.ExclusiveBetween != 0) {
        ExclusiveBetween = other.ExclusiveBetween;
      }
      if (other.GreaterThanOrEqual != 0) {
        GreaterThanOrEqual = other.GreaterThanOrEqual;
      }
      if (other.GreaterThan != 0) {
        GreaterThan = other.GreaterThan;
      }
      if (other.InclusiveBetween != 0) {
        InclusiveBetween = other.InclusiveBetween;
      }
      if (other.Length.Length != 0) {
        Length = other.Length;
      }
      if (other.LessThanOrEqual != 0) {
        LessThanOrEqual = other.LessThanOrEqual;
      }
      if (other.LessThan != 0) {
        LessThan = other.LessThan;
      }
      if (other.NotEmpty.Length != 0) {
        NotEmpty = other.NotEmpty;
      }
      if (other.NotEqual.Length != 0) {
        NotEqual = other.NotEqual;
      }
      if (other.Null.Length != 0) {
        Null = other.Null;
      }
      if (other.RegularExpression.Length != 0) {
        RegularExpression = other.RegularExpression;
      }
      if (other.ScalePrecision.Length != 0) {
        ScalePrecision = other.ScalePrecision;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            CreditCard = input.ReadString();
            break;
          }
          case 18: {
            Email = input.ReadString();
            break;
          }
          case 26: {
            Empty = input.ReadString();
            break;
          }
          case 34: {
            Equal = input.ReadString();
            break;
          }
          case 40: {
            ExclusiveBetween = input.ReadInt32();
            break;
          }
          case 48: {
            GreaterThanOrEqual = input.ReadInt32();
            break;
          }
          case 56: {
            GreaterThan = input.ReadInt32();
            break;
          }
          case 64: {
            InclusiveBetween = input.ReadInt32();
            break;
          }
          case 74: {
            Length = input.ReadString();
            break;
          }
          case 80: {
            LessThanOrEqual = input.ReadInt32();
            break;
          }
          case 88: {
            LessThan = input.ReadInt32();
            break;
          }
          case 98: {
            NotEmpty = input.ReadString();
            break;
          }
          case 106: {
            NotEqual = input.ReadString();
            break;
          }
          case 114: {
            Null = input.ReadString();
            break;
          }
          case 122: {
            RegularExpression = input.ReadString();
            break;
          }
          case 130: {
            ScalePrecision = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            CreditCard = input.ReadString();
            break;
          }
          case 18: {
            Email = input.ReadString();
            break;
          }
          case 26: {
            Empty = input.ReadString();
            break;
          }
          case 34: {
            Equal = input.ReadString();
            break;
          }
          case 40: {
            ExclusiveBetween = input.ReadInt32();
            break;
          }
          case 48: {
            GreaterThanOrEqual = input.ReadInt32();
            break;
          }
          case 56: {
            GreaterThan = input.ReadInt32();
            break;
          }
          case 64: {
            InclusiveBetween = input.ReadInt32();
            break;
          }
          case 74: {
            Length = input.ReadString();
            break;
          }
          case 80: {
            LessThanOrEqual = input.ReadInt32();
            break;
          }
          case 88: {
            LessThan = input.ReadInt32();
            break;
          }
          case 98: {
            NotEmpty = input.ReadString();
            break;
          }
          case 106: {
            NotEqual = input.ReadString();
            break;
          }
          case 114: {
            Null = input.ReadString();
            break;
          }
          case 122: {
            RegularExpression = input.ReadString();
            break;
          }
          case 130: {
            ScalePrecision = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class TypeWithEnum : pb::IMessage<TypeWithEnum>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TypeWithEnum> _parser = new pb::MessageParser<TypeWithEnum>(() => new TypeWithEnum());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TypeWithEnum> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[218]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TypeWithEnum() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TypeWithEnum(TypeWithEnum other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      someEnum_ = other.someEnum_;
      someEnumAsInt_ = other.someEnumAsInt_;
      nSomeEnum_ = other.nSomeEnum_;
      nSomeEnumAsInt_ = other.nSomeEnumAsInt_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TypeWithEnum Clone() {
      return new TypeWithEnum(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SomeEnum" field.</summary>
    public const int SomeEnumFieldNumber = 3;
    private global::ServiceStack.Extensions.Tests.Protoc.SomeEnum someEnum_ = global::ServiceStack.Extensions.Tests.Protoc.SomeEnum.Value0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.SomeEnum SomeEnum {
      get { return someEnum_; }
      set {
        someEnum_ = value;
      }
    }

    /// <summary>Field number for the "SomeEnumAsInt" field.</summary>
    public const int SomeEnumAsIntFieldNumber = 4;
    private global::ServiceStack.Extensions.Tests.Protoc.SomeEnumAsInt someEnumAsInt_ = global::ServiceStack.Extensions.Tests.Protoc.SomeEnumAsInt.Value0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.SomeEnumAsInt SomeEnumAsInt {
      get { return someEnumAsInt_; }
      set {
        someEnumAsInt_ = value;
      }
    }

    /// <summary>Field number for the "NSomeEnum" field.</summary>
    public const int NSomeEnumFieldNumber = 5;
    private global::ServiceStack.Extensions.Tests.Protoc.SomeEnum nSomeEnum_ = global::ServiceStack.Extensions.Tests.Protoc.SomeEnum.Value0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.SomeEnum NSomeEnum {
      get { return nSomeEnum_; }
      set {
        nSomeEnum_ = value;
      }
    }

    /// <summary>Field number for the "NSomeEnumAsInt" field.</summary>
    public const int NSomeEnumAsIntFieldNumber = 6;
    private global::ServiceStack.Extensions.Tests.Protoc.SomeEnumAsInt nSomeEnumAsInt_ = global::ServiceStack.Extensions.Tests.Protoc.SomeEnumAsInt.Value0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.SomeEnumAsInt NSomeEnumAsInt {
      get { return nSomeEnumAsInt_; }
      set {
        nSomeEnumAsInt_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TypeWithEnum);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TypeWithEnum other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (SomeEnum != other.SomeEnum) return false;
      if (SomeEnumAsInt != other.SomeEnumAsInt) return false;
      if (NSomeEnum != other.NSomeEnum) return false;
      if (NSomeEnumAsInt != other.NSomeEnumAsInt) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (SomeEnum != global::ServiceStack.Extensions.Tests.Protoc.SomeEnum.Value0) hash ^= SomeEnum.GetHashCode();
      if (SomeEnumAsInt != global::ServiceStack.Extensions.Tests.Protoc.SomeEnumAsInt.Value0) hash ^= SomeEnumAsInt.GetHashCode();
      if (NSomeEnum != global::ServiceStack.Extensions.Tests.Protoc.SomeEnum.Value0) hash ^= NSomeEnum.GetHashCode();
      if (NSomeEnumAsInt != global::ServiceStack.Extensions.Tests.Protoc.SomeEnumAsInt.Value0) hash ^= NSomeEnumAsInt.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (SomeEnum != global::ServiceStack.Extensions.Tests.Protoc.SomeEnum.Value0) {
        output.WriteRawTag(24);
        output.WriteEnum((int) SomeEnum);
      }
      if (SomeEnumAsInt != global::ServiceStack.Extensions.Tests.Protoc.SomeEnumAsInt.Value0) {
        output.WriteRawTag(32);
        output.WriteEnum((int) SomeEnumAsInt);
      }
      if (NSomeEnum != global::ServiceStack.Extensions.Tests.Protoc.SomeEnum.Value0) {
        output.WriteRawTag(40);
        output.WriteEnum((int) NSomeEnum);
      }
      if (NSomeEnumAsInt != global::ServiceStack.Extensions.Tests.Protoc.SomeEnumAsInt.Value0) {
        output.WriteRawTag(48);
        output.WriteEnum((int) NSomeEnumAsInt);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (SomeEnum != global::ServiceStack.Extensions.Tests.Protoc.SomeEnum.Value0) {
        output.WriteRawTag(24);
        output.WriteEnum((int) SomeEnum);
      }
      if (SomeEnumAsInt != global::ServiceStack.Extensions.Tests.Protoc.SomeEnumAsInt.Value0) {
        output.WriteRawTag(32);
        output.WriteEnum((int) SomeEnumAsInt);
      }
      if (NSomeEnum != global::ServiceStack.Extensions.Tests.Protoc.SomeEnum.Value0) {
        output.WriteRawTag(40);
        output.WriteEnum((int) NSomeEnum);
      }
      if (NSomeEnumAsInt != global::ServiceStack.Extensions.Tests.Protoc.SomeEnumAsInt.Value0) {
        output.WriteRawTag(48);
        output.WriteEnum((int) NSomeEnumAsInt);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (SomeEnum != global::ServiceStack.Extensions.Tests.Protoc.SomeEnum.Value0) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) SomeEnum);
      }
      if (SomeEnumAsInt != global::ServiceStack.Extensions.Tests.Protoc.SomeEnumAsInt.Value0) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) SomeEnumAsInt);
      }
      if (NSomeEnum != global::ServiceStack.Extensions.Tests.Protoc.SomeEnum.Value0) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) NSomeEnum);
      }
      if (NSomeEnumAsInt != global::ServiceStack.Extensions.Tests.Protoc.SomeEnumAsInt.Value0) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) NSomeEnumAsInt);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TypeWithEnum other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.SomeEnum != global::ServiceStack.Extensions.Tests.Protoc.SomeEnum.Value0) {
        SomeEnum = other.SomeEnum;
      }
      if (other.SomeEnumAsInt != global::ServiceStack.Extensions.Tests.Protoc.SomeEnumAsInt.Value0) {
        SomeEnumAsInt = other.SomeEnumAsInt;
      }
      if (other.NSomeEnum != global::ServiceStack.Extensions.Tests.Protoc.SomeEnum.Value0) {
        NSomeEnum = other.NSomeEnum;
      }
      if (other.NSomeEnumAsInt != global::ServiceStack.Extensions.Tests.Protoc.SomeEnumAsInt.Value0) {
        NSomeEnumAsInt = other.NSomeEnumAsInt;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            SomeEnum = (global::ServiceStack.Extensions.Tests.Protoc.SomeEnum) input.ReadEnum();
            break;
          }
          case 32: {
            SomeEnumAsInt = (global::ServiceStack.Extensions.Tests.Protoc.SomeEnumAsInt) input.ReadEnum();
            break;
          }
          case 40: {
            NSomeEnum = (global::ServiceStack.Extensions.Tests.Protoc.SomeEnum) input.ReadEnum();
            break;
          }
          case 48: {
            NSomeEnumAsInt = (global::ServiceStack.Extensions.Tests.Protoc.SomeEnumAsInt) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            SomeEnum = (global::ServiceStack.Extensions.Tests.Protoc.SomeEnum) input.ReadEnum();
            break;
          }
          case 32: {
            SomeEnumAsInt = (global::ServiceStack.Extensions.Tests.Protoc.SomeEnumAsInt) input.ReadEnum();
            break;
          }
          case 40: {
            NSomeEnum = (global::ServiceStack.Extensions.Tests.Protoc.SomeEnum) input.ReadEnum();
            break;
          }
          case 48: {
            NSomeEnumAsInt = (global::ServiceStack.Extensions.Tests.Protoc.SomeEnumAsInt) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class UnAssignRoles : pb::IMessage<UnAssignRoles>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<UnAssignRoles> _parser = new pb::MessageParser<UnAssignRoles>(() => new UnAssignRoles());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<UnAssignRoles> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[219]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UnAssignRoles() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UnAssignRoles(UnAssignRoles other) : this() {
      userName_ = other.userName_;
      permissions_ = other.permissions_.Clone();
      roles_ = other.roles_.Clone();
      meta_ = other.meta_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UnAssignRoles Clone() {
      return new UnAssignRoles(this);
    }

    /// <summary>Field number for the "UserName" field.</summary>
    public const int UserNameFieldNumber = 1;
    private string userName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string UserName {
      get { return userName_; }
      set {
        userName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Permissions" field.</summary>
    public const int PermissionsFieldNumber = 2;
    private static readonly pb::FieldCodec<string> _repeated_permissions_codec
        = pb::FieldCodec.ForString(18);
    private readonly pbc::RepeatedField<string> permissions_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> Permissions {
      get { return permissions_; }
    }

    /// <summary>Field number for the "Roles" field.</summary>
    public const int RolesFieldNumber = 3;
    private static readonly pb::FieldCodec<string> _repeated_roles_codec
        = pb::FieldCodec.ForString(26);
    private readonly pbc::RepeatedField<string> roles_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> Roles {
      get { return roles_; }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 4;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 34);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as UnAssignRoles);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(UnAssignRoles other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (UserName != other.UserName) return false;
      if(!permissions_.Equals(other.permissions_)) return false;
      if(!roles_.Equals(other.roles_)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (UserName.Length != 0) hash ^= UserName.GetHashCode();
      hash ^= permissions_.GetHashCode();
      hash ^= roles_.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (UserName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(UserName);
      }
      permissions_.WriteTo(output, _repeated_permissions_codec);
      roles_.WriteTo(output, _repeated_roles_codec);
      meta_.WriteTo(output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (UserName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(UserName);
      }
      permissions_.WriteTo(ref output, _repeated_permissions_codec);
      roles_.WriteTo(ref output, _repeated_roles_codec);
      meta_.WriteTo(ref output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (UserName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(UserName);
      }
      size += permissions_.CalculateSize(_repeated_permissions_codec);
      size += roles_.CalculateSize(_repeated_roles_codec);
      size += meta_.CalculateSize(_map_meta_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(UnAssignRoles other) {
      if (other == null) {
        return;
      }
      if (other.UserName.Length != 0) {
        UserName = other.UserName;
      }
      permissions_.Add(other.permissions_);
      roles_.Add(other.roles_);
      meta_.Add(other.meta_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            UserName = input.ReadString();
            break;
          }
          case 18: {
            permissions_.AddEntriesFrom(input, _repeated_permissions_codec);
            break;
          }
          case 26: {
            roles_.AddEntriesFrom(input, _repeated_roles_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            UserName = input.ReadString();
            break;
          }
          case 18: {
            permissions_.AddEntriesFrom(ref input, _repeated_permissions_codec);
            break;
          }
          case 26: {
            roles_.AddEntriesFrom(ref input, _repeated_roles_codec);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class UnAssignRolesResponse : pb::IMessage<UnAssignRolesResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<UnAssignRolesResponse> _parser = new pb::MessageParser<UnAssignRolesResponse>(() => new UnAssignRolesResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<UnAssignRolesResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[220]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UnAssignRolesResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UnAssignRolesResponse(UnAssignRolesResponse other) : this() {
      allRoles_ = other.allRoles_.Clone();
      allPermissions_ = other.allPermissions_.Clone();
      meta_ = other.meta_.Clone();
      responseStatus_ = other.responseStatus_ != null ? other.responseStatus_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UnAssignRolesResponse Clone() {
      return new UnAssignRolesResponse(this);
    }

    /// <summary>Field number for the "AllRoles" field.</summary>
    public const int AllRolesFieldNumber = 1;
    private static readonly pb::FieldCodec<string> _repeated_allRoles_codec
        = pb::FieldCodec.ForString(10);
    private readonly pbc::RepeatedField<string> allRoles_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> AllRoles {
      get { return allRoles_; }
    }

    /// <summary>Field number for the "AllPermissions" field.</summary>
    public const int AllPermissionsFieldNumber = 2;
    private static readonly pb::FieldCodec<string> _repeated_allPermissions_codec
        = pb::FieldCodec.ForString(18);
    private readonly pbc::RepeatedField<string> allPermissions_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> AllPermissions {
      get { return allPermissions_; }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 3;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 26);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    /// <summary>Field number for the "ResponseStatus" field.</summary>
    public const int ResponseStatusFieldNumber = 4;
    private global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus responseStatus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus ResponseStatus {
      get { return responseStatus_; }
      set {
        responseStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as UnAssignRolesResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(UnAssignRolesResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!allRoles_.Equals(other.allRoles_)) return false;
      if(!allPermissions_.Equals(other.allPermissions_)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      if (!object.Equals(ResponseStatus, other.ResponseStatus)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= allRoles_.GetHashCode();
      hash ^= allPermissions_.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (responseStatus_ != null) hash ^= ResponseStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      allRoles_.WriteTo(output, _repeated_allRoles_codec);
      allPermissions_.WriteTo(output, _repeated_allPermissions_codec);
      meta_.WriteTo(output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      allRoles_.WriteTo(ref output, _repeated_allRoles_codec);
      allPermissions_.WriteTo(ref output, _repeated_allPermissions_codec);
      meta_.WriteTo(ref output, _map_meta_codec);
      if (responseStatus_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(ResponseStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += allRoles_.CalculateSize(_repeated_allRoles_codec);
      size += allPermissions_.CalculateSize(_repeated_allPermissions_codec);
      size += meta_.CalculateSize(_map_meta_codec);
      if (responseStatus_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ResponseStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(UnAssignRolesResponse other) {
      if (other == null) {
        return;
      }
      allRoles_.Add(other.allRoles_);
      allPermissions_.Add(other.allPermissions_);
      meta_.Add(other.meta_);
      if (other.responseStatus_ != null) {
        if (responseStatus_ == null) {
          ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
        }
        ResponseStatus.MergeFrom(other.ResponseStatus);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            allRoles_.AddEntriesFrom(input, _repeated_allRoles_codec);
            break;
          }
          case 18: {
            allPermissions_.AddEntriesFrom(input, _repeated_allPermissions_codec);
            break;
          }
          case 26: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
          case 34: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            allRoles_.AddEntriesFrom(ref input, _repeated_allRoles_codec);
            break;
          }
          case 18: {
            allPermissions_.AddEntriesFrom(ref input, _repeated_allPermissions_codec);
            break;
          }
          case 26: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
          case 34: {
            if (responseStatus_ == null) {
              ResponseStatus = new global::ServiceStack.Extensions.Tests.Protoc.ResponseStatus();
            }
            input.ReadMessage(ResponseStatus);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class UpdateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse : pb::IMessage<UpdateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<UpdateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse> _parser = new pb::MessageParser<UpdateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse>(() => new UpdateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<UpdateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[221]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse(UpdateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse other) : this() {
      switch (other.SubtypeCase) {
        case SubtypeOneofCase.UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse:
          UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse = other.UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse.Clone();
          break;
      }

      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse Clone() {
      return new UpdateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse(this);
    }

    /// <summary>Field number for the "UpdateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse" field.</summary>
    public const int UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponseFieldNumber = 298373410;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.UpdateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse {
      get { return subtypeCase_ == SubtypeOneofCase.UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse ? (global::ServiceStack.Extensions.Tests.Protoc.UpdateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse) subtype_ : null; }
      set {
        subtype_ = value;
        subtypeCase_ = value == null ? SubtypeOneofCase.None : SubtypeOneofCase.UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse;
      }
    }

    private object subtype_;
    /// <summary>Enum of possible cases for the "subtype" oneof.</summary>
    public enum SubtypeOneofCase {
      None = 0,
      UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse = 298373410,
    }
    private SubtypeOneofCase subtypeCase_ = SubtypeOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SubtypeOneofCase SubtypeCase {
      get { return subtypeCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearSubtype() {
      subtypeCase_ = SubtypeOneofCase.None;
      subtype_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as UpdateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(UpdateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse, other.UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse)) return false;
      if (SubtypeCase != other.SubtypeCase) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (subtypeCase_ == SubtypeOneofCase.UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse) hash ^= UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse.GetHashCode();
      hash ^= (int) subtypeCase_;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (subtypeCase_ == SubtypeOneofCase.UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse) {
        output.WriteRawTag(146, 146, 154, 242, 8);
        output.WriteMessage(UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (subtypeCase_ == SubtypeOneofCase.UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse) {
        output.WriteRawTag(146, 146, 154, 242, 8);
        output.WriteMessage(UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (subtypeCase_ == SubtypeOneofCase.UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse) {
        size += 5 + pb::CodedOutputStream.ComputeMessageSize(UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(UpdateAuditBase_RockstarAuditTenant_RockstarWithIdAndResultResponse other) {
      if (other == null) {
        return;
      }
      switch (other.SubtypeCase) {
        case SubtypeOneofCase.UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse:
          if (UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse == null) {
            UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse = new global::ServiceStack.Extensions.Tests.Protoc.UpdateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse();
          }
          UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse.MergeFrom(other.UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse);
          break;
      }

      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 2386987282: {
            global::ServiceStack.Extensions.Tests.Protoc.UpdateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.UpdateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse();
            if (subtypeCase_ == SubtypeOneofCase.UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse) {
              subBuilder.MergeFrom(UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse);
            }
            input.ReadMessage(subBuilder);
            UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse = subBuilder;
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 2386987282: {
            global::ServiceStack.Extensions.Tests.Protoc.UpdateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse subBuilder = new global::ServiceStack.Extensions.Tests.Protoc.UpdateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse();
            if (subtypeCase_ == SubtypeOneofCase.UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse) {
              subBuilder.MergeFrom(UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse);
            }
            input.ReadMessage(subBuilder);
            UpdateAuditTenantBaseRockstarAuditTenantRockstarWithIdAndResultResponse = subBuilder;
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class UpdateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse : pb::IMessage<UpdateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<UpdateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse> _parser = new pb::MessageParser<UpdateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse>(() => new UpdateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<UpdateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[222]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse(UpdateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse Clone() {
      return new UpdateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as UpdateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(UpdateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(UpdateAuditTenantBase_RockstarAuditTenant_RockstarWithIdAndResultResponse other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class UpdateBooking : pb::IMessage<UpdateBooking>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<UpdateBooking> _parser = new pb::MessageParser<UpdateBooking>(() => new UpdateBooking());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<UpdateBooking> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[223]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateBooking() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateBooking(UpdateBooking other) : this() {
      id_ = other.id_;
      roomType_ = other.roomType_;
      roomNumber_ = other.roomNumber_;
      bookingStartDate_ = other.bookingStartDate_ != null ? other.bookingStartDate_.Clone() : null;
      bookingEndDate_ = other.bookingEndDate_ != null ? other.bookingEndDate_.Clone() : null;
      notes_ = other.notes_;
      cancelled_ = other.cancelled_;
      cost_ = other.cost_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateBooking Clone() {
      return new UpdateBooking(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "RoomType" field.</summary>
    public const int RoomTypeFieldNumber = 2;
    private global::ServiceStack.Extensions.Tests.Protoc.RoomType roomType_ = global::ServiceStack.Extensions.Tests.Protoc.RoomType.Single;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.RoomType RoomType {
      get { return roomType_; }
      set {
        roomType_ = value;
      }
    }

    /// <summary>Field number for the "RoomNumber" field.</summary>
    public const int RoomNumberFieldNumber = 3;
    private int roomNumber_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RoomNumber {
      get { return roomNumber_; }
      set {
        roomNumber_ = value;
      }
    }

    /// <summary>Field number for the "BookingStartDate" field.</summary>
    public const int BookingStartDateFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp bookingStartDate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp BookingStartDate {
      get { return bookingStartDate_; }
      set {
        bookingStartDate_ = value;
      }
    }

    /// <summary>Field number for the "BookingEndDate" field.</summary>
    public const int BookingEndDateFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp bookingEndDate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp BookingEndDate {
      get { return bookingEndDate_; }
      set {
        bookingEndDate_ = value;
      }
    }

    /// <summary>Field number for the "Notes" field.</summary>
    public const int NotesFieldNumber = 6;
    private string notes_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Notes {
      get { return notes_; }
      set {
        notes_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Cancelled" field.</summary>
    public const int CancelledFieldNumber = 7;
    private bool cancelled_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Cancelled {
      get { return cancelled_; }
      set {
        cancelled_ = value;
      }
    }

    /// <summary>Field number for the "Cost" field.</summary>
    public const int CostFieldNumber = 8;
    private string cost_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Cost {
      get { return cost_; }
      set {
        cost_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as UpdateBooking);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(UpdateBooking other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (RoomType != other.RoomType) return false;
      if (RoomNumber != other.RoomNumber) return false;
      if (!object.Equals(BookingStartDate, other.BookingStartDate)) return false;
      if (!object.Equals(BookingEndDate, other.BookingEndDate)) return false;
      if (Notes != other.Notes) return false;
      if (Cancelled != other.Cancelled) return false;
      if (Cost != other.Cost) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (RoomType != global::ServiceStack.Extensions.Tests.Protoc.RoomType.Single) hash ^= RoomType.GetHashCode();
      if (RoomNumber != 0) hash ^= RoomNumber.GetHashCode();
      if (bookingStartDate_ != null) hash ^= BookingStartDate.GetHashCode();
      if (bookingEndDate_ != null) hash ^= BookingEndDate.GetHashCode();
      if (Notes.Length != 0) hash ^= Notes.GetHashCode();
      if (Cancelled != false) hash ^= Cancelled.GetHashCode();
      if (Cost.Length != 0) hash ^= Cost.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (RoomType != global::ServiceStack.Extensions.Tests.Protoc.RoomType.Single) {
        output.WriteRawTag(16);
        output.WriteEnum((int) RoomType);
      }
      if (RoomNumber != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(RoomNumber);
      }
      if (bookingStartDate_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(BookingStartDate);
      }
      if (bookingEndDate_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(BookingEndDate);
      }
      if (Notes.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Notes);
      }
      if (Cancelled != false) {
        output.WriteRawTag(56);
        output.WriteBool(Cancelled);
      }
      if (Cost.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Cost);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (RoomType != global::ServiceStack.Extensions.Tests.Protoc.RoomType.Single) {
        output.WriteRawTag(16);
        output.WriteEnum((int) RoomType);
      }
      if (RoomNumber != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(RoomNumber);
      }
      if (bookingStartDate_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(BookingStartDate);
      }
      if (bookingEndDate_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(BookingEndDate);
      }
      if (Notes.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Notes);
      }
      if (Cancelled != false) {
        output.WriteRawTag(56);
        output.WriteBool(Cancelled);
      }
      if (Cost.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Cost);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (RoomType != global::ServiceStack.Extensions.Tests.Protoc.RoomType.Single) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) RoomType);
      }
      if (RoomNumber != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoomNumber);
      }
      if (bookingStartDate_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(BookingStartDate);
      }
      if (bookingEndDate_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(BookingEndDate);
      }
      if (Notes.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Notes);
      }
      if (Cancelled != false) {
        size += 1 + 1;
      }
      if (Cost.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Cost);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(UpdateBooking other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.RoomType != global::ServiceStack.Extensions.Tests.Protoc.RoomType.Single) {
        RoomType = other.RoomType;
      }
      if (other.RoomNumber != 0) {
        RoomNumber = other.RoomNumber;
      }
      if (other.bookingStartDate_ != null) {
        if (bookingStartDate_ == null) {
          BookingStartDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        BookingStartDate.MergeFrom(other.BookingStartDate);
      }
      if (other.bookingEndDate_ != null) {
        if (bookingEndDate_ == null) {
          BookingEndDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        BookingEndDate.MergeFrom(other.BookingEndDate);
      }
      if (other.Notes.Length != 0) {
        Notes = other.Notes;
      }
      if (other.Cancelled != false) {
        Cancelled = other.Cancelled;
      }
      if (other.Cost.Length != 0) {
        Cost = other.Cost;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            RoomType = (global::ServiceStack.Extensions.Tests.Protoc.RoomType) input.ReadEnum();
            break;
          }
          case 24: {
            RoomNumber = input.ReadInt32();
            break;
          }
          case 34: {
            if (bookingStartDate_ == null) {
              BookingStartDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(BookingStartDate);
            break;
          }
          case 42: {
            if (bookingEndDate_ == null) {
              BookingEndDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(BookingEndDate);
            break;
          }
          case 50: {
            Notes = input.ReadString();
            break;
          }
          case 56: {
            Cancelled = input.ReadBool();
            break;
          }
          case 66: {
            Cost = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            RoomType = (global::ServiceStack.Extensions.Tests.Protoc.RoomType) input.ReadEnum();
            break;
          }
          case 24: {
            RoomNumber = input.ReadInt32();
            break;
          }
          case 34: {
            if (bookingStartDate_ == null) {
              BookingStartDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(BookingStartDate);
            break;
          }
          case 42: {
            if (bookingEndDate_ == null) {
              BookingEndDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(BookingEndDate);
            break;
          }
          case 50: {
            Notes = input.ReadString();
            break;
          }
          case 56: {
            Cancelled = input.ReadBool();
            break;
          }
          case 66: {
            Cost = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class UpdateConnectionInfoRockstar : pb::IMessage<UpdateConnectionInfoRockstar>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<UpdateConnectionInfoRockstar> _parser = new pb::MessageParser<UpdateConnectionInfoRockstar>(() => new UpdateConnectionInfoRockstar());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<UpdateConnectionInfoRockstar> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[224]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateConnectionInfoRockstar() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateConnectionInfoRockstar(UpdateConnectionInfoRockstar other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      dateDied_ = other.dateDied_ != null ? other.dateDied_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      id_ = other.id_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateConnectionInfoRockstar Clone() {
      return new UpdateConnectionInfoRockstar(this);
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 1;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 2;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "DateDied" field.</summary>
    public const int DateDiedFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateDied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateDied {
      get { return dateDied_; }
      set {
        dateDied_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 6;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 101;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as UpdateConnectionInfoRockstar);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(UpdateConnectionInfoRockstar other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (!object.Equals(DateDied, other.DateDied)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      if (Id != other.Id) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (dateDied_ != null) hash ^= DateDied.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (Id != 0) hash ^= Id.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (Id != 0) {
        output.WriteRawTag(168, 6);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (Id != 0) {
        output.WriteRawTag(168, 6);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (dateDied_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (Id != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(UpdateConnectionInfoRockstar other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.dateDied_ != null) {
        if (dateDied_ == null) {
          DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateDied.MergeFrom(other.DateDied);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
          case 808: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
          case 808: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class UpdateNamedRockstar : pb::IMessage<UpdateNamedRockstar>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<UpdateNamedRockstar> _parser = new pb::MessageParser<UpdateNamedRockstar>(() => new UpdateNamedRockstar());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<UpdateNamedRockstar> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[225]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateNamedRockstar() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateNamedRockstar(UpdateNamedRockstar other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      dateDied_ = other.dateDied_ != null ? other.dateDied_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      id_ = other.id_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateNamedRockstar Clone() {
      return new UpdateNamedRockstar(this);
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 1;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 2;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "DateDied" field.</summary>
    public const int DateDiedFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateDied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateDied {
      get { return dateDied_; }
      set {
        dateDied_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 6;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 101;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as UpdateNamedRockstar);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(UpdateNamedRockstar other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (!object.Equals(DateDied, other.DateDied)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      if (Id != other.Id) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (dateDied_ != null) hash ^= DateDied.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (Id != 0) hash ^= Id.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (Id != 0) {
        output.WriteRawTag(168, 6);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (Id != 0) {
        output.WriteRawTag(168, 6);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (dateDied_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (Id != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(UpdateNamedRockstar other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.dateDied_ != null) {
        if (dateDied_ == null) {
          DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateDied.MergeFrom(other.DateDied);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
          case 808: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
          case 808: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class UpdateRockstar : pb::IMessage<UpdateRockstar>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<UpdateRockstar> _parser = new pb::MessageParser<UpdateRockstar>(() => new UpdateRockstar());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<UpdateRockstar> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[226]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateRockstar() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateRockstar(UpdateRockstar other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      dateDied_ = other.dateDied_ != null ? other.dateDied_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      id_ = other.id_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateRockstar Clone() {
      return new UpdateRockstar(this);
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 1;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 2;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "DateDied" field.</summary>
    public const int DateDiedFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateDied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateDied {
      get { return dateDied_; }
      set {
        dateDied_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 6;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 101;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as UpdateRockstar);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(UpdateRockstar other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (!object.Equals(DateDied, other.DateDied)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      if (Id != other.Id) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (dateDied_ != null) hash ^= DateDied.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (Id != 0) hash ^= Id.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (Id != 0) {
        output.WriteRawTag(168, 6);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (Id != 0) {
        output.WriteRawTag(168, 6);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (dateDied_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (Id != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(UpdateRockstar other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.dateDied_ != null) {
        if (dateDied_ == null) {
          DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateDied.MergeFrom(other.DateDied);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
          case 808: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
          case 808: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class UpdateRockstarAdhocNonDefaults : pb::IMessage<UpdateRockstarAdhocNonDefaults>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<UpdateRockstarAdhocNonDefaults> _parser = new pb::MessageParser<UpdateRockstarAdhocNonDefaults>(() => new UpdateRockstarAdhocNonDefaults());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<UpdateRockstarAdhocNonDefaults> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[227]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateRockstarAdhocNonDefaults() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateRockstarAdhocNonDefaults(UpdateRockstarAdhocNonDefaults other) : this() {
      id_ = other.id_;
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      dateDied_ = other.dateDied_ != null ? other.dateDied_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateRockstarAdhocNonDefaults Clone() {
      return new UpdateRockstarAdhocNonDefaults(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 2;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 3;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 4;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "DateDied" field.</summary>
    public const int DateDiedFieldNumber = 6;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateDied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateDied {
      get { return dateDied_; }
      set {
        dateDied_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 7;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as UpdateRockstarAdhocNonDefaults);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(UpdateRockstarAdhocNonDefaults other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (!object.Equals(DateDied, other.DateDied)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (dateDied_ != null) hash ^= DateDied.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(56);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(56);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (dateDied_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(UpdateRockstarAdhocNonDefaults other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.dateDied_ != null) {
        if (dateDied_ == null) {
          DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateDied.MergeFrom(other.DateDied);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 26: {
            LastName = input.ReadString();
            break;
          }
          case 32: {
            Age = input.ReadInt32();
            break;
          }
          case 42: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 50: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 56: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 26: {
            LastName = input.ReadString();
            break;
          }
          case 32: {
            Age = input.ReadInt32();
            break;
          }
          case 42: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 50: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 56: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class UpdateRockstarAudit : pb::IMessage<UpdateRockstarAudit>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<UpdateRockstarAudit> _parser = new pb::MessageParser<UpdateRockstarAudit>(() => new UpdateRockstarAudit());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<UpdateRockstarAudit> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[228]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateRockstarAudit() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateRockstarAudit(UpdateRockstarAudit other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      dateDied_ = other.dateDied_ != null ? other.dateDied_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      id_ = other.id_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateRockstarAudit Clone() {
      return new UpdateRockstarAudit(this);
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 1;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 2;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "DateDied" field.</summary>
    public const int DateDiedFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateDied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateDied {
      get { return dateDied_; }
      set {
        dateDied_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 6;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 101;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as UpdateRockstarAudit);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(UpdateRockstarAudit other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (!object.Equals(DateDied, other.DateDied)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      if (Id != other.Id) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (dateDied_ != null) hash ^= DateDied.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (Id != 0) hash ^= Id.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (Id != 0) {
        output.WriteRawTag(168, 6);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (Id != 0) {
        output.WriteRawTag(168, 6);
        output.WriteInt32(Id);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (dateDied_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (Id != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(UpdateRockstarAudit other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.dateDied_ != null) {
        if (dateDied_ == null) {
          DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateDied.MergeFrom(other.DateDied);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
          case 808: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
          case 808: {
            Id = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class UpdateRockstarAuditTenant : pb::IMessage<UpdateRockstarAuditTenant>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<UpdateRockstarAuditTenant> _parser = new pb::MessageParser<UpdateRockstarAuditTenant>(() => new UpdateRockstarAuditTenant());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<UpdateRockstarAuditTenant> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[229]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateRockstarAuditTenant() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateRockstarAuditTenant(UpdateRockstarAuditTenant other) : this() {
      bearerToken_ = other.bearerToken_;
      id_ = other.id_;
      firstName_ = other.firstName_;
      livingStatus_ = other.livingStatus_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateRockstarAuditTenant Clone() {
      return new UpdateRockstarAuditTenant(this);
    }

    /// <summary>Field number for the "BearerToken" field.</summary>
    public const int BearerTokenFieldNumber = 201;
    private string bearerToken_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BearerToken {
      get { return bearerToken_; }
      set {
        bearerToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 202;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 203;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 204;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as UpdateRockstarAuditTenant);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(UpdateRockstarAuditTenant other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (BearerToken != other.BearerToken) return false;
      if (Id != other.Id) return false;
      if (FirstName != other.FirstName) return false;
      if (LivingStatus != other.LivingStatus) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (BearerToken.Length != 0) hash ^= BearerToken.GetHashCode();
      if (Id != 0) hash ^= Id.GetHashCode();
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (BearerToken.Length != 0) {
        output.WriteRawTag(202, 12);
        output.WriteString(BearerToken);
      }
      if (Id != 0) {
        output.WriteRawTag(208, 12);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(218, 12);
        output.WriteString(FirstName);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(224, 12);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (BearerToken.Length != 0) {
        output.WriteRawTag(202, 12);
        output.WriteString(BearerToken);
      }
      if (Id != 0) {
        output.WriteRawTag(208, 12);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(218, 12);
        output.WriteString(FirstName);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(224, 12);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (BearerToken.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(BearerToken);
      }
      if (Id != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (FirstName.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(UpdateRockstarAuditTenant other) {
      if (other == null) {
        return;
      }
      if (other.BearerToken.Length != 0) {
        BearerToken = other.BearerToken;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 1610: {
            BearerToken = input.ReadString();
            break;
          }
          case 1616: {
            Id = input.ReadInt32();
            break;
          }
          case 1626: {
            FirstName = input.ReadString();
            break;
          }
          case 1632: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 1610: {
            BearerToken = input.ReadString();
            break;
          }
          case 1616: {
            Id = input.ReadInt32();
            break;
          }
          case 1626: {
            FirstName = input.ReadString();
            break;
          }
          case 1632: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class UpdateRockstarAuditTenantGateway : pb::IMessage<UpdateRockstarAuditTenantGateway>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<UpdateRockstarAuditTenantGateway> _parser = new pb::MessageParser<UpdateRockstarAuditTenantGateway>(() => new UpdateRockstarAuditTenantGateway());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<UpdateRockstarAuditTenantGateway> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[230]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateRockstarAuditTenantGateway() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateRockstarAuditTenantGateway(UpdateRockstarAuditTenantGateway other) : this() {
      id_ = other.id_;
      firstName_ = other.firstName_;
      livingStatus_ = other.livingStatus_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateRockstarAuditTenantGateway Clone() {
      return new UpdateRockstarAuditTenantGateway(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 2;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 3;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as UpdateRockstarAuditTenantGateway);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(UpdateRockstarAuditTenantGateway other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (FirstName != other.FirstName) return false;
      if (LivingStatus != other.LivingStatus) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(24);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(24);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(UpdateRockstarAuditTenantGateway other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 24: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 24: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class UpdateRockstarAuditTenantMq : pb::IMessage<UpdateRockstarAuditTenantMq>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<UpdateRockstarAuditTenantMq> _parser = new pb::MessageParser<UpdateRockstarAuditTenantMq>(() => new UpdateRockstarAuditTenantMq());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<UpdateRockstarAuditTenantMq> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[231]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateRockstarAuditTenantMq() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateRockstarAuditTenantMq(UpdateRockstarAuditTenantMq other) : this() {
      id_ = other.id_;
      firstName_ = other.firstName_;
      livingStatus_ = other.livingStatus_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateRockstarAuditTenantMq Clone() {
      return new UpdateRockstarAuditTenantMq(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 2;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 3;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as UpdateRockstarAuditTenantMq);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(UpdateRockstarAuditTenantMq other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (FirstName != other.FirstName) return false;
      if (LivingStatus != other.LivingStatus) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(24);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (FirstName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FirstName);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(24);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(UpdateRockstarAuditTenantMq other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 24: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            FirstName = input.ReadString();
            break;
          }
          case 24: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class UpdateRockstarVersion : pb::IMessage<UpdateRockstarVersion>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<UpdateRockstarVersion> _parser = new pb::MessageParser<UpdateRockstarVersion>(() => new UpdateRockstarVersion());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<UpdateRockstarVersion> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[232]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateRockstarVersion() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateRockstarVersion(UpdateRockstarVersion other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      dateDied_ = other.dateDied_ != null ? other.dateDied_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      id_ = other.id_;
      rowVersion_ = other.rowVersion_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateRockstarVersion Clone() {
      return new UpdateRockstarVersion(this);
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 1;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 2;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "DateDied" field.</summary>
    public const int DateDiedFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateDied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateDied {
      get { return dateDied_; }
      set {
        dateDied_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 6;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 101;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "RowVersion" field.</summary>
    public const int RowVersionFieldNumber = 102;
    private ulong rowVersion_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ulong RowVersion {
      get { return rowVersion_; }
      set {
        rowVersion_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as UpdateRockstarVersion);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(UpdateRockstarVersion other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (!object.Equals(DateDied, other.DateDied)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      if (Id != other.Id) return false;
      if (RowVersion != other.RowVersion) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (dateDied_ != null) hash ^= DateDied.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (Id != 0) hash ^= Id.GetHashCode();
      if (RowVersion != 0UL) hash ^= RowVersion.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (Id != 0) {
        output.WriteRawTag(168, 6);
        output.WriteInt32(Id);
      }
      if (RowVersion != 0UL) {
        output.WriteRawTag(176, 6);
        output.WriteUInt64(RowVersion);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (Id != 0) {
        output.WriteRawTag(168, 6);
        output.WriteInt32(Id);
      }
      if (RowVersion != 0UL) {
        output.WriteRawTag(176, 6);
        output.WriteUInt64(RowVersion);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (dateDied_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (Id != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (RowVersion != 0UL) {
        size += 2 + pb::CodedOutputStream.ComputeUInt64Size(RowVersion);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(UpdateRockstarVersion other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.dateDied_ != null) {
        if (dateDied_ == null) {
          DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateDied.MergeFrom(other.DateDied);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.RowVersion != 0UL) {
        RowVersion = other.RowVersion;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
          case 808: {
            Id = input.ReadInt32();
            break;
          }
          case 816: {
            RowVersion = input.ReadUInt64();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
          case 808: {
            Id = input.ReadInt32();
            break;
          }
          case 816: {
            RowVersion = input.ReadUInt64();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class UpdateTodo : pb::IMessage<UpdateTodo>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<UpdateTodo> _parser = new pb::MessageParser<UpdateTodo>(() => new UpdateTodo());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<UpdateTodo> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[233]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateTodo() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateTodo(UpdateTodo other) : this() {
      id_ = other.id_;
      title_ = other.title_;
      order_ = other.order_;
      completed_ = other.completed_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateTodo Clone() {
      return new UpdateTodo(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private long id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 2;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Order" field.</summary>
    public const int OrderFieldNumber = 3;
    private int order_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Order {
      get { return order_; }
      set {
        order_ = value;
      }
    }

    /// <summary>Field number for the "Completed" field.</summary>
    public const int CompletedFieldNumber = 4;
    private bool completed_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Completed {
      get { return completed_; }
      set {
        completed_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as UpdateTodo);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(UpdateTodo other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Title != other.Title) return false;
      if (Order != other.Order) return false;
      if (Completed != other.Completed) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0L) hash ^= Id.GetHashCode();
      if (Title.Length != 0) hash ^= Title.GetHashCode();
      if (Order != 0) hash ^= Order.GetHashCode();
      if (Completed != false) hash ^= Completed.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Order != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Order);
      }
      if (Completed != false) {
        output.WriteRawTag(32);
        output.WriteBool(Completed);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Order != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Order);
      }
      if (Completed != false) {
        output.WriteRawTag(32);
        output.WriteBool(Completed);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Id);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (Order != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Order);
      }
      if (Completed != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(UpdateTodo other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0L) {
        Id = other.Id;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.Order != 0) {
        Order = other.Order;
      }
      if (other.Completed != false) {
        Completed = other.Completed;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadInt64();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 24: {
            Order = input.ReadInt32();
            break;
          }
          case 32: {
            Completed = input.ReadBool();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt64();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 24: {
            Order = input.ReadInt32();
            break;
          }
          case 32: {
            Completed = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class UserApiKey : pb::IMessage<UserApiKey>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<UserApiKey> _parser = new pb::MessageParser<UserApiKey>(() => new UserApiKey());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<UserApiKey> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[234]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UserApiKey() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UserApiKey(UserApiKey other) : this() {
      key_ = other.key_;
      keyType_ = other.keyType_;
      expiryDate_ = other.expiryDate_ != null ? other.expiryDate_.Clone() : null;
      meta_ = other.meta_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UserApiKey Clone() {
      return new UserApiKey(this);
    }

    /// <summary>Field number for the "Key" field.</summary>
    public const int KeyFieldNumber = 1;
    private string key_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Key {
      get { return key_; }
      set {
        key_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "KeyType" field.</summary>
    public const int KeyTypeFieldNumber = 2;
    private string keyType_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string KeyType {
      get { return keyType_; }
      set {
        keyType_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ExpiryDate" field.</summary>
    public const int ExpiryDateFieldNumber = 3;
    private global::Google.Protobuf.WellKnownTypes.Timestamp expiryDate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp ExpiryDate {
      get { return expiryDate_; }
      set {
        expiryDate_ = value;
      }
    }

    /// <summary>Field number for the "Meta" field.</summary>
    public const int MetaFieldNumber = 4;
    private static readonly pbc::MapField<string, string>.Codec _map_meta_codec
        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 34);
    private readonly pbc::MapField<string, string> meta_ = new pbc::MapField<string, string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::MapField<string, string> Meta {
      get { return meta_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as UserApiKey);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(UserApiKey other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Key != other.Key) return false;
      if (KeyType != other.KeyType) return false;
      if (!object.Equals(ExpiryDate, other.ExpiryDate)) return false;
      if (!Meta.Equals(other.Meta)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Key.Length != 0) hash ^= Key.GetHashCode();
      if (KeyType.Length != 0) hash ^= KeyType.GetHashCode();
      if (expiryDate_ != null) hash ^= ExpiryDate.GetHashCode();
      hash ^= Meta.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Key.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Key);
      }
      if (KeyType.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(KeyType);
      }
      if (expiryDate_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ExpiryDate);
      }
      meta_.WriteTo(output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Key.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Key);
      }
      if (KeyType.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(KeyType);
      }
      if (expiryDate_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ExpiryDate);
      }
      meta_.WriteTo(ref output, _map_meta_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Key.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Key);
      }
      if (KeyType.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(KeyType);
      }
      if (expiryDate_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ExpiryDate);
      }
      size += meta_.CalculateSize(_map_meta_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(UserApiKey other) {
      if (other == null) {
        return;
      }
      if (other.Key.Length != 0) {
        Key = other.Key;
      }
      if (other.KeyType.Length != 0) {
        KeyType = other.KeyType;
      }
      if (other.expiryDate_ != null) {
        if (expiryDate_ == null) {
          ExpiryDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        ExpiryDate.MergeFrom(other.ExpiryDate);
      }
      meta_.Add(other.meta_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Key = input.ReadString();
            break;
          }
          case 18: {
            KeyType = input.ReadString();
            break;
          }
          case 26: {
            if (expiryDate_ == null) {
              ExpiryDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(ExpiryDate);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(input, _map_meta_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Key = input.ReadString();
            break;
          }
          case 18: {
            KeyType = input.ReadString();
            break;
          }
          case 26: {
            if (expiryDate_ == null) {
              ExpiryDate = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(ExpiryDate);
            break;
          }
          case 34: {
            meta_.AddEntriesFrom(ref input, _map_meta_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class ValidateCreateRockstar : pb::IMessage<ValidateCreateRockstar>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ValidateCreateRockstar> _parser = new pb::MessageParser<ValidateCreateRockstar>(() => new ValidateCreateRockstar());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ValidateCreateRockstar> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::ServiceStack.Extensions.Tests.Protoc.ServicesReflection.Descriptor.MessageTypes[235]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ValidateCreateRockstar() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ValidateCreateRockstar(ValidateCreateRockstar other) : this() {
      firstName_ = other.firstName_;
      lastName_ = other.lastName_;
      age_ = other.age_;
      dateOfBirth_ = other.dateOfBirth_ != null ? other.dateOfBirth_.Clone() : null;
      dateDied_ = other.dateDied_ != null ? other.dateDied_.Clone() : null;
      livingStatus_ = other.livingStatus_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ValidateCreateRockstar Clone() {
      return new ValidateCreateRockstar(this);
    }

    /// <summary>Field number for the "FirstName" field.</summary>
    public const int FirstNameFieldNumber = 1;
    private string firstName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FirstName {
      get { return firstName_; }
      set {
        firstName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastName" field.</summary>
    public const int LastNameFieldNumber = 2;
    private string lastName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LastName {
      get { return lastName_; }
      set {
        lastName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Age" field.</summary>
    public const int AgeFieldNumber = 3;
    private int age_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Age {
      get { return age_; }
      set {
        age_ = value;
      }
    }

    /// <summary>Field number for the "DateOfBirth" field.</summary>
    public const int DateOfBirthFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateOfBirth_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateOfBirth {
      get { return dateOfBirth_; }
      set {
        dateOfBirth_ = value;
      }
    }

    /// <summary>Field number for the "DateDied" field.</summary>
    public const int DateDiedFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.Timestamp dateDied_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Timestamp DateDied {
      get { return dateDied_; }
      set {
        dateDied_ = value;
      }
    }

    /// <summary>Field number for the "LivingStatus" field.</summary>
    public const int LivingStatusFieldNumber = 6;
    private global::ServiceStack.Extensions.Tests.Protoc.LivingStatus livingStatus_ = global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::ServiceStack.Extensions.Tests.Protoc.LivingStatus LivingStatus {
      get { return livingStatus_; }
      set {
        livingStatus_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ValidateCreateRockstar);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ValidateCreateRockstar other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FirstName != other.FirstName) return false;
      if (LastName != other.LastName) return false;
      if (Age != other.Age) return false;
      if (!object.Equals(DateOfBirth, other.DateOfBirth)) return false;
      if (!object.Equals(DateDied, other.DateDied)) return false;
      if (LivingStatus != other.LivingStatus) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (FirstName.Length != 0) hash ^= FirstName.GetHashCode();
      if (LastName.Length != 0) hash ^= LastName.GetHashCode();
      if (Age != 0) hash ^= Age.GetHashCode();
      if (dateOfBirth_ != null) hash ^= DateOfBirth.GetHashCode();
      if (dateDied_ != null) hash ^= DateDied.GetHashCode();
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) hash ^= LivingStatus.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FirstName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(FirstName);
      }
      if (LastName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LastName);
      }
      if (Age != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Age);
      }
      if (dateOfBirth_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(DateOfBirth);
      }
      if (dateDied_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        output.WriteRawTag(48);
        output.WriteEnum((int) LivingStatus);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (FirstName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FirstName);
      }
      if (LastName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastName);
      }
      if (Age != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Age);
      }
      if (dateOfBirth_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateOfBirth);
      }
      if (dateDied_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DateDied);
      }
      if (LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LivingStatus);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ValidateCreateRockstar other) {
      if (other == null) {
        return;
      }
      if (other.FirstName.Length != 0) {
        FirstName = other.FirstName;
      }
      if (other.LastName.Length != 0) {
        LastName = other.LastName;
      }
      if (other.Age != 0) {
        Age = other.Age;
      }
      if (other.dateOfBirth_ != null) {
        if (dateOfBirth_ == null) {
          DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateOfBirth.MergeFrom(other.DateOfBirth);
      }
      if (other.dateDied_ != null) {
        if (dateDied_ == null) {
          DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
        }
        DateDied.MergeFrom(other.DateDied);
      }
      if (other.LivingStatus != global::ServiceStack.Extensions.Tests.Protoc.LivingStatus.Alive) {
        LivingStatus = other.LivingStatus;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            FirstName = input.ReadString();
            break;
          }
          case 18: {
            LastName = input.ReadString();
            break;
          }
          case 24: {
            Age = input.ReadInt32();
            break;
          }
          case 34: {
            if (dateOfBirth_ == null) {
              DateOfBirth = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateOfBirth);
            break;
          }
          case 42: {
            if (dateDied_ == null) {
              DateDied = new global::Google.Protobuf.WellKnownTypes.Timestamp();
            }
            input.ReadMessage(DateDied);
            break;
          }
          case 48: {
            LivingStatus = (global::ServiceStack.Extensions.Tests.Protoc.LivingStatus) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  #endregion

}

#endregion Designer generated code
