1// <auto-generated>
2//     Generated by the protocol buffer compiler.  DO NOT EDIT!
3//     source: google/protobuf/test_messages_proto3.proto
4// </auto-generated>
5#pragma warning disable 1591, 0612, 3021
6#region Designer generated code
7
8using pb = global::Google.Protobuf;
9using pbc = global::Google.Protobuf.Collections;
10using pbr = global::Google.Protobuf.Reflection;
11using scg = global::System.Collections.Generic;
12namespace ProtobufTestMessages.Proto3 {
13
14  /// <summary>Holder for reflection information generated from google/protobuf/test_messages_proto3.proto</summary>
15  public static partial class TestMessagesProto3Reflection {
16
17    #region Descriptor
18    /// <summary>File descriptor for google/protobuf/test_messages_proto3.proto</summary>
19    public static pbr::FileDescriptor Descriptor {
20      get { return descriptor; }
21    }
22    private static pbr::FileDescriptor descriptor;
23
24    static TestMessagesProto3Reflection() {
25      byte[] descriptorData = global::System.Convert.FromBase64String(
26          string.Concat(
27            "Cipnb29nbGUvcHJvdG9idWYvdGVzdF9tZXNzYWdlc19wcm90bzMucHJvdG8S",
28            "HXByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zGhlnb29nbGUvcHJvdG9i",
29            "dWYvYW55LnByb3RvGh5nb29nbGUvcHJvdG9idWYvZHVyYXRpb24ucHJvdG8a",
30            "IGdvb2dsZS9wcm90b2J1Zi9maWVsZF9tYXNrLnByb3RvGhxnb29nbGUvcHJv",
31            "dG9idWYvc3RydWN0LnByb3RvGh9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1w",
32            "LnByb3RvGh5nb29nbGUvcHJvdG9idWYvd3JhcHBlcnMucHJvdG8iv0QKElRl",
33            "c3RBbGxUeXBlc1Byb3RvMxIWCg5vcHRpb25hbF9pbnQzMhgBIAEoBRIWCg5v",
34            "cHRpb25hbF9pbnQ2NBgCIAEoAxIXCg9vcHRpb25hbF91aW50MzIYAyABKA0S",
35            "FwoPb3B0aW9uYWxfdWludDY0GAQgASgEEhcKD29wdGlvbmFsX3NpbnQzMhgF",
36            "IAEoERIXCg9vcHRpb25hbF9zaW50NjQYBiABKBISGAoQb3B0aW9uYWxfZml4",
37            "ZWQzMhgHIAEoBxIYChBvcHRpb25hbF9maXhlZDY0GAggASgGEhkKEW9wdGlv",
38            "bmFsX3NmaXhlZDMyGAkgASgPEhkKEW9wdGlvbmFsX3NmaXhlZDY0GAogASgQ",
39            "EhYKDm9wdGlvbmFsX2Zsb2F0GAsgASgCEhcKD29wdGlvbmFsX2RvdWJsZRgM",
40            "IAEoARIVCg1vcHRpb25hbF9ib29sGA0gASgIEhcKD29wdGlvbmFsX3N0cmlu",
41            "ZxgOIAEoCRIWCg5vcHRpb25hbF9ieXRlcxgPIAEoDBJgChdvcHRpb25hbF9u",
42            "ZXN0ZWRfbWVzc2FnZRgSIAEoCzI/LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMu",
43            "cHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5OZXN0ZWRNZXNzYWdlEk8KGG9w",
44            "dGlvbmFsX2ZvcmVpZ25fbWVzc2FnZRgTIAEoCzItLnByb3RvYnVmX3Rlc3Rf",
45            "bWVzc2FnZXMucHJvdG8zLkZvcmVpZ25NZXNzYWdlEloKFG9wdGlvbmFsX25l",
46            "c3RlZF9lbnVtGBUgASgOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90",
47            "bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk5lc3RlZEVudW0SSQoVb3B0aW9uYWxf",
48            "Zm9yZWlnbl9lbnVtGBYgASgOMioucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5w",
49            "cm90bzMuRm9yZWlnbkVudW0SXAoVb3B0aW9uYWxfYWxpYXNlZF9lbnVtGBcg",
50            "ASgOMj0ucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5",
51            "cGVzUHJvdG8zLkFsaWFzZWRFbnVtEiEKFW9wdGlvbmFsX3N0cmluZ19waWVj",
52            "ZRgYIAEoCUICCAISGQoNb3B0aW9uYWxfY29yZBgZIAEoCUICCAESTAoRcmVj",
53            "dXJzaXZlX21lc3NhZ2UYGyABKAsyMS5wcm90b2J1Zl90ZXN0X21lc3NhZ2Vz",
54            "LnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMSFgoOcmVwZWF0ZWRfaW50MzIY",
55            "HyADKAUSFgoOcmVwZWF0ZWRfaW50NjQYICADKAMSFwoPcmVwZWF0ZWRfdWlu",
56            "dDMyGCEgAygNEhcKD3JlcGVhdGVkX3VpbnQ2NBgiIAMoBBIXCg9yZXBlYXRl",
57            "ZF9zaW50MzIYIyADKBESFwoPcmVwZWF0ZWRfc2ludDY0GCQgAygSEhgKEHJl",
58            "cGVhdGVkX2ZpeGVkMzIYJSADKAcSGAoQcmVwZWF0ZWRfZml4ZWQ2NBgmIAMo",
59            "BhIZChFyZXBlYXRlZF9zZml4ZWQzMhgnIAMoDxIZChFyZXBlYXRlZF9zZml4",
60            "ZWQ2NBgoIAMoEBIWCg5yZXBlYXRlZF9mbG9hdBgpIAMoAhIXCg9yZXBlYXRl",
61            "ZF9kb3VibGUYKiADKAESFQoNcmVwZWF0ZWRfYm9vbBgrIAMoCBIXCg9yZXBl",
62            "YXRlZF9zdHJpbmcYLCADKAkSFgoOcmVwZWF0ZWRfYnl0ZXMYLSADKAwSYAoX",
63            "cmVwZWF0ZWRfbmVzdGVkX21lc3NhZ2UYMCADKAsyPy5wcm90b2J1Zl90ZXN0",
64            "X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTmVzdGVkTWVz",
65            "c2FnZRJPChhyZXBlYXRlZF9mb3JlaWduX21lc3NhZ2UYMSADKAsyLS5wcm90",
66            "b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5Gb3JlaWduTWVzc2FnZRJaChRy",
67            "ZXBlYXRlZF9uZXN0ZWRfZW51bRgzIAMoDjI8LnByb3RvYnVmX3Rlc3RfbWVz",
68            "c2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5OZXN0ZWRFbnVtEkkK",
69            "FXJlcGVhdGVkX2ZvcmVpZ25fZW51bRg0IAMoDjIqLnByb3RvYnVmX3Rlc3Rf",
70            "bWVzc2FnZXMucHJvdG8zLkZvcmVpZ25FbnVtEiEKFXJlcGVhdGVkX3N0cmlu",
71            "Z19waWVjZRg2IAMoCUICCAISGQoNcmVwZWF0ZWRfY29yZBg3IAMoCUICCAES",
72            "GAoMcGFja2VkX2ludDMyGEsgAygFQgIQARIYCgxwYWNrZWRfaW50NjQYTCAD",
73            "KANCAhABEhkKDXBhY2tlZF91aW50MzIYTSADKA1CAhABEhkKDXBhY2tlZF91",
74            "aW50NjQYTiADKARCAhABEhkKDXBhY2tlZF9zaW50MzIYTyADKBFCAhABEhkK",
75            "DXBhY2tlZF9zaW50NjQYUCADKBJCAhABEhoKDnBhY2tlZF9maXhlZDMyGFEg",
76            "AygHQgIQARIaCg5wYWNrZWRfZml4ZWQ2NBhSIAMoBkICEAESGwoPcGFja2Vk",
77            "X3NmaXhlZDMyGFMgAygPQgIQARIbCg9wYWNrZWRfc2ZpeGVkNjQYVCADKBBC",
78            "AhABEhgKDHBhY2tlZF9mbG9hdBhVIAMoAkICEAESGQoNcGFja2VkX2RvdWJs",
79            "ZRhWIAMoAUICEAESFwoLcGFja2VkX2Jvb2wYVyADKAhCAhABElwKEnBhY2tl",
80            "ZF9uZXN0ZWRfZW51bRhYIAMoDjI8LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMu",
81            "cHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5OZXN0ZWRFbnVtQgIQARIaCg51",
82            "bnBhY2tlZF9pbnQzMhhZIAMoBUICEAASGgoOdW5wYWNrZWRfaW50NjQYWiAD",
83            "KANCAhAAEhsKD3VucGFja2VkX3VpbnQzMhhbIAMoDUICEAASGwoPdW5wYWNr",
84            "ZWRfdWludDY0GFwgAygEQgIQABIbCg91bnBhY2tlZF9zaW50MzIYXSADKBFC",
85            "AhAAEhsKD3VucGFja2VkX3NpbnQ2NBheIAMoEkICEAASHAoQdW5wYWNrZWRf",
86            "Zml4ZWQzMhhfIAMoB0ICEAASHAoQdW5wYWNrZWRfZml4ZWQ2NBhgIAMoBkIC",
87            "EAASHQoRdW5wYWNrZWRfc2ZpeGVkMzIYYSADKA9CAhAAEh0KEXVucGFja2Vk",
88            "X3NmaXhlZDY0GGIgAygQQgIQABIaCg51bnBhY2tlZF9mbG9hdBhjIAMoAkIC",
89            "EAASGwoPdW5wYWNrZWRfZG91YmxlGGQgAygBQgIQABIZCg11bnBhY2tlZF9i",
90            "b29sGGUgAygIQgIQABJeChR1bnBhY2tlZF9uZXN0ZWRfZW51bRhmIAMoDjI8",
91            "LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1By",
92            "b3RvMy5OZXN0ZWRFbnVtQgIQABJdCg9tYXBfaW50MzJfaW50MzIYOCADKAsy",
93            "RC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQ",
94            "cm90bzMuTWFwSW50MzJJbnQzMkVudHJ5El0KD21hcF9pbnQ2NF9pbnQ2NBg5",
95            "IAMoCzJELnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxU",
96            "eXBlc1Byb3RvMy5NYXBJbnQ2NEludDY0RW50cnkSYQoRbWFwX3VpbnQzMl91",
97            "aW50MzIYOiADKAsyRi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5U",
98            "ZXN0QWxsVHlwZXNQcm90bzMuTWFwVWludDMyVWludDMyRW50cnkSYQoRbWFw",
99            "X3VpbnQ2NF91aW50NjQYOyADKAsyRi5wcm90b2J1Zl90ZXN0X21lc3NhZ2Vz",
100            "LnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwVWludDY0VWludDY0RW50",
101            "cnkSYQoRbWFwX3NpbnQzMl9zaW50MzIYPCADKAsyRi5wcm90b2J1Zl90ZXN0",
102            "X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwU2ludDMy",
103            "U2ludDMyRW50cnkSYQoRbWFwX3NpbnQ2NF9zaW50NjQYPSADKAsyRi5wcm90",
104            "b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMu",
105            "TWFwU2ludDY0U2ludDY0RW50cnkSZQoTbWFwX2ZpeGVkMzJfZml4ZWQzMhg+",
106            "IAMoCzJILnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxU",
107            "eXBlc1Byb3RvMy5NYXBGaXhlZDMyRml4ZWQzMkVudHJ5EmUKE21hcF9maXhl",
108            "ZDY0X2ZpeGVkNjQYPyADKAsySC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnBy",
109            "b3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwRml4ZWQ2NEZpeGVkNjRFbnRy",
110            "eRJpChVtYXBfc2ZpeGVkMzJfc2ZpeGVkMzIYQCADKAsySi5wcm90b2J1Zl90",
111            "ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwU2Zp",
112            "eGVkMzJTZml4ZWQzMkVudHJ5EmkKFW1hcF9zZml4ZWQ2NF9zZml4ZWQ2NBhB",
113            "IAMoCzJKLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxU",
114            "eXBlc1Byb3RvMy5NYXBTZml4ZWQ2NFNmaXhlZDY0RW50cnkSXQoPbWFwX2lu",
115            "dDMyX2Zsb2F0GEIgAygLMkQucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90",
116            "bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcEludDMyRmxvYXRFbnRyeRJfChBt",
117            "YXBfaW50MzJfZG91YmxlGEMgAygLMkUucHJvdG9idWZfdGVzdF9tZXNzYWdl",
118            "cy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcEludDMyRG91YmxlRW50",
119            "cnkSWQoNbWFwX2Jvb2xfYm9vbBhEIAMoCzJCLnByb3RvYnVmX3Rlc3RfbWVz",
120            "c2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBCb29sQm9vbEVu",
121            "dHJ5EmEKEW1hcF9zdHJpbmdfc3RyaW5nGEUgAygLMkYucHJvdG9idWZfdGVz",
122            "dF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcFN0cmlu",
123            "Z1N0cmluZ0VudHJ5El8KEG1hcF9zdHJpbmdfYnl0ZXMYRiADKAsyRS5wcm90",
124            "b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMu",
125            "TWFwU3RyaW5nQnl0ZXNFbnRyeRJwChltYXBfc3RyaW5nX25lc3RlZF9tZXNz",
126            "YWdlGEcgAygLMk0ucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVz",
127            "dEFsbFR5cGVzUHJvdG8zLk1hcFN0cmluZ05lc3RlZE1lc3NhZ2VFbnRyeRJy",
128            "ChptYXBfc3RyaW5nX2ZvcmVpZ25fbWVzc2FnZRhIIAMoCzJOLnByb3RvYnVm",
129            "X3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBT",
130            "dHJpbmdGb3JlaWduTWVzc2FnZUVudHJ5EmoKFm1hcF9zdHJpbmdfbmVzdGVk",
131            "X2VudW0YSSADKAsySi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5U",
132            "ZXN0QWxsVHlwZXNQcm90bzMuTWFwU3RyaW5nTmVzdGVkRW51bUVudHJ5EmwK",
133            "F21hcF9zdHJpbmdfZm9yZWlnbl9lbnVtGEogAygLMksucHJvdG9idWZfdGVz",
134            "dF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcFN0cmlu",
135            "Z0ZvcmVpZ25FbnVtRW50cnkSFgoMb25lb2ZfdWludDMyGG8gASgNSAASXwoU",
136            "b25lb2ZfbmVzdGVkX21lc3NhZ2UYcCABKAsyPy5wcm90b2J1Zl90ZXN0X21l",
137            "c3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTmVzdGVkTWVzc2Fn",
138            "ZUgAEhYKDG9uZW9mX3N0cmluZxhxIAEoCUgAEhUKC29uZW9mX2J5dGVzGHIg",
139            "ASgMSAASFAoKb25lb2ZfYm9vbBhzIAEoCEgAEhYKDG9uZW9mX3VpbnQ2NBh0",
140            "IAEoBEgAEhUKC29uZW9mX2Zsb2F0GHUgASgCSAASFgoMb25lb2ZfZG91Ymxl",
141            "GHYgASgBSAASUgoKb25lb2ZfZW51bRh3IAEoDjI8LnByb3RvYnVmX3Rlc3Rf",
142            "bWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5OZXN0ZWRFbnVt",
143            "SAASOgoVb3B0aW9uYWxfYm9vbF93cmFwcGVyGMkBIAEoCzIaLmdvb2dsZS5w",
144            "cm90b2J1Zi5Cb29sVmFsdWUSPAoWb3B0aW9uYWxfaW50MzJfd3JhcHBlchjK",
145            "ASABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZRI8ChZvcHRpb25h",
146            "bF9pbnQ2NF93cmFwcGVyGMsBIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQ2",
147            "NFZhbHVlEj4KF29wdGlvbmFsX3VpbnQzMl93cmFwcGVyGMwBIAEoCzIcLmdv",
148            "b2dsZS5wcm90b2J1Zi5VSW50MzJWYWx1ZRI+ChdvcHRpb25hbF91aW50NjRf",
149            "d3JhcHBlchjNASABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDY0VmFsdWUS",
150            "PAoWb3B0aW9uYWxfZmxvYXRfd3JhcHBlchjOASABKAsyGy5nb29nbGUucHJv",
151            "dG9idWYuRmxvYXRWYWx1ZRI+ChdvcHRpb25hbF9kb3VibGVfd3JhcHBlchjP",
152            "ASABKAsyHC5nb29nbGUucHJvdG9idWYuRG91YmxlVmFsdWUSPgoXb3B0aW9u",
153            "YWxfc3RyaW5nX3dyYXBwZXIY0AEgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0",
154            "cmluZ1ZhbHVlEjwKFm9wdGlvbmFsX2J5dGVzX3dyYXBwZXIY0QEgASgLMhsu",
155            "Z29vZ2xlLnByb3RvYnVmLkJ5dGVzVmFsdWUSOgoVcmVwZWF0ZWRfYm9vbF93",
156            "cmFwcGVyGNMBIAMoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWUSPAoW",
157            "cmVwZWF0ZWRfaW50MzJfd3JhcHBlchjUASADKAsyGy5nb29nbGUucHJvdG9i",
158            "dWYuSW50MzJWYWx1ZRI8ChZyZXBlYXRlZF9pbnQ2NF93cmFwcGVyGNUBIAMo",
159            "CzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQ2NFZhbHVlEj4KF3JlcGVhdGVkX3Vp",
160            "bnQzMl93cmFwcGVyGNYBIAMoCzIcLmdvb2dsZS5wcm90b2J1Zi5VSW50MzJW",
161            "YWx1ZRI+ChdyZXBlYXRlZF91aW50NjRfd3JhcHBlchjXASADKAsyHC5nb29n",
162            "bGUucHJvdG9idWYuVUludDY0VmFsdWUSPAoWcmVwZWF0ZWRfZmxvYXRfd3Jh",
163            "cHBlchjYASADKAsyGy5nb29nbGUucHJvdG9idWYuRmxvYXRWYWx1ZRI+Chdy",
164            "ZXBlYXRlZF9kb3VibGVfd3JhcHBlchjZASADKAsyHC5nb29nbGUucHJvdG9i",
165            "dWYuRG91YmxlVmFsdWUSPgoXcmVwZWF0ZWRfc3RyaW5nX3dyYXBwZXIY2gEg",
166            "AygLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEjwKFnJlcGVhdGVk",
167            "X2J5dGVzX3dyYXBwZXIY2wEgAygLMhsuZ29vZ2xlLnByb3RvYnVmLkJ5dGVz",
168            "VmFsdWUSNQoRb3B0aW9uYWxfZHVyYXRpb24YrQIgASgLMhkuZ29vZ2xlLnBy",
169            "b3RvYnVmLkR1cmF0aW9uEjcKEm9wdGlvbmFsX3RpbWVzdGFtcBiuAiABKAsy",
170            "Gi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjgKE29wdGlvbmFsX2ZpZWxk",
171            "X21hc2sYrwIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFzaxIxCg9v",
172            "cHRpb25hbF9zdHJ1Y3QYsAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVj",
173            "dBIrCgxvcHRpb25hbF9hbnkYsQIgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFu",
174            "eRIvCg5vcHRpb25hbF92YWx1ZRiyAiABKAsyFi5nb29nbGUucHJvdG9idWYu",
175            "VmFsdWUSNQoRcmVwZWF0ZWRfZHVyYXRpb24YtwIgAygLMhkuZ29vZ2xlLnBy",
176            "b3RvYnVmLkR1cmF0aW9uEjcKEnJlcGVhdGVkX3RpbWVzdGFtcBi4AiADKAsy",
177            "Gi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjcKEnJlcGVhdGVkX2ZpZWxk",
178            "bWFzaxi5AiADKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrEjEKD3Jl",
179            "cGVhdGVkX3N0cnVjdBjEAiADKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0",
180            "EisKDHJlcGVhdGVkX2FueRi7AiADKAsyFC5nb29nbGUucHJvdG9idWYuQW55",
181            "Ei8KDnJlcGVhdGVkX3ZhbHVlGLwCIAMoCzIWLmdvb2dsZS5wcm90b2J1Zi5W",
182            "YWx1ZRI4ChNyZXBlYXRlZF9saXN0X3ZhbHVlGL0CIAMoCzIaLmdvb2dsZS5w",
183            "cm90b2J1Zi5MaXN0VmFsdWUSEwoKZmllbGRuYW1lMRiRAyABKAUSFAoLZmll",
184            "bGRfbmFtZTIYkgMgASgFEhUKDF9maWVsZF9uYW1lMxiTAyABKAUSFgoNZmll",
185            "bGRfX25hbWU0XxiUAyABKAUSFAoLZmllbGQwbmFtZTUYlQMgASgFEhYKDWZp",
186            "ZWxkXzBfbmFtZTYYlgMgASgFEhMKCmZpZWxkTmFtZTcYlwMgASgFEhMKCkZp",
187            "ZWxkTmFtZTgYmAMgASgFEhQKC2ZpZWxkX05hbWU5GJkDIAEoBRIVCgxGaWVs",
188            "ZF9OYW1lMTAYmgMgASgFEhUKDEZJRUxEX05BTUUxMRibAyABKAUSFQoMRklF",
189            "TERfbmFtZTEyGJwDIAEoBRIXCg5fX2ZpZWxkX25hbWUxMxidAyABKAUSFwoO",
190            "X19GaWVsZF9uYW1lMTQYngMgASgFEhYKDWZpZWxkX19uYW1lMTUYnwMgASgF",
191            "EhYKDWZpZWxkX19OYW1lMTYYoAMgASgFEhcKDmZpZWxkX25hbWUxN19fGKED",
192            "IAEoBRIXCg5GaWVsZF9uYW1lMThfXxiiAyABKAUaYgoNTmVzdGVkTWVzc2Fn",
193            "ZRIJCgFhGAEgASgFEkYKC2NvcmVjdXJzaXZlGAIgASgLMjEucHJvdG9idWZf",
194            "dGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zGjQKEk1h",
195            "cEludDMySW50MzJFbnRyeRILCgNrZXkYASABKAUSDQoFdmFsdWUYAiABKAU6",
196            "AjgBGjQKEk1hcEludDY0SW50NjRFbnRyeRILCgNrZXkYASABKAMSDQoFdmFs",
197            "dWUYAiABKAM6AjgBGjYKFE1hcFVpbnQzMlVpbnQzMkVudHJ5EgsKA2tleRgB",
198            "IAEoDRINCgV2YWx1ZRgCIAEoDToCOAEaNgoUTWFwVWludDY0VWludDY0RW50",
199            "cnkSCwoDa2V5GAEgASgEEg0KBXZhbHVlGAIgASgEOgI4ARo2ChRNYXBTaW50",
200            "MzJTaW50MzJFbnRyeRILCgNrZXkYASABKBESDQoFdmFsdWUYAiABKBE6AjgB",
201            "GjYKFE1hcFNpbnQ2NFNpbnQ2NEVudHJ5EgsKA2tleRgBIAEoEhINCgV2YWx1",
202            "ZRgCIAEoEjoCOAEaOAoWTWFwRml4ZWQzMkZpeGVkMzJFbnRyeRILCgNrZXkY",
203            "ASABKAcSDQoFdmFsdWUYAiABKAc6AjgBGjgKFk1hcEZpeGVkNjRGaXhlZDY0",
204            "RW50cnkSCwoDa2V5GAEgASgGEg0KBXZhbHVlGAIgASgGOgI4ARo6ChhNYXBT",
205            "Zml4ZWQzMlNmaXhlZDMyRW50cnkSCwoDa2V5GAEgASgPEg0KBXZhbHVlGAIg",
206            "ASgPOgI4ARo6ChhNYXBTZml4ZWQ2NFNmaXhlZDY0RW50cnkSCwoDa2V5GAEg",
207            "ASgQEg0KBXZhbHVlGAIgASgQOgI4ARo0ChJNYXBJbnQzMkZsb2F0RW50cnkS",
208            "CwoDa2V5GAEgASgFEg0KBXZhbHVlGAIgASgCOgI4ARo1ChNNYXBJbnQzMkRv",
209            "dWJsZUVudHJ5EgsKA2tleRgBIAEoBRINCgV2YWx1ZRgCIAEoAToCOAEaMgoQ",
210            "TWFwQm9vbEJvb2xFbnRyeRILCgNrZXkYASABKAgSDQoFdmFsdWUYAiABKAg6",
211            "AjgBGjYKFE1hcFN0cmluZ1N0cmluZ0VudHJ5EgsKA2tleRgBIAEoCRINCgV2",
212            "YWx1ZRgCIAEoCToCOAEaNQoTTWFwU3RyaW5nQnl0ZXNFbnRyeRILCgNrZXkY",
213            "ASABKAkSDQoFdmFsdWUYAiABKAw6AjgBGn4KG01hcFN0cmluZ05lc3RlZE1l",
214            "c3NhZ2VFbnRyeRILCgNrZXkYASABKAkSTgoFdmFsdWUYAiABKAsyPy5wcm90",
215            "b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMu",
216            "TmVzdGVkTWVzc2FnZToCOAEabQocTWFwU3RyaW5nRm9yZWlnbk1lc3NhZ2VF",
217            "bnRyeRILCgNrZXkYASABKAkSPAoFdmFsdWUYAiABKAsyLS5wcm90b2J1Zl90",
218            "ZXN0X21lc3NhZ2VzLnByb3RvMy5Gb3JlaWduTWVzc2FnZToCOAEaeAoYTWFw",
219            "U3RyaW5nTmVzdGVkRW51bUVudHJ5EgsKA2tleRgBIAEoCRJLCgV2YWx1ZRgC",
220            "IAEoDjI8LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxU",
221            "eXBlc1Byb3RvMy5OZXN0ZWRFbnVtOgI4ARpnChlNYXBTdHJpbmdGb3JlaWdu",
222            "RW51bUVudHJ5EgsKA2tleRgBIAEoCRI5CgV2YWx1ZRgCIAEoDjIqLnByb3Rv",
223            "YnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLkZvcmVpZ25FbnVtOgI4ASI5CgpO",
224            "ZXN0ZWRFbnVtEgcKA0ZPTxAAEgcKA0JBUhABEgcKA0JBWhACEhAKA05FRxD/",
225            "//////////8BIlkKC0FsaWFzZWRFbnVtEg0KCUFMSUFTX0ZPTxAAEg0KCUFM",
226            "SUFTX0JBUhABEg0KCUFMSUFTX0JBWhACEgcKA1FVWBACEgcKA3F1eBACEgcK",
227            "A2JBehACGgIQAUINCgtvbmVvZl9maWVsZEoGCPUDEP8DIhsKDkZvcmVpZ25N",
228            "ZXNzYWdlEgkKAWMYASABKAUqQAoLRm9yZWlnbkVudW0SDwoLRk9SRUlHTl9G",
229            "T08QABIPCgtGT1JFSUdOX0JBUhABEg8KC0ZPUkVJR05fQkFaEAJCOAooY29t",
230            "Lmdvb2dsZS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvM0gB+AEBogIG",
231            "UHJvdG8zYgZwcm90bzM="));
232      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
233          new pbr::FileDescriptor[] { global::Google.Protobuf.WellKnownTypes.AnyReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.DurationReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.FieldMaskReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.StructReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.TimestampReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.WrappersReflection.Descriptor, },
234          new pbr::GeneratedClrTypeInfo(new[] {typeof(global::ProtobufTestMessages.Proto3.ForeignEnum), }, null, new pbr::GeneratedClrTypeInfo[] {
235            new pbr::GeneratedClrTypeInfo(typeof(global::ProtobufTestMessages.Proto3.TestAllTypesProto3), global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Parser, new[]{ "OptionalInt32", "OptionalInt64", "OptionalUint32", "OptionalUint64", "OptionalSint32", "OptionalSint64", "OptionalFixed32", "OptionalFixed64", "OptionalSfixed32", "OptionalSfixed64", "OptionalFloat", "OptionalDouble", "OptionalBool", "OptionalString", "OptionalBytes", "OptionalNestedMessage", "OptionalForeignMessage", "OptionalNestedEnum", "OptionalForeignEnum", "OptionalAliasedEnum", "OptionalStringPiece", "OptionalCord", "RecursiveMessage", "RepeatedInt32", "RepeatedInt64", "RepeatedUint32", "RepeatedUint64", "RepeatedSint32", "RepeatedSint64", "RepeatedFixed32", "RepeatedFixed64", "RepeatedSfixed32", "RepeatedSfixed64", "RepeatedFloat", "RepeatedDouble", "RepeatedBool", "RepeatedString", "RepeatedBytes", "RepeatedNestedMessage", "RepeatedForeignMessage", "RepeatedNestedEnum", "RepeatedForeignEnum", "RepeatedStringPiece", "RepeatedCord", "PackedInt32", "PackedInt64", "PackedUint32", "PackedUint64", "PackedSint32", "PackedSint64", "PackedFixed32", "PackedFixed64", "PackedSfixed32", "PackedSfixed64", "PackedFloat", "PackedDouble", "PackedBool", "PackedNestedEnum", "UnpackedInt32", "UnpackedInt64", "UnpackedUint32", "UnpackedUint64", "UnpackedSint32", "UnpackedSint64", "UnpackedFixed32", "UnpackedFixed64", "UnpackedSfixed32", "UnpackedSfixed64", "UnpackedFloat", "UnpackedDouble", "UnpackedBool", "UnpackedNestedEnum", "MapInt32Int32", "MapInt64Int64", "MapUint32Uint32", "MapUint64Uint64", "MapSint32Sint32", "MapSint64Sint64", "MapFixed32Fixed32", "MapFixed64Fixed64", "MapSfixed32Sfixed32", "MapSfixed64Sfixed64", "MapInt32Float", "MapInt32Double", "MapBoolBool", "MapStringString", "MapStringBytes", "MapStringNestedMessage", "MapStringForeignMessage", "MapStringNestedEnum", "MapStringForeignEnum", "OneofUint32", "OneofNestedMessage", "OneofString", "OneofBytes", "OneofBool", "OneofUint64", "OneofFloat", "OneofDouble", "OneofEnum", "OptionalBoolWrapper", "OptionalInt32Wrapper", "OptionalInt64Wrapper", "OptionalUint32Wrapper", "OptionalUint64Wrapper", "OptionalFloatWrapper", "OptionalDoubleWrapper", "OptionalStringWrapper", "OptionalBytesWrapper", "RepeatedBoolWrapper", "RepeatedInt32Wrapper", "RepeatedInt64Wrapper", "RepeatedUint32Wrapper", "RepeatedUint64Wrapper", "RepeatedFloatWrapper", "RepeatedDoubleWrapper", "RepeatedStringWrapper", "RepeatedBytesWrapper", "OptionalDuration", "OptionalTimestamp", "OptionalFieldMask", "OptionalStruct", "OptionalAny", "OptionalValue", "RepeatedDuration", "RepeatedTimestamp", "RepeatedFieldmask", "RepeatedStruct", "RepeatedAny", "RepeatedValue", "RepeatedListValue", "Fieldname1", "FieldName2", "FieldName3", "FieldName4", "Field0Name5", "Field0Name6", "FieldName7", "FieldName8", "FieldName9", "FieldName10", "FIELDNAME11", "FIELDName12", "FieldName13", "FieldName14", "FieldName15", "FieldName16", "FieldName17", "FieldName18" }, new[]{ "OneofField" }, new[]{ typeof(global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum), typeof(global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.AliasedEnum) }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage), global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage.Parser, new[]{ "A", "Corecursive" }, null, null, null, null),
236            null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, }),
237            new pbr::GeneratedClrTypeInfo(typeof(global::ProtobufTestMessages.Proto3.ForeignMessage), global::ProtobufTestMessages.Proto3.ForeignMessage.Parser, new[]{ "C" }, null, null, null, null)
238          }));
239    }
240    #endregion
241
242  }
243  #region Enums
244  public enum ForeignEnum {
245    [pbr::OriginalName("FOREIGN_FOO")] ForeignFoo = 0,
246    [pbr::OriginalName("FOREIGN_BAR")] ForeignBar = 1,
247    [pbr::OriginalName("FOREIGN_BAZ")] ForeignBaz = 2,
248  }
249
250  #endregion
251
252  #region Messages
253  /// <summary>
254  /// This proto includes every type of field in both singular and repeated
255  /// forms.
256  ///
257  /// Also, crucially, all messages and enums in this file are eventually
258  /// submessages of this message.  So for example, a fuzz test of TestAllTypes
259  /// could trigger bugs that occur in any message type in this file.  We verify
260  /// this stays true in a unit test.
261  /// </summary>
262  public sealed partial class TestAllTypesProto3 : pb::IMessage<TestAllTypesProto3>
263  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
264      , pb::IBufferMessage
265  #endif
266  {
267    private static readonly pb::MessageParser<TestAllTypesProto3> _parser = new pb::MessageParser<TestAllTypesProto3>(() => new TestAllTypesProto3());
268    private pb::UnknownFieldSet _unknownFields;
269    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
270    public static pb::MessageParser<TestAllTypesProto3> Parser { get { return _parser; } }
271
272    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
273    public static pbr::MessageDescriptor Descriptor {
274      get { return global::ProtobufTestMessages.Proto3.TestMessagesProto3Reflection.Descriptor.MessageTypes[0]; }
275    }
276
277    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
278    pbr::MessageDescriptor pb::IMessage.Descriptor {
279      get { return Descriptor; }
280    }
281
282    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
283    public TestAllTypesProto3() {
284      OnConstruction();
285    }
286
287    partial void OnConstruction();
288
289    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
290    public TestAllTypesProto3(TestAllTypesProto3 other) : this() {
291      optionalInt32_ = other.optionalInt32_;
292      optionalInt64_ = other.optionalInt64_;
293      optionalUint32_ = other.optionalUint32_;
294      optionalUint64_ = other.optionalUint64_;
295      optionalSint32_ = other.optionalSint32_;
296      optionalSint64_ = other.optionalSint64_;
297      optionalFixed32_ = other.optionalFixed32_;
298      optionalFixed64_ = other.optionalFixed64_;
299      optionalSfixed32_ = other.optionalSfixed32_;
300      optionalSfixed64_ = other.optionalSfixed64_;
301      optionalFloat_ = other.optionalFloat_;
302      optionalDouble_ = other.optionalDouble_;
303      optionalBool_ = other.optionalBool_;
304      optionalString_ = other.optionalString_;
305      optionalBytes_ = other.optionalBytes_;
306      optionalNestedMessage_ = other.optionalNestedMessage_ != null ? other.optionalNestedMessage_.Clone() : null;
307      optionalForeignMessage_ = other.optionalForeignMessage_ != null ? other.optionalForeignMessage_.Clone() : null;
308      optionalNestedEnum_ = other.optionalNestedEnum_;
309      optionalForeignEnum_ = other.optionalForeignEnum_;
310      optionalAliasedEnum_ = other.optionalAliasedEnum_;
311      optionalStringPiece_ = other.optionalStringPiece_;
312      optionalCord_ = other.optionalCord_;
313      recursiveMessage_ = other.recursiveMessage_ != null ? other.recursiveMessage_.Clone() : null;
314      repeatedInt32_ = other.repeatedInt32_.Clone();
315      repeatedInt64_ = other.repeatedInt64_.Clone();
316      repeatedUint32_ = other.repeatedUint32_.Clone();
317      repeatedUint64_ = other.repeatedUint64_.Clone();
318      repeatedSint32_ = other.repeatedSint32_.Clone();
319      repeatedSint64_ = other.repeatedSint64_.Clone();
320      repeatedFixed32_ = other.repeatedFixed32_.Clone();
321      repeatedFixed64_ = other.repeatedFixed64_.Clone();
322      repeatedSfixed32_ = other.repeatedSfixed32_.Clone();
323      repeatedSfixed64_ = other.repeatedSfixed64_.Clone();
324      repeatedFloat_ = other.repeatedFloat_.Clone();
325      repeatedDouble_ = other.repeatedDouble_.Clone();
326      repeatedBool_ = other.repeatedBool_.Clone();
327      repeatedString_ = other.repeatedString_.Clone();
328      repeatedBytes_ = other.repeatedBytes_.Clone();
329      repeatedNestedMessage_ = other.repeatedNestedMessage_.Clone();
330      repeatedForeignMessage_ = other.repeatedForeignMessage_.Clone();
331      repeatedNestedEnum_ = other.repeatedNestedEnum_.Clone();
332      repeatedForeignEnum_ = other.repeatedForeignEnum_.Clone();
333      repeatedStringPiece_ = other.repeatedStringPiece_.Clone();
334      repeatedCord_ = other.repeatedCord_.Clone();
335      packedInt32_ = other.packedInt32_.Clone();
336      packedInt64_ = other.packedInt64_.Clone();
337      packedUint32_ = other.packedUint32_.Clone();
338      packedUint64_ = other.packedUint64_.Clone();
339      packedSint32_ = other.packedSint32_.Clone();
340      packedSint64_ = other.packedSint64_.Clone();
341      packedFixed32_ = other.packedFixed32_.Clone();
342      packedFixed64_ = other.packedFixed64_.Clone();
343      packedSfixed32_ = other.packedSfixed32_.Clone();
344      packedSfixed64_ = other.packedSfixed64_.Clone();
345      packedFloat_ = other.packedFloat_.Clone();
346      packedDouble_ = other.packedDouble_.Clone();
347      packedBool_ = other.packedBool_.Clone();
348      packedNestedEnum_ = other.packedNestedEnum_.Clone();
349      unpackedInt32_ = other.unpackedInt32_.Clone();
350      unpackedInt64_ = other.unpackedInt64_.Clone();
351      unpackedUint32_ = other.unpackedUint32_.Clone();
352      unpackedUint64_ = other.unpackedUint64_.Clone();
353      unpackedSint32_ = other.unpackedSint32_.Clone();
354      unpackedSint64_ = other.unpackedSint64_.Clone();
355      unpackedFixed32_ = other.unpackedFixed32_.Clone();
356      unpackedFixed64_ = other.unpackedFixed64_.Clone();
357      unpackedSfixed32_ = other.unpackedSfixed32_.Clone();
358      unpackedSfixed64_ = other.unpackedSfixed64_.Clone();
359      unpackedFloat_ = other.unpackedFloat_.Clone();
360      unpackedDouble_ = other.unpackedDouble_.Clone();
361      unpackedBool_ = other.unpackedBool_.Clone();
362      unpackedNestedEnum_ = other.unpackedNestedEnum_.Clone();
363      mapInt32Int32_ = other.mapInt32Int32_.Clone();
364      mapInt64Int64_ = other.mapInt64Int64_.Clone();
365      mapUint32Uint32_ = other.mapUint32Uint32_.Clone();
366      mapUint64Uint64_ = other.mapUint64Uint64_.Clone();
367      mapSint32Sint32_ = other.mapSint32Sint32_.Clone();
368      mapSint64Sint64_ = other.mapSint64Sint64_.Clone();
369      mapFixed32Fixed32_ = other.mapFixed32Fixed32_.Clone();
370      mapFixed64Fixed64_ = other.mapFixed64Fixed64_.Clone();
371      mapSfixed32Sfixed32_ = other.mapSfixed32Sfixed32_.Clone();
372      mapSfixed64Sfixed64_ = other.mapSfixed64Sfixed64_.Clone();
373      mapInt32Float_ = other.mapInt32Float_.Clone();
374      mapInt32Double_ = other.mapInt32Double_.Clone();
375      mapBoolBool_ = other.mapBoolBool_.Clone();
376      mapStringString_ = other.mapStringString_.Clone();
377      mapStringBytes_ = other.mapStringBytes_.Clone();
378      mapStringNestedMessage_ = other.mapStringNestedMessage_.Clone();
379      mapStringForeignMessage_ = other.mapStringForeignMessage_.Clone();
380      mapStringNestedEnum_ = other.mapStringNestedEnum_.Clone();
381      mapStringForeignEnum_ = other.mapStringForeignEnum_.Clone();
382      OptionalBoolWrapper = other.OptionalBoolWrapper;
383      OptionalInt32Wrapper = other.OptionalInt32Wrapper;
384      OptionalInt64Wrapper = other.OptionalInt64Wrapper;
385      OptionalUint32Wrapper = other.OptionalUint32Wrapper;
386      OptionalUint64Wrapper = other.OptionalUint64Wrapper;
387      OptionalFloatWrapper = other.OptionalFloatWrapper;
388      OptionalDoubleWrapper = other.OptionalDoubleWrapper;
389      OptionalStringWrapper = other.OptionalStringWrapper;
390      OptionalBytesWrapper = other.OptionalBytesWrapper;
391      repeatedBoolWrapper_ = other.repeatedBoolWrapper_.Clone();
392      repeatedInt32Wrapper_ = other.repeatedInt32Wrapper_.Clone();
393      repeatedInt64Wrapper_ = other.repeatedInt64Wrapper_.Clone();
394      repeatedUint32Wrapper_ = other.repeatedUint32Wrapper_.Clone();
395      repeatedUint64Wrapper_ = other.repeatedUint64Wrapper_.Clone();
396      repeatedFloatWrapper_ = other.repeatedFloatWrapper_.Clone();
397      repeatedDoubleWrapper_ = other.repeatedDoubleWrapper_.Clone();
398      repeatedStringWrapper_ = other.repeatedStringWrapper_.Clone();
399      repeatedBytesWrapper_ = other.repeatedBytesWrapper_.Clone();
400      optionalDuration_ = other.optionalDuration_ != null ? other.optionalDuration_.Clone() : null;
401      optionalTimestamp_ = other.optionalTimestamp_ != null ? other.optionalTimestamp_.Clone() : null;
402      optionalFieldMask_ = other.optionalFieldMask_ != null ? other.optionalFieldMask_.Clone() : null;
403      optionalStruct_ = other.optionalStruct_ != null ? other.optionalStruct_.Clone() : null;
404      optionalAny_ = other.optionalAny_ != null ? other.optionalAny_.Clone() : null;
405      optionalValue_ = other.optionalValue_ != null ? other.optionalValue_.Clone() : null;
406      repeatedDuration_ = other.repeatedDuration_.Clone();
407      repeatedTimestamp_ = other.repeatedTimestamp_.Clone();
408      repeatedFieldmask_ = other.repeatedFieldmask_.Clone();
409      repeatedStruct_ = other.repeatedStruct_.Clone();
410      repeatedAny_ = other.repeatedAny_.Clone();
411      repeatedValue_ = other.repeatedValue_.Clone();
412      repeatedListValue_ = other.repeatedListValue_.Clone();
413      fieldname1_ = other.fieldname1_;
414      fieldName2_ = other.fieldName2_;
415      FieldName3_ = other.FieldName3_;
416      fieldName4_ = other.fieldName4_;
417      field0Name5_ = other.field0Name5_;
418      field0Name6_ = other.field0Name6_;
419      fieldName7_ = other.fieldName7_;
420      fieldName8_ = other.fieldName8_;
421      fieldName9_ = other.fieldName9_;
422      fieldName10_ = other.fieldName10_;
423      fIELDNAME11_ = other.fIELDNAME11_;
424      fIELDName12_ = other.fIELDName12_;
425      FieldName13_ = other.FieldName13_;
426      FieldName14_ = other.FieldName14_;
427      fieldName15_ = other.fieldName15_;
428      fieldName16_ = other.fieldName16_;
429      fieldName17_ = other.fieldName17_;
430      fieldName18_ = other.fieldName18_;
431      switch (other.OneofFieldCase) {
432        case OneofFieldOneofCase.OneofUint32:
433          OneofUint32 = other.OneofUint32;
434          break;
435        case OneofFieldOneofCase.OneofNestedMessage:
436          OneofNestedMessage = other.OneofNestedMessage.Clone();
437          break;
438        case OneofFieldOneofCase.OneofString:
439          OneofString = other.OneofString;
440          break;
441        case OneofFieldOneofCase.OneofBytes:
442          OneofBytes = other.OneofBytes;
443          break;
444        case OneofFieldOneofCase.OneofBool:
445          OneofBool = other.OneofBool;
446          break;
447        case OneofFieldOneofCase.OneofUint64:
448          OneofUint64 = other.OneofUint64;
449          break;
450        case OneofFieldOneofCase.OneofFloat:
451          OneofFloat = other.OneofFloat;
452          break;
453        case OneofFieldOneofCase.OneofDouble:
454          OneofDouble = other.OneofDouble;
455          break;
456        case OneofFieldOneofCase.OneofEnum:
457          OneofEnum = other.OneofEnum;
458          break;
459      }
460
461      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
462    }
463
464    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
465    public TestAllTypesProto3 Clone() {
466      return new TestAllTypesProto3(this);
467    }
468
469    /// <summary>Field number for the "optional_int32" field.</summary>
470    public const int OptionalInt32FieldNumber = 1;
471    private int optionalInt32_;
472    /// <summary>
473    /// Singular
474    /// </summary>
475    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
476    public int OptionalInt32 {
477      get { return optionalInt32_; }
478      set {
479        optionalInt32_ = value;
480      }
481    }
482
483    /// <summary>Field number for the "optional_int64" field.</summary>
484    public const int OptionalInt64FieldNumber = 2;
485    private long optionalInt64_;
486    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
487    public long OptionalInt64 {
488      get { return optionalInt64_; }
489      set {
490        optionalInt64_ = value;
491      }
492    }
493
494    /// <summary>Field number for the "optional_uint32" field.</summary>
495    public const int OptionalUint32FieldNumber = 3;
496    private uint optionalUint32_;
497    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
498    public uint OptionalUint32 {
499      get { return optionalUint32_; }
500      set {
501        optionalUint32_ = value;
502      }
503    }
504
505    /// <summary>Field number for the "optional_uint64" field.</summary>
506    public const int OptionalUint64FieldNumber = 4;
507    private ulong optionalUint64_;
508    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
509    public ulong OptionalUint64 {
510      get { return optionalUint64_; }
511      set {
512        optionalUint64_ = value;
513      }
514    }
515
516    /// <summary>Field number for the "optional_sint32" field.</summary>
517    public const int OptionalSint32FieldNumber = 5;
518    private int optionalSint32_;
519    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
520    public int OptionalSint32 {
521      get { return optionalSint32_; }
522      set {
523        optionalSint32_ = value;
524      }
525    }
526
527    /// <summary>Field number for the "optional_sint64" field.</summary>
528    public const int OptionalSint64FieldNumber = 6;
529    private long optionalSint64_;
530    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
531    public long OptionalSint64 {
532      get { return optionalSint64_; }
533      set {
534        optionalSint64_ = value;
535      }
536    }
537
538    /// <summary>Field number for the "optional_fixed32" field.</summary>
539    public const int OptionalFixed32FieldNumber = 7;
540    private uint optionalFixed32_;
541    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
542    public uint OptionalFixed32 {
543      get { return optionalFixed32_; }
544      set {
545        optionalFixed32_ = value;
546      }
547    }
548
549    /// <summary>Field number for the "optional_fixed64" field.</summary>
550    public const int OptionalFixed64FieldNumber = 8;
551    private ulong optionalFixed64_;
552    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
553    public ulong OptionalFixed64 {
554      get { return optionalFixed64_; }
555      set {
556        optionalFixed64_ = value;
557      }
558    }
559
560    /// <summary>Field number for the "optional_sfixed32" field.</summary>
561    public const int OptionalSfixed32FieldNumber = 9;
562    private int optionalSfixed32_;
563    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
564    public int OptionalSfixed32 {
565      get { return optionalSfixed32_; }
566      set {
567        optionalSfixed32_ = value;
568      }
569    }
570
571    /// <summary>Field number for the "optional_sfixed64" field.</summary>
572    public const int OptionalSfixed64FieldNumber = 10;
573    private long optionalSfixed64_;
574    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
575    public long OptionalSfixed64 {
576      get { return optionalSfixed64_; }
577      set {
578        optionalSfixed64_ = value;
579      }
580    }
581
582    /// <summary>Field number for the "optional_float" field.</summary>
583    public const int OptionalFloatFieldNumber = 11;
584    private float optionalFloat_;
585    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
586    public float OptionalFloat {
587      get { return optionalFloat_; }
588      set {
589        optionalFloat_ = value;
590      }
591    }
592
593    /// <summary>Field number for the "optional_double" field.</summary>
594    public const int OptionalDoubleFieldNumber = 12;
595    private double optionalDouble_;
596    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
597    public double OptionalDouble {
598      get { return optionalDouble_; }
599      set {
600        optionalDouble_ = value;
601      }
602    }
603
604    /// <summary>Field number for the "optional_bool" field.</summary>
605    public const int OptionalBoolFieldNumber = 13;
606    private bool optionalBool_;
607    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
608    public bool OptionalBool {
609      get { return optionalBool_; }
610      set {
611        optionalBool_ = value;
612      }
613    }
614
615    /// <summary>Field number for the "optional_string" field.</summary>
616    public const int OptionalStringFieldNumber = 14;
617    private string optionalString_ = "";
618    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
619    public string OptionalString {
620      get { return optionalString_; }
621      set {
622        optionalString_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
623      }
624    }
625
626    /// <summary>Field number for the "optional_bytes" field.</summary>
627    public const int OptionalBytesFieldNumber = 15;
628    private pb::ByteString optionalBytes_ = pb::ByteString.Empty;
629    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
630    public pb::ByteString OptionalBytes {
631      get { return optionalBytes_; }
632      set {
633        optionalBytes_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
634      }
635    }
636
637    /// <summary>Field number for the "optional_nested_message" field.</summary>
638    public const int OptionalNestedMessageFieldNumber = 18;
639    private global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage optionalNestedMessage_;
640    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
641    public global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage OptionalNestedMessage {
642      get { return optionalNestedMessage_; }
643      set {
644        optionalNestedMessage_ = value;
645      }
646    }
647
648    /// <summary>Field number for the "optional_foreign_message" field.</summary>
649    public const int OptionalForeignMessageFieldNumber = 19;
650    private global::ProtobufTestMessages.Proto3.ForeignMessage optionalForeignMessage_;
651    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
652    public global::ProtobufTestMessages.Proto3.ForeignMessage OptionalForeignMessage {
653      get { return optionalForeignMessage_; }
654      set {
655        optionalForeignMessage_ = value;
656      }
657    }
658
659    /// <summary>Field number for the "optional_nested_enum" field.</summary>
660    public const int OptionalNestedEnumFieldNumber = 21;
661    private global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum optionalNestedEnum_ = global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum.Foo;
662    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
663    public global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum OptionalNestedEnum {
664      get { return optionalNestedEnum_; }
665      set {
666        optionalNestedEnum_ = value;
667      }
668    }
669
670    /// <summary>Field number for the "optional_foreign_enum" field.</summary>
671    public const int OptionalForeignEnumFieldNumber = 22;
672    private global::ProtobufTestMessages.Proto3.ForeignEnum optionalForeignEnum_ = global::ProtobufTestMessages.Proto3.ForeignEnum.ForeignFoo;
673    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
674    public global::ProtobufTestMessages.Proto3.ForeignEnum OptionalForeignEnum {
675      get { return optionalForeignEnum_; }
676      set {
677        optionalForeignEnum_ = value;
678      }
679    }
680
681    /// <summary>Field number for the "optional_aliased_enum" field.</summary>
682    public const int OptionalAliasedEnumFieldNumber = 23;
683    private global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.AliasedEnum optionalAliasedEnum_ = global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.AliasedEnum.AliasFoo;
684    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
685    public global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.AliasedEnum OptionalAliasedEnum {
686      get { return optionalAliasedEnum_; }
687      set {
688        optionalAliasedEnum_ = value;
689      }
690    }
691
692    /// <summary>Field number for the "optional_string_piece" field.</summary>
693    public const int OptionalStringPieceFieldNumber = 24;
694    private string optionalStringPiece_ = "";
695    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
696    public string OptionalStringPiece {
697      get { return optionalStringPiece_; }
698      set {
699        optionalStringPiece_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
700      }
701    }
702
703    /// <summary>Field number for the "optional_cord" field.</summary>
704    public const int OptionalCordFieldNumber = 25;
705    private string optionalCord_ = "";
706    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
707    public string OptionalCord {
708      get { return optionalCord_; }
709      set {
710        optionalCord_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
711      }
712    }
713
714    /// <summary>Field number for the "recursive_message" field.</summary>
715    public const int RecursiveMessageFieldNumber = 27;
716    private global::ProtobufTestMessages.Proto3.TestAllTypesProto3 recursiveMessage_;
717    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
718    public global::ProtobufTestMessages.Proto3.TestAllTypesProto3 RecursiveMessage {
719      get { return recursiveMessage_; }
720      set {
721        recursiveMessage_ = value;
722      }
723    }
724
725    /// <summary>Field number for the "repeated_int32" field.</summary>
726    public const int RepeatedInt32FieldNumber = 31;
727    private static readonly pb::FieldCodec<int> _repeated_repeatedInt32_codec
728        = pb::FieldCodec.ForInt32(250);
729    private readonly pbc::RepeatedField<int> repeatedInt32_ = new pbc::RepeatedField<int>();
730    /// <summary>
731    /// Repeated
732    /// </summary>
733    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
734    public pbc::RepeatedField<int> RepeatedInt32 {
735      get { return repeatedInt32_; }
736    }
737
738    /// <summary>Field number for the "repeated_int64" field.</summary>
739    public const int RepeatedInt64FieldNumber = 32;
740    private static readonly pb::FieldCodec<long> _repeated_repeatedInt64_codec
741        = pb::FieldCodec.ForInt64(258);
742    private readonly pbc::RepeatedField<long> repeatedInt64_ = new pbc::RepeatedField<long>();
743    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
744    public pbc::RepeatedField<long> RepeatedInt64 {
745      get { return repeatedInt64_; }
746    }
747
748    /// <summary>Field number for the "repeated_uint32" field.</summary>
749    public const int RepeatedUint32FieldNumber = 33;
750    private static readonly pb::FieldCodec<uint> _repeated_repeatedUint32_codec
751        = pb::FieldCodec.ForUInt32(266);
752    private readonly pbc::RepeatedField<uint> repeatedUint32_ = new pbc::RepeatedField<uint>();
753    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
754    public pbc::RepeatedField<uint> RepeatedUint32 {
755      get { return repeatedUint32_; }
756    }
757
758    /// <summary>Field number for the "repeated_uint64" field.</summary>
759    public const int RepeatedUint64FieldNumber = 34;
760    private static readonly pb::FieldCodec<ulong> _repeated_repeatedUint64_codec
761        = pb::FieldCodec.ForUInt64(274);
762    private readonly pbc::RepeatedField<ulong> repeatedUint64_ = new pbc::RepeatedField<ulong>();
763    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
764    public pbc::RepeatedField<ulong> RepeatedUint64 {
765      get { return repeatedUint64_; }
766    }
767
768    /// <summary>Field number for the "repeated_sint32" field.</summary>
769    public const int RepeatedSint32FieldNumber = 35;
770    private static readonly pb::FieldCodec<int> _repeated_repeatedSint32_codec
771        = pb::FieldCodec.ForSInt32(282);
772    private readonly pbc::RepeatedField<int> repeatedSint32_ = new pbc::RepeatedField<int>();
773    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
774    public pbc::RepeatedField<int> RepeatedSint32 {
775      get { return repeatedSint32_; }
776    }
777
778    /// <summary>Field number for the "repeated_sint64" field.</summary>
779    public const int RepeatedSint64FieldNumber = 36;
780    private static readonly pb::FieldCodec<long> _repeated_repeatedSint64_codec
781        = pb::FieldCodec.ForSInt64(290);
782    private readonly pbc::RepeatedField<long> repeatedSint64_ = new pbc::RepeatedField<long>();
783    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
784    public pbc::RepeatedField<long> RepeatedSint64 {
785      get { return repeatedSint64_; }
786    }
787
788    /// <summary>Field number for the "repeated_fixed32" field.</summary>
789    public const int RepeatedFixed32FieldNumber = 37;
790    private static readonly pb::FieldCodec<uint> _repeated_repeatedFixed32_codec
791        = pb::FieldCodec.ForFixed32(298);
792    private readonly pbc::RepeatedField<uint> repeatedFixed32_ = new pbc::RepeatedField<uint>();
793    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
794    public pbc::RepeatedField<uint> RepeatedFixed32 {
795      get { return repeatedFixed32_; }
796    }
797
798    /// <summary>Field number for the "repeated_fixed64" field.</summary>
799    public const int RepeatedFixed64FieldNumber = 38;
800    private static readonly pb::FieldCodec<ulong> _repeated_repeatedFixed64_codec
801        = pb::FieldCodec.ForFixed64(306);
802    private readonly pbc::RepeatedField<ulong> repeatedFixed64_ = new pbc::RepeatedField<ulong>();
803    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
804    public pbc::RepeatedField<ulong> RepeatedFixed64 {
805      get { return repeatedFixed64_; }
806    }
807
808    /// <summary>Field number for the "repeated_sfixed32" field.</summary>
809    public const int RepeatedSfixed32FieldNumber = 39;
810    private static readonly pb::FieldCodec<int> _repeated_repeatedSfixed32_codec
811        = pb::FieldCodec.ForSFixed32(314);
812    private readonly pbc::RepeatedField<int> repeatedSfixed32_ = new pbc::RepeatedField<int>();
813    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
814    public pbc::RepeatedField<int> RepeatedSfixed32 {
815      get { return repeatedSfixed32_; }
816    }
817
818    /// <summary>Field number for the "repeated_sfixed64" field.</summary>
819    public const int RepeatedSfixed64FieldNumber = 40;
820    private static readonly pb::FieldCodec<long> _repeated_repeatedSfixed64_codec
821        = pb::FieldCodec.ForSFixed64(322);
822    private readonly pbc::RepeatedField<long> repeatedSfixed64_ = new pbc::RepeatedField<long>();
823    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
824    public pbc::RepeatedField<long> RepeatedSfixed64 {
825      get { return repeatedSfixed64_; }
826    }
827
828    /// <summary>Field number for the "repeated_float" field.</summary>
829    public const int RepeatedFloatFieldNumber = 41;
830    private static readonly pb::FieldCodec<float> _repeated_repeatedFloat_codec
831        = pb::FieldCodec.ForFloat(330);
832    private readonly pbc::RepeatedField<float> repeatedFloat_ = new pbc::RepeatedField<float>();
833    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
834    public pbc::RepeatedField<float> RepeatedFloat {
835      get { return repeatedFloat_; }
836    }
837
838    /// <summary>Field number for the "repeated_double" field.</summary>
839    public const int RepeatedDoubleFieldNumber = 42;
840    private static readonly pb::FieldCodec<double> _repeated_repeatedDouble_codec
841        = pb::FieldCodec.ForDouble(338);
842    private readonly pbc::RepeatedField<double> repeatedDouble_ = new pbc::RepeatedField<double>();
843    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
844    public pbc::RepeatedField<double> RepeatedDouble {
845      get { return repeatedDouble_; }
846    }
847
848    /// <summary>Field number for the "repeated_bool" field.</summary>
849    public const int RepeatedBoolFieldNumber = 43;
850    private static readonly pb::FieldCodec<bool> _repeated_repeatedBool_codec
851        = pb::FieldCodec.ForBool(346);
852    private readonly pbc::RepeatedField<bool> repeatedBool_ = new pbc::RepeatedField<bool>();
853    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
854    public pbc::RepeatedField<bool> RepeatedBool {
855      get { return repeatedBool_; }
856    }
857
858    /// <summary>Field number for the "repeated_string" field.</summary>
859    public const int RepeatedStringFieldNumber = 44;
860    private static readonly pb::FieldCodec<string> _repeated_repeatedString_codec
861        = pb::FieldCodec.ForString(354);
862    private readonly pbc::RepeatedField<string> repeatedString_ = new pbc::RepeatedField<string>();
863    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
864    public pbc::RepeatedField<string> RepeatedString {
865      get { return repeatedString_; }
866    }
867
868    /// <summary>Field number for the "repeated_bytes" field.</summary>
869    public const int RepeatedBytesFieldNumber = 45;
870    private static readonly pb::FieldCodec<pb::ByteString> _repeated_repeatedBytes_codec
871        = pb::FieldCodec.ForBytes(362);
872    private readonly pbc::RepeatedField<pb::ByteString> repeatedBytes_ = new pbc::RepeatedField<pb::ByteString>();
873    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
874    public pbc::RepeatedField<pb::ByteString> RepeatedBytes {
875      get { return repeatedBytes_; }
876    }
877
878    /// <summary>Field number for the "repeated_nested_message" field.</summary>
879    public const int RepeatedNestedMessageFieldNumber = 48;
880    private static readonly pb::FieldCodec<global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage> _repeated_repeatedNestedMessage_codec
881        = pb::FieldCodec.ForMessage(386, global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage.Parser);
882    private readonly pbc::RepeatedField<global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage> repeatedNestedMessage_ = new pbc::RepeatedField<global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage>();
883    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
884    public pbc::RepeatedField<global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage> RepeatedNestedMessage {
885      get { return repeatedNestedMessage_; }
886    }
887
888    /// <summary>Field number for the "repeated_foreign_message" field.</summary>
889    public const int RepeatedForeignMessageFieldNumber = 49;
890    private static readonly pb::FieldCodec<global::ProtobufTestMessages.Proto3.ForeignMessage> _repeated_repeatedForeignMessage_codec
891        = pb::FieldCodec.ForMessage(394, global::ProtobufTestMessages.Proto3.ForeignMessage.Parser);
892    private readonly pbc::RepeatedField<global::ProtobufTestMessages.Proto3.ForeignMessage> repeatedForeignMessage_ = new pbc::RepeatedField<global::ProtobufTestMessages.Proto3.ForeignMessage>();
893    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
894    public pbc::RepeatedField<global::ProtobufTestMessages.Proto3.ForeignMessage> RepeatedForeignMessage {
895      get { return repeatedForeignMessage_; }
896    }
897
898    /// <summary>Field number for the "repeated_nested_enum" field.</summary>
899    public const int RepeatedNestedEnumFieldNumber = 51;
900    private static readonly pb::FieldCodec<global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum> _repeated_repeatedNestedEnum_codec
901        = pb::FieldCodec.ForEnum(410, x => (int) x, x => (global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum) x);
902    private readonly pbc::RepeatedField<global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum> repeatedNestedEnum_ = new pbc::RepeatedField<global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum>();
903    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
904    public pbc::RepeatedField<global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum> RepeatedNestedEnum {
905      get { return repeatedNestedEnum_; }
906    }
907
908    /// <summary>Field number for the "repeated_foreign_enum" field.</summary>
909    public const int RepeatedForeignEnumFieldNumber = 52;
910    private static readonly pb::FieldCodec<global::ProtobufTestMessages.Proto3.ForeignEnum> _repeated_repeatedForeignEnum_codec
911        = pb::FieldCodec.ForEnum(418, x => (int) x, x => (global::ProtobufTestMessages.Proto3.ForeignEnum) x);
912    private readonly pbc::RepeatedField<global::ProtobufTestMessages.Proto3.ForeignEnum> repeatedForeignEnum_ = new pbc::RepeatedField<global::ProtobufTestMessages.Proto3.ForeignEnum>();
913    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
914    public pbc::RepeatedField<global::ProtobufTestMessages.Proto3.ForeignEnum> RepeatedForeignEnum {
915      get { return repeatedForeignEnum_; }
916    }
917
918    /// <summary>Field number for the "repeated_string_piece" field.</summary>
919    public const int RepeatedStringPieceFieldNumber = 54;
920    private static readonly pb::FieldCodec<string> _repeated_repeatedStringPiece_codec
921        = pb::FieldCodec.ForString(434);
922    private readonly pbc::RepeatedField<string> repeatedStringPiece_ = new pbc::RepeatedField<string>();
923    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
924    public pbc::RepeatedField<string> RepeatedStringPiece {
925      get { return repeatedStringPiece_; }
926    }
927
928    /// <summary>Field number for the "repeated_cord" field.</summary>
929    public const int RepeatedCordFieldNumber = 55;
930    private static readonly pb::FieldCodec<string> _repeated_repeatedCord_codec
931        = pb::FieldCodec.ForString(442);
932    private readonly pbc::RepeatedField<string> repeatedCord_ = new pbc::RepeatedField<string>();
933    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
934    public pbc::RepeatedField<string> RepeatedCord {
935      get { return repeatedCord_; }
936    }
937
938    /// <summary>Field number for the "packed_int32" field.</summary>
939    public const int PackedInt32FieldNumber = 75;
940    private static readonly pb::FieldCodec<int> _repeated_packedInt32_codec
941        = pb::FieldCodec.ForInt32(602);
942    private readonly pbc::RepeatedField<int> packedInt32_ = new pbc::RepeatedField<int>();
943    /// <summary>
944    /// Packed
945    /// </summary>
946    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
947    public pbc::RepeatedField<int> PackedInt32 {
948      get { return packedInt32_; }
949    }
950
951    /// <summary>Field number for the "packed_int64" field.</summary>
952    public const int PackedInt64FieldNumber = 76;
953    private static readonly pb::FieldCodec<long> _repeated_packedInt64_codec
954        = pb::FieldCodec.ForInt64(610);
955    private readonly pbc::RepeatedField<long> packedInt64_ = new pbc::RepeatedField<long>();
956    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
957    public pbc::RepeatedField<long> PackedInt64 {
958      get { return packedInt64_; }
959    }
960
961    /// <summary>Field number for the "packed_uint32" field.</summary>
962    public const int PackedUint32FieldNumber = 77;
963    private static readonly pb::FieldCodec<uint> _repeated_packedUint32_codec
964        = pb::FieldCodec.ForUInt32(618);
965    private readonly pbc::RepeatedField<uint> packedUint32_ = new pbc::RepeatedField<uint>();
966    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
967    public pbc::RepeatedField<uint> PackedUint32 {
968      get { return packedUint32_; }
969    }
970
971    /// <summary>Field number for the "packed_uint64" field.</summary>
972    public const int PackedUint64FieldNumber = 78;
973    private static readonly pb::FieldCodec<ulong> _repeated_packedUint64_codec
974        = pb::FieldCodec.ForUInt64(626);
975    private readonly pbc::RepeatedField<ulong> packedUint64_ = new pbc::RepeatedField<ulong>();
976    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
977    public pbc::RepeatedField<ulong> PackedUint64 {
978      get { return packedUint64_; }
979    }
980
981    /// <summary>Field number for the "packed_sint32" field.</summary>
982    public const int PackedSint32FieldNumber = 79;
983    private static readonly pb::FieldCodec<int> _repeated_packedSint32_codec
984        = pb::FieldCodec.ForSInt32(634);
985    private readonly pbc::RepeatedField<int> packedSint32_ = new pbc::RepeatedField<int>();
986    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
987    public pbc::RepeatedField<int> PackedSint32 {
988      get { return packedSint32_; }
989    }
990
991    /// <summary>Field number for the "packed_sint64" field.</summary>
992    public const int PackedSint64FieldNumber = 80;
993    private static readonly pb::FieldCodec<long> _repeated_packedSint64_codec
994        = pb::FieldCodec.ForSInt64(642);
995    private readonly pbc::RepeatedField<long> packedSint64_ = new pbc::RepeatedField<long>();
996    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
997    public pbc::RepeatedField<long> PackedSint64 {
998      get { return packedSint64_; }
999    }
1000
1001    /// <summary>Field number for the "packed_fixed32" field.</summary>
1002    public const int PackedFixed32FieldNumber = 81;
1003    private static readonly pb::FieldCodec<uint> _repeated_packedFixed32_codec
1004        = pb::FieldCodec.ForFixed32(650);
1005    private readonly pbc::RepeatedField<uint> packedFixed32_ = new pbc::RepeatedField<uint>();
1006    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1007    public pbc::RepeatedField<uint> PackedFixed32 {
1008      get { return packedFixed32_; }
1009    }
1010
1011    /// <summary>Field number for the "packed_fixed64" field.</summary>
1012    public const int PackedFixed64FieldNumber = 82;
1013    private static readonly pb::FieldCodec<ulong> _repeated_packedFixed64_codec
1014        = pb::FieldCodec.ForFixed64(658);
1015    private readonly pbc::RepeatedField<ulong> packedFixed64_ = new pbc::RepeatedField<ulong>();
1016    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1017    public pbc::RepeatedField<ulong> PackedFixed64 {
1018      get { return packedFixed64_; }
1019    }
1020
1021    /// <summary>Field number for the "packed_sfixed32" field.</summary>
1022    public const int PackedSfixed32FieldNumber = 83;
1023    private static readonly pb::FieldCodec<int> _repeated_packedSfixed32_codec
1024        = pb::FieldCodec.ForSFixed32(666);
1025    private readonly pbc::RepeatedField<int> packedSfixed32_ = new pbc::RepeatedField<int>();
1026    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1027    public pbc::RepeatedField<int> PackedSfixed32 {
1028      get { return packedSfixed32_; }
1029    }
1030
1031    /// <summary>Field number for the "packed_sfixed64" field.</summary>
1032    public const int PackedSfixed64FieldNumber = 84;
1033    private static readonly pb::FieldCodec<long> _repeated_packedSfixed64_codec
1034        = pb::FieldCodec.ForSFixed64(674);
1035    private readonly pbc::RepeatedField<long> packedSfixed64_ = new pbc::RepeatedField<long>();
1036    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1037    public pbc::RepeatedField<long> PackedSfixed64 {
1038      get { return packedSfixed64_; }
1039    }
1040
1041    /// <summary>Field number for the "packed_float" field.</summary>
1042    public const int PackedFloatFieldNumber = 85;
1043    private static readonly pb::FieldCodec<float> _repeated_packedFloat_codec
1044        = pb::FieldCodec.ForFloat(682);
1045    private readonly pbc::RepeatedField<float> packedFloat_ = new pbc::RepeatedField<float>();
1046    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1047    public pbc::RepeatedField<float> PackedFloat {
1048      get { return packedFloat_; }
1049    }
1050
1051    /// <summary>Field number for the "packed_double" field.</summary>
1052    public const int PackedDoubleFieldNumber = 86;
1053    private static readonly pb::FieldCodec<double> _repeated_packedDouble_codec
1054        = pb::FieldCodec.ForDouble(690);
1055    private readonly pbc::RepeatedField<double> packedDouble_ = new pbc::RepeatedField<double>();
1056    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1057    public pbc::RepeatedField<double> PackedDouble {
1058      get { return packedDouble_; }
1059    }
1060
1061    /// <summary>Field number for the "packed_bool" field.</summary>
1062    public const int PackedBoolFieldNumber = 87;
1063    private static readonly pb::FieldCodec<bool> _repeated_packedBool_codec
1064        = pb::FieldCodec.ForBool(698);
1065    private readonly pbc::RepeatedField<bool> packedBool_ = new pbc::RepeatedField<bool>();
1066    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1067    public pbc::RepeatedField<bool> PackedBool {
1068      get { return packedBool_; }
1069    }
1070
1071    /// <summary>Field number for the "packed_nested_enum" field.</summary>
1072    public const int PackedNestedEnumFieldNumber = 88;
1073    private static readonly pb::FieldCodec<global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum> _repeated_packedNestedEnum_codec
1074        = pb::FieldCodec.ForEnum(706, x => (int) x, x => (global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum) x);
1075    private readonly pbc::RepeatedField<global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum> packedNestedEnum_ = new pbc::RepeatedField<global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum>();
1076    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1077    public pbc::RepeatedField<global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum> PackedNestedEnum {
1078      get { return packedNestedEnum_; }
1079    }
1080
1081    /// <summary>Field number for the "unpacked_int32" field.</summary>
1082    public const int UnpackedInt32FieldNumber = 89;
1083    private static readonly pb::FieldCodec<int> _repeated_unpackedInt32_codec
1084        = pb::FieldCodec.ForInt32(712);
1085    private readonly pbc::RepeatedField<int> unpackedInt32_ = new pbc::RepeatedField<int>();
1086    /// <summary>
1087    /// Unpacked
1088    /// </summary>
1089    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1090    public pbc::RepeatedField<int> UnpackedInt32 {
1091      get { return unpackedInt32_; }
1092    }
1093
1094    /// <summary>Field number for the "unpacked_int64" field.</summary>
1095    public const int UnpackedInt64FieldNumber = 90;
1096    private static readonly pb::FieldCodec<long> _repeated_unpackedInt64_codec
1097        = pb::FieldCodec.ForInt64(720);
1098    private readonly pbc::RepeatedField<long> unpackedInt64_ = new pbc::RepeatedField<long>();
1099    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1100    public pbc::RepeatedField<long> UnpackedInt64 {
1101      get { return unpackedInt64_; }
1102    }
1103
1104    /// <summary>Field number for the "unpacked_uint32" field.</summary>
1105    public const int UnpackedUint32FieldNumber = 91;
1106    private static readonly pb::FieldCodec<uint> _repeated_unpackedUint32_codec
1107        = pb::FieldCodec.ForUInt32(728);
1108    private readonly pbc::RepeatedField<uint> unpackedUint32_ = new pbc::RepeatedField<uint>();
1109    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1110    public pbc::RepeatedField<uint> UnpackedUint32 {
1111      get { return unpackedUint32_; }
1112    }
1113
1114    /// <summary>Field number for the "unpacked_uint64" field.</summary>
1115    public const int UnpackedUint64FieldNumber = 92;
1116    private static readonly pb::FieldCodec<ulong> _repeated_unpackedUint64_codec
1117        = pb::FieldCodec.ForUInt64(736);
1118    private readonly pbc::RepeatedField<ulong> unpackedUint64_ = new pbc::RepeatedField<ulong>();
1119    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1120    public pbc::RepeatedField<ulong> UnpackedUint64 {
1121      get { return unpackedUint64_; }
1122    }
1123
1124    /// <summary>Field number for the "unpacked_sint32" field.</summary>
1125    public const int UnpackedSint32FieldNumber = 93;
1126    private static readonly pb::FieldCodec<int> _repeated_unpackedSint32_codec
1127        = pb::FieldCodec.ForSInt32(744);
1128    private readonly pbc::RepeatedField<int> unpackedSint32_ = new pbc::RepeatedField<int>();
1129    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1130    public pbc::RepeatedField<int> UnpackedSint32 {
1131      get { return unpackedSint32_; }
1132    }
1133
1134    /// <summary>Field number for the "unpacked_sint64" field.</summary>
1135    public const int UnpackedSint64FieldNumber = 94;
1136    private static readonly pb::FieldCodec<long> _repeated_unpackedSint64_codec
1137        = pb::FieldCodec.ForSInt64(752);
1138    private readonly pbc::RepeatedField<long> unpackedSint64_ = new pbc::RepeatedField<long>();
1139    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1140    public pbc::RepeatedField<long> UnpackedSint64 {
1141      get { return unpackedSint64_; }
1142    }
1143
1144    /// <summary>Field number for the "unpacked_fixed32" field.</summary>
1145    public const int UnpackedFixed32FieldNumber = 95;
1146    private static readonly pb::FieldCodec<uint> _repeated_unpackedFixed32_codec
1147        = pb::FieldCodec.ForFixed32(765);
1148    private readonly pbc::RepeatedField<uint> unpackedFixed32_ = new pbc::RepeatedField<uint>();
1149    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1150    public pbc::RepeatedField<uint> UnpackedFixed32 {
1151      get { return unpackedFixed32_; }
1152    }
1153
1154    /// <summary>Field number for the "unpacked_fixed64" field.</summary>
1155    public const int UnpackedFixed64FieldNumber = 96;
1156    private static readonly pb::FieldCodec<ulong> _repeated_unpackedFixed64_codec
1157        = pb::FieldCodec.ForFixed64(769);
1158    private readonly pbc::RepeatedField<ulong> unpackedFixed64_ = new pbc::RepeatedField<ulong>();
1159    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1160    public pbc::RepeatedField<ulong> UnpackedFixed64 {
1161      get { return unpackedFixed64_; }
1162    }
1163
1164    /// <summary>Field number for the "unpacked_sfixed32" field.</summary>
1165    public const int UnpackedSfixed32FieldNumber = 97;
1166    private static readonly pb::FieldCodec<int> _repeated_unpackedSfixed32_codec
1167        = pb::FieldCodec.ForSFixed32(781);
1168    private readonly pbc::RepeatedField<int> unpackedSfixed32_ = new pbc::RepeatedField<int>();
1169    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1170    public pbc::RepeatedField<int> UnpackedSfixed32 {
1171      get { return unpackedSfixed32_; }
1172    }
1173
1174    /// <summary>Field number for the "unpacked_sfixed64" field.</summary>
1175    public const int UnpackedSfixed64FieldNumber = 98;
1176    private static readonly pb::FieldCodec<long> _repeated_unpackedSfixed64_codec
1177        = pb::FieldCodec.ForSFixed64(785);
1178    private readonly pbc::RepeatedField<long> unpackedSfixed64_ = new pbc::RepeatedField<long>();
1179    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1180    public pbc::RepeatedField<long> UnpackedSfixed64 {
1181      get { return unpackedSfixed64_; }
1182    }
1183
1184    /// <summary>Field number for the "unpacked_float" field.</summary>
1185    public const int UnpackedFloatFieldNumber = 99;
1186    private static readonly pb::FieldCodec<float> _repeated_unpackedFloat_codec
1187        = pb::FieldCodec.ForFloat(797);
1188    private readonly pbc::RepeatedField<float> unpackedFloat_ = new pbc::RepeatedField<float>();
1189    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1190    public pbc::RepeatedField<float> UnpackedFloat {
1191      get { return unpackedFloat_; }
1192    }
1193
1194    /// <summary>Field number for the "unpacked_double" field.</summary>
1195    public const int UnpackedDoubleFieldNumber = 100;
1196    private static readonly pb::FieldCodec<double> _repeated_unpackedDouble_codec
1197        = pb::FieldCodec.ForDouble(801);
1198    private readonly pbc::RepeatedField<double> unpackedDouble_ = new pbc::RepeatedField<double>();
1199    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1200    public pbc::RepeatedField<double> UnpackedDouble {
1201      get { return unpackedDouble_; }
1202    }
1203
1204    /// <summary>Field number for the "unpacked_bool" field.</summary>
1205    public const int UnpackedBoolFieldNumber = 101;
1206    private static readonly pb::FieldCodec<bool> _repeated_unpackedBool_codec
1207        = pb::FieldCodec.ForBool(808);
1208    private readonly pbc::RepeatedField<bool> unpackedBool_ = new pbc::RepeatedField<bool>();
1209    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1210    public pbc::RepeatedField<bool> UnpackedBool {
1211      get { return unpackedBool_; }
1212    }
1213
1214    /// <summary>Field number for the "unpacked_nested_enum" field.</summary>
1215    public const int UnpackedNestedEnumFieldNumber = 102;
1216    private static readonly pb::FieldCodec<global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum> _repeated_unpackedNestedEnum_codec
1217        = pb::FieldCodec.ForEnum(816, x => (int) x, x => (global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum) x);
1218    private readonly pbc::RepeatedField<global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum> unpackedNestedEnum_ = new pbc::RepeatedField<global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum>();
1219    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1220    public pbc::RepeatedField<global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum> UnpackedNestedEnum {
1221      get { return unpackedNestedEnum_; }
1222    }
1223
1224    /// <summary>Field number for the "map_int32_int32" field.</summary>
1225    public const int MapInt32Int32FieldNumber = 56;
1226    private static readonly pbc::MapField<int, int>.Codec _map_mapInt32Int32_codec
1227        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForInt32(16, 0), 450);
1228    private readonly pbc::MapField<int, int> mapInt32Int32_ = new pbc::MapField<int, int>();
1229    /// <summary>
1230    /// Map
1231    /// </summary>
1232    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1233    public pbc::MapField<int, int> MapInt32Int32 {
1234      get { return mapInt32Int32_; }
1235    }
1236
1237    /// <summary>Field number for the "map_int64_int64" field.</summary>
1238    public const int MapInt64Int64FieldNumber = 57;
1239    private static readonly pbc::MapField<long, long>.Codec _map_mapInt64Int64_codec
1240        = new pbc::MapField<long, long>.Codec(pb::FieldCodec.ForInt64(8, 0L), pb::FieldCodec.ForInt64(16, 0L), 458);
1241    private readonly pbc::MapField<long, long> mapInt64Int64_ = new pbc::MapField<long, long>();
1242    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1243    public pbc::MapField<long, long> MapInt64Int64 {
1244      get { return mapInt64Int64_; }
1245    }
1246
1247    /// <summary>Field number for the "map_uint32_uint32" field.</summary>
1248    public const int MapUint32Uint32FieldNumber = 58;
1249    private static readonly pbc::MapField<uint, uint>.Codec _map_mapUint32Uint32_codec
1250        = new pbc::MapField<uint, uint>.Codec(pb::FieldCodec.ForUInt32(8, 0), pb::FieldCodec.ForUInt32(16, 0), 466);
1251    private readonly pbc::MapField<uint, uint> mapUint32Uint32_ = new pbc::MapField<uint, uint>();
1252    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1253    public pbc::MapField<uint, uint> MapUint32Uint32 {
1254      get { return mapUint32Uint32_; }
1255    }
1256
1257    /// <summary>Field number for the "map_uint64_uint64" field.</summary>
1258    public const int MapUint64Uint64FieldNumber = 59;
1259    private static readonly pbc::MapField<ulong, ulong>.Codec _map_mapUint64Uint64_codec
1260        = new pbc::MapField<ulong, ulong>.Codec(pb::FieldCodec.ForUInt64(8, 0UL), pb::FieldCodec.ForUInt64(16, 0UL), 474);
1261    private readonly pbc::MapField<ulong, ulong> mapUint64Uint64_ = new pbc::MapField<ulong, ulong>();
1262    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1263    public pbc::MapField<ulong, ulong> MapUint64Uint64 {
1264      get { return mapUint64Uint64_; }
1265    }
1266
1267    /// <summary>Field number for the "map_sint32_sint32" field.</summary>
1268    public const int MapSint32Sint32FieldNumber = 60;
1269    private static readonly pbc::MapField<int, int>.Codec _map_mapSint32Sint32_codec
1270        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForSInt32(8, 0), pb::FieldCodec.ForSInt32(16, 0), 482);
1271    private readonly pbc::MapField<int, int> mapSint32Sint32_ = new pbc::MapField<int, int>();
1272    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1273    public pbc::MapField<int, int> MapSint32Sint32 {
1274      get { return mapSint32Sint32_; }
1275    }
1276
1277    /// <summary>Field number for the "map_sint64_sint64" field.</summary>
1278    public const int MapSint64Sint64FieldNumber = 61;
1279    private static readonly pbc::MapField<long, long>.Codec _map_mapSint64Sint64_codec
1280        = new pbc::MapField<long, long>.Codec(pb::FieldCodec.ForSInt64(8, 0L), pb::FieldCodec.ForSInt64(16, 0L), 490);
1281    private readonly pbc::MapField<long, long> mapSint64Sint64_ = new pbc::MapField<long, long>();
1282    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1283    public pbc::MapField<long, long> MapSint64Sint64 {
1284      get { return mapSint64Sint64_; }
1285    }
1286
1287    /// <summary>Field number for the "map_fixed32_fixed32" field.</summary>
1288    public const int MapFixed32Fixed32FieldNumber = 62;
1289    private static readonly pbc::MapField<uint, uint>.Codec _map_mapFixed32Fixed32_codec
1290        = new pbc::MapField<uint, uint>.Codec(pb::FieldCodec.ForFixed32(13, 0), pb::FieldCodec.ForFixed32(21, 0), 498);
1291    private readonly pbc::MapField<uint, uint> mapFixed32Fixed32_ = new pbc::MapField<uint, uint>();
1292    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1293    public pbc::MapField<uint, uint> MapFixed32Fixed32 {
1294      get { return mapFixed32Fixed32_; }
1295    }
1296
1297    /// <summary>Field number for the "map_fixed64_fixed64" field.</summary>
1298    public const int MapFixed64Fixed64FieldNumber = 63;
1299    private static readonly pbc::MapField<ulong, ulong>.Codec _map_mapFixed64Fixed64_codec
1300        = new pbc::MapField<ulong, ulong>.Codec(pb::FieldCodec.ForFixed64(9, 0UL), pb::FieldCodec.ForFixed64(17, 0UL), 506);
1301    private readonly pbc::MapField<ulong, ulong> mapFixed64Fixed64_ = new pbc::MapField<ulong, ulong>();
1302    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1303    public pbc::MapField<ulong, ulong> MapFixed64Fixed64 {
1304      get { return mapFixed64Fixed64_; }
1305    }
1306
1307    /// <summary>Field number for the "map_sfixed32_sfixed32" field.</summary>
1308    public const int MapSfixed32Sfixed32FieldNumber = 64;
1309    private static readonly pbc::MapField<int, int>.Codec _map_mapSfixed32Sfixed32_codec
1310        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForSFixed32(13, 0), pb::FieldCodec.ForSFixed32(21, 0), 514);
1311    private readonly pbc::MapField<int, int> mapSfixed32Sfixed32_ = new pbc::MapField<int, int>();
1312    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1313    public pbc::MapField<int, int> MapSfixed32Sfixed32 {
1314      get { return mapSfixed32Sfixed32_; }
1315    }
1316
1317    /// <summary>Field number for the "map_sfixed64_sfixed64" field.</summary>
1318    public const int MapSfixed64Sfixed64FieldNumber = 65;
1319    private static readonly pbc::MapField<long, long>.Codec _map_mapSfixed64Sfixed64_codec
1320        = new pbc::MapField<long, long>.Codec(pb::FieldCodec.ForSFixed64(9, 0L), pb::FieldCodec.ForSFixed64(17, 0L), 522);
1321    private readonly pbc::MapField<long, long> mapSfixed64Sfixed64_ = new pbc::MapField<long, long>();
1322    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1323    public pbc::MapField<long, long> MapSfixed64Sfixed64 {
1324      get { return mapSfixed64Sfixed64_; }
1325    }
1326
1327    /// <summary>Field number for the "map_int32_float" field.</summary>
1328    public const int MapInt32FloatFieldNumber = 66;
1329    private static readonly pbc::MapField<int, float>.Codec _map_mapInt32Float_codec
1330        = new pbc::MapField<int, float>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForFloat(21, 0F), 530);
1331    private readonly pbc::MapField<int, float> mapInt32Float_ = new pbc::MapField<int, float>();
1332    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1333    public pbc::MapField<int, float> MapInt32Float {
1334      get { return mapInt32Float_; }
1335    }
1336
1337    /// <summary>Field number for the "map_int32_double" field.</summary>
1338    public const int MapInt32DoubleFieldNumber = 67;
1339    private static readonly pbc::MapField<int, double>.Codec _map_mapInt32Double_codec
1340        = new pbc::MapField<int, double>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForDouble(17, 0D), 538);
1341    private readonly pbc::MapField<int, double> mapInt32Double_ = new pbc::MapField<int, double>();
1342    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1343    public pbc::MapField<int, double> MapInt32Double {
1344      get { return mapInt32Double_; }
1345    }
1346
1347    /// <summary>Field number for the "map_bool_bool" field.</summary>
1348    public const int MapBoolBoolFieldNumber = 68;
1349    private static readonly pbc::MapField<bool, bool>.Codec _map_mapBoolBool_codec
1350        = new pbc::MapField<bool, bool>.Codec(pb::FieldCodec.ForBool(8, false), pb::FieldCodec.ForBool(16, false), 546);
1351    private readonly pbc::MapField<bool, bool> mapBoolBool_ = new pbc::MapField<bool, bool>();
1352    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1353    public pbc::MapField<bool, bool> MapBoolBool {
1354      get { return mapBoolBool_; }
1355    }
1356
1357    /// <summary>Field number for the "map_string_string" field.</summary>
1358    public const int MapStringStringFieldNumber = 69;
1359    private static readonly pbc::MapField<string, string>.Codec _map_mapStringString_codec
1360        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 554);
1361    private readonly pbc::MapField<string, string> mapStringString_ = new pbc::MapField<string, string>();
1362    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1363    public pbc::MapField<string, string> MapStringString {
1364      get { return mapStringString_; }
1365    }
1366
1367    /// <summary>Field number for the "map_string_bytes" field.</summary>
1368    public const int MapStringBytesFieldNumber = 70;
1369    private static readonly pbc::MapField<string, pb::ByteString>.Codec _map_mapStringBytes_codec
1370        = new pbc::MapField<string, pb::ByteString>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForBytes(18, pb::ByteString.Empty), 562);
1371    private readonly pbc::MapField<string, pb::ByteString> mapStringBytes_ = new pbc::MapField<string, pb::ByteString>();
1372    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1373    public pbc::MapField<string, pb::ByteString> MapStringBytes {
1374      get { return mapStringBytes_; }
1375    }
1376
1377    /// <summary>Field number for the "map_string_nested_message" field.</summary>
1378    public const int MapStringNestedMessageFieldNumber = 71;
1379    private static readonly pbc::MapField<string, global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage>.Codec _map_mapStringNestedMessage_codec
1380        = new pbc::MapField<string, global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForMessage(18, global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage.Parser), 570);
1381    private readonly pbc::MapField<string, global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage> mapStringNestedMessage_ = new pbc::MapField<string, global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage>();
1382    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1383    public pbc::MapField<string, global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage> MapStringNestedMessage {
1384      get { return mapStringNestedMessage_; }
1385    }
1386
1387    /// <summary>Field number for the "map_string_foreign_message" field.</summary>
1388    public const int MapStringForeignMessageFieldNumber = 72;
1389    private static readonly pbc::MapField<string, global::ProtobufTestMessages.Proto3.ForeignMessage>.Codec _map_mapStringForeignMessage_codec
1390        = new pbc::MapField<string, global::ProtobufTestMessages.Proto3.ForeignMessage>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForMessage(18, global::ProtobufTestMessages.Proto3.ForeignMessage.Parser), 578);
1391    private readonly pbc::MapField<string, global::ProtobufTestMessages.Proto3.ForeignMessage> mapStringForeignMessage_ = new pbc::MapField<string, global::ProtobufTestMessages.Proto3.ForeignMessage>();
1392    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1393    public pbc::MapField<string, global::ProtobufTestMessages.Proto3.ForeignMessage> MapStringForeignMessage {
1394      get { return mapStringForeignMessage_; }
1395    }
1396
1397    /// <summary>Field number for the "map_string_nested_enum" field.</summary>
1398    public const int MapStringNestedEnumFieldNumber = 73;
1399    private static readonly pbc::MapField<string, global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum>.Codec _map_mapStringNestedEnum_codec
1400        = new pbc::MapField<string, global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForEnum(16, x => (int) x, x => (global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum) x, global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum.Foo), 586);
1401    private readonly pbc::MapField<string, global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum> mapStringNestedEnum_ = new pbc::MapField<string, global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum>();
1402    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1403    public pbc::MapField<string, global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum> MapStringNestedEnum {
1404      get { return mapStringNestedEnum_; }
1405    }
1406
1407    /// <summary>Field number for the "map_string_foreign_enum" field.</summary>
1408    public const int MapStringForeignEnumFieldNumber = 74;
1409    private static readonly pbc::MapField<string, global::ProtobufTestMessages.Proto3.ForeignEnum>.Codec _map_mapStringForeignEnum_codec
1410        = new pbc::MapField<string, global::ProtobufTestMessages.Proto3.ForeignEnum>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForEnum(16, x => (int) x, x => (global::ProtobufTestMessages.Proto3.ForeignEnum) x, global::ProtobufTestMessages.Proto3.ForeignEnum.ForeignFoo), 594);
1411    private readonly pbc::MapField<string, global::ProtobufTestMessages.Proto3.ForeignEnum> mapStringForeignEnum_ = new pbc::MapField<string, global::ProtobufTestMessages.Proto3.ForeignEnum>();
1412    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1413    public pbc::MapField<string, global::ProtobufTestMessages.Proto3.ForeignEnum> MapStringForeignEnum {
1414      get { return mapStringForeignEnum_; }
1415    }
1416
1417    /// <summary>Field number for the "oneof_uint32" field.</summary>
1418    public const int OneofUint32FieldNumber = 111;
1419    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1420    public uint OneofUint32 {
1421      get { return oneofFieldCase_ == OneofFieldOneofCase.OneofUint32 ? (uint) oneofField_ : 0; }
1422      set {
1423        oneofField_ = value;
1424        oneofFieldCase_ = OneofFieldOneofCase.OneofUint32;
1425      }
1426    }
1427
1428    /// <summary>Field number for the "oneof_nested_message" field.</summary>
1429    public const int OneofNestedMessageFieldNumber = 112;
1430    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1431    public global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage OneofNestedMessage {
1432      get { return oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage ? (global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage) oneofField_ : null; }
1433      set {
1434        oneofField_ = value;
1435        oneofFieldCase_ = value == null ? OneofFieldOneofCase.None : OneofFieldOneofCase.OneofNestedMessage;
1436      }
1437    }
1438
1439    /// <summary>Field number for the "oneof_string" field.</summary>
1440    public const int OneofStringFieldNumber = 113;
1441    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1442    public string OneofString {
1443      get { return oneofFieldCase_ == OneofFieldOneofCase.OneofString ? (string) oneofField_ : ""; }
1444      set {
1445        oneofField_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
1446        oneofFieldCase_ = OneofFieldOneofCase.OneofString;
1447      }
1448    }
1449
1450    /// <summary>Field number for the "oneof_bytes" field.</summary>
1451    public const int OneofBytesFieldNumber = 114;
1452    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1453    public pb::ByteString OneofBytes {
1454      get { return oneofFieldCase_ == OneofFieldOneofCase.OneofBytes ? (pb::ByteString) oneofField_ : pb::ByteString.Empty; }
1455      set {
1456        oneofField_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
1457        oneofFieldCase_ = OneofFieldOneofCase.OneofBytes;
1458      }
1459    }
1460
1461    /// <summary>Field number for the "oneof_bool" field.</summary>
1462    public const int OneofBoolFieldNumber = 115;
1463    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1464    public bool OneofBool {
1465      get { return oneofFieldCase_ == OneofFieldOneofCase.OneofBool ? (bool) oneofField_ : false; }
1466      set {
1467        oneofField_ = value;
1468        oneofFieldCase_ = OneofFieldOneofCase.OneofBool;
1469      }
1470    }
1471
1472    /// <summary>Field number for the "oneof_uint64" field.</summary>
1473    public const int OneofUint64FieldNumber = 116;
1474    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1475    public ulong OneofUint64 {
1476      get { return oneofFieldCase_ == OneofFieldOneofCase.OneofUint64 ? (ulong) oneofField_ : 0UL; }
1477      set {
1478        oneofField_ = value;
1479        oneofFieldCase_ = OneofFieldOneofCase.OneofUint64;
1480      }
1481    }
1482
1483    /// <summary>Field number for the "oneof_float" field.</summary>
1484    public const int OneofFloatFieldNumber = 117;
1485    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1486    public float OneofFloat {
1487      get { return oneofFieldCase_ == OneofFieldOneofCase.OneofFloat ? (float) oneofField_ : 0F; }
1488      set {
1489        oneofField_ = value;
1490        oneofFieldCase_ = OneofFieldOneofCase.OneofFloat;
1491      }
1492    }
1493
1494    /// <summary>Field number for the "oneof_double" field.</summary>
1495    public const int OneofDoubleFieldNumber = 118;
1496    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1497    public double OneofDouble {
1498      get { return oneofFieldCase_ == OneofFieldOneofCase.OneofDouble ? (double) oneofField_ : 0D; }
1499      set {
1500        oneofField_ = value;
1501        oneofFieldCase_ = OneofFieldOneofCase.OneofDouble;
1502      }
1503    }
1504
1505    /// <summary>Field number for the "oneof_enum" field.</summary>
1506    public const int OneofEnumFieldNumber = 119;
1507    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1508    public global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum OneofEnum {
1509      get { return oneofFieldCase_ == OneofFieldOneofCase.OneofEnum ? (global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum) oneofField_ : global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum.Foo; }
1510      set {
1511        oneofField_ = value;
1512        oneofFieldCase_ = OneofFieldOneofCase.OneofEnum;
1513      }
1514    }
1515
1516    /// <summary>Field number for the "optional_bool_wrapper" field.</summary>
1517    public const int OptionalBoolWrapperFieldNumber = 201;
1518    private static readonly pb::FieldCodec<bool?> _single_optionalBoolWrapper_codec = pb::FieldCodec.ForStructWrapper<bool>(1610);
1519    private bool? optionalBoolWrapper_;
1520    /// <summary>
1521    /// Well-known types
1522    /// </summary>
1523    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1524    public bool? OptionalBoolWrapper {
1525      get { return optionalBoolWrapper_; }
1526      set {
1527        optionalBoolWrapper_ = value;
1528      }
1529    }
1530
1531
1532    /// <summary>Field number for the "optional_int32_wrapper" field.</summary>
1533    public const int OptionalInt32WrapperFieldNumber = 202;
1534    private static readonly pb::FieldCodec<int?> _single_optionalInt32Wrapper_codec = pb::FieldCodec.ForStructWrapper<int>(1618);
1535    private int? optionalInt32Wrapper_;
1536    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1537    public int? OptionalInt32Wrapper {
1538      get { return optionalInt32Wrapper_; }
1539      set {
1540        optionalInt32Wrapper_ = value;
1541      }
1542    }
1543
1544
1545    /// <summary>Field number for the "optional_int64_wrapper" field.</summary>
1546    public const int OptionalInt64WrapperFieldNumber = 203;
1547    private static readonly pb::FieldCodec<long?> _single_optionalInt64Wrapper_codec = pb::FieldCodec.ForStructWrapper<long>(1626);
1548    private long? optionalInt64Wrapper_;
1549    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1550    public long? OptionalInt64Wrapper {
1551      get { return optionalInt64Wrapper_; }
1552      set {
1553        optionalInt64Wrapper_ = value;
1554      }
1555    }
1556
1557
1558    /// <summary>Field number for the "optional_uint32_wrapper" field.</summary>
1559    public const int OptionalUint32WrapperFieldNumber = 204;
1560    private static readonly pb::FieldCodec<uint?> _single_optionalUint32Wrapper_codec = pb::FieldCodec.ForStructWrapper<uint>(1634);
1561    private uint? optionalUint32Wrapper_;
1562    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1563    public uint? OptionalUint32Wrapper {
1564      get { return optionalUint32Wrapper_; }
1565      set {
1566        optionalUint32Wrapper_ = value;
1567      }
1568    }
1569
1570
1571    /// <summary>Field number for the "optional_uint64_wrapper" field.</summary>
1572    public const int OptionalUint64WrapperFieldNumber = 205;
1573    private static readonly pb::FieldCodec<ulong?> _single_optionalUint64Wrapper_codec = pb::FieldCodec.ForStructWrapper<ulong>(1642);
1574    private ulong? optionalUint64Wrapper_;
1575    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1576    public ulong? OptionalUint64Wrapper {
1577      get { return optionalUint64Wrapper_; }
1578      set {
1579        optionalUint64Wrapper_ = value;
1580      }
1581    }
1582
1583
1584    /// <summary>Field number for the "optional_float_wrapper" field.</summary>
1585    public const int OptionalFloatWrapperFieldNumber = 206;
1586    private static readonly pb::FieldCodec<float?> _single_optionalFloatWrapper_codec = pb::FieldCodec.ForStructWrapper<float>(1650);
1587    private float? optionalFloatWrapper_;
1588    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1589    public float? OptionalFloatWrapper {
1590      get { return optionalFloatWrapper_; }
1591      set {
1592        optionalFloatWrapper_ = value;
1593      }
1594    }
1595
1596
1597    /// <summary>Field number for the "optional_double_wrapper" field.</summary>
1598    public const int OptionalDoubleWrapperFieldNumber = 207;
1599    private static readonly pb::FieldCodec<double?> _single_optionalDoubleWrapper_codec = pb::FieldCodec.ForStructWrapper<double>(1658);
1600    private double? optionalDoubleWrapper_;
1601    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1602    public double? OptionalDoubleWrapper {
1603      get { return optionalDoubleWrapper_; }
1604      set {
1605        optionalDoubleWrapper_ = value;
1606      }
1607    }
1608
1609
1610    /// <summary>Field number for the "optional_string_wrapper" field.</summary>
1611    public const int OptionalStringWrapperFieldNumber = 208;
1612    private static readonly pb::FieldCodec<string> _single_optionalStringWrapper_codec = pb::FieldCodec.ForClassWrapper<string>(1666);
1613    private string optionalStringWrapper_;
1614    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1615    public string OptionalStringWrapper {
1616      get { return optionalStringWrapper_; }
1617      set {
1618        optionalStringWrapper_ = value;
1619      }
1620    }
1621
1622
1623    /// <summary>Field number for the "optional_bytes_wrapper" field.</summary>
1624    public const int OptionalBytesWrapperFieldNumber = 209;
1625    private static readonly pb::FieldCodec<pb::ByteString> _single_optionalBytesWrapper_codec = pb::FieldCodec.ForClassWrapper<pb::ByteString>(1674);
1626    private pb::ByteString optionalBytesWrapper_;
1627    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1628    public pb::ByteString OptionalBytesWrapper {
1629      get { return optionalBytesWrapper_; }
1630      set {
1631        optionalBytesWrapper_ = value;
1632      }
1633    }
1634
1635
1636    /// <summary>Field number for the "repeated_bool_wrapper" field.</summary>
1637    public const int RepeatedBoolWrapperFieldNumber = 211;
1638    private static readonly pb::FieldCodec<bool?> _repeated_repeatedBoolWrapper_codec
1639        = pb::FieldCodec.ForStructWrapper<bool>(1690);
1640    private readonly pbc::RepeatedField<bool?> repeatedBoolWrapper_ = new pbc::RepeatedField<bool?>();
1641    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1642    public pbc::RepeatedField<bool?> RepeatedBoolWrapper {
1643      get { return repeatedBoolWrapper_; }
1644    }
1645
1646    /// <summary>Field number for the "repeated_int32_wrapper" field.</summary>
1647    public const int RepeatedInt32WrapperFieldNumber = 212;
1648    private static readonly pb::FieldCodec<int?> _repeated_repeatedInt32Wrapper_codec
1649        = pb::FieldCodec.ForStructWrapper<int>(1698);
1650    private readonly pbc::RepeatedField<int?> repeatedInt32Wrapper_ = new pbc::RepeatedField<int?>();
1651    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1652    public pbc::RepeatedField<int?> RepeatedInt32Wrapper {
1653      get { return repeatedInt32Wrapper_; }
1654    }
1655
1656    /// <summary>Field number for the "repeated_int64_wrapper" field.</summary>
1657    public const int RepeatedInt64WrapperFieldNumber = 213;
1658    private static readonly pb::FieldCodec<long?> _repeated_repeatedInt64Wrapper_codec
1659        = pb::FieldCodec.ForStructWrapper<long>(1706);
1660    private readonly pbc::RepeatedField<long?> repeatedInt64Wrapper_ = new pbc::RepeatedField<long?>();
1661    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1662    public pbc::RepeatedField<long?> RepeatedInt64Wrapper {
1663      get { return repeatedInt64Wrapper_; }
1664    }
1665
1666    /// <summary>Field number for the "repeated_uint32_wrapper" field.</summary>
1667    public const int RepeatedUint32WrapperFieldNumber = 214;
1668    private static readonly pb::FieldCodec<uint?> _repeated_repeatedUint32Wrapper_codec
1669        = pb::FieldCodec.ForStructWrapper<uint>(1714);
1670    private readonly pbc::RepeatedField<uint?> repeatedUint32Wrapper_ = new pbc::RepeatedField<uint?>();
1671    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1672    public pbc::RepeatedField<uint?> RepeatedUint32Wrapper {
1673      get { return repeatedUint32Wrapper_; }
1674    }
1675
1676    /// <summary>Field number for the "repeated_uint64_wrapper" field.</summary>
1677    public const int RepeatedUint64WrapperFieldNumber = 215;
1678    private static readonly pb::FieldCodec<ulong?> _repeated_repeatedUint64Wrapper_codec
1679        = pb::FieldCodec.ForStructWrapper<ulong>(1722);
1680    private readonly pbc::RepeatedField<ulong?> repeatedUint64Wrapper_ = new pbc::RepeatedField<ulong?>();
1681    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1682    public pbc::RepeatedField<ulong?> RepeatedUint64Wrapper {
1683      get { return repeatedUint64Wrapper_; }
1684    }
1685
1686    /// <summary>Field number for the "repeated_float_wrapper" field.</summary>
1687    public const int RepeatedFloatWrapperFieldNumber = 216;
1688    private static readonly pb::FieldCodec<float?> _repeated_repeatedFloatWrapper_codec
1689        = pb::FieldCodec.ForStructWrapper<float>(1730);
1690    private readonly pbc::RepeatedField<float?> repeatedFloatWrapper_ = new pbc::RepeatedField<float?>();
1691    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1692    public pbc::RepeatedField<float?> RepeatedFloatWrapper {
1693      get { return repeatedFloatWrapper_; }
1694    }
1695
1696    /// <summary>Field number for the "repeated_double_wrapper" field.</summary>
1697    public const int RepeatedDoubleWrapperFieldNumber = 217;
1698    private static readonly pb::FieldCodec<double?> _repeated_repeatedDoubleWrapper_codec
1699        = pb::FieldCodec.ForStructWrapper<double>(1738);
1700    private readonly pbc::RepeatedField<double?> repeatedDoubleWrapper_ = new pbc::RepeatedField<double?>();
1701    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1702    public pbc::RepeatedField<double?> RepeatedDoubleWrapper {
1703      get { return repeatedDoubleWrapper_; }
1704    }
1705
1706    /// <summary>Field number for the "repeated_string_wrapper" field.</summary>
1707    public const int RepeatedStringWrapperFieldNumber = 218;
1708    private static readonly pb::FieldCodec<string> _repeated_repeatedStringWrapper_codec
1709        = pb::FieldCodec.ForClassWrapper<string>(1746);
1710    private readonly pbc::RepeatedField<string> repeatedStringWrapper_ = new pbc::RepeatedField<string>();
1711    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1712    public pbc::RepeatedField<string> RepeatedStringWrapper {
1713      get { return repeatedStringWrapper_; }
1714    }
1715
1716    /// <summary>Field number for the "repeated_bytes_wrapper" field.</summary>
1717    public const int RepeatedBytesWrapperFieldNumber = 219;
1718    private static readonly pb::FieldCodec<pb::ByteString> _repeated_repeatedBytesWrapper_codec
1719        = pb::FieldCodec.ForClassWrapper<pb::ByteString>(1754);
1720    private readonly pbc::RepeatedField<pb::ByteString> repeatedBytesWrapper_ = new pbc::RepeatedField<pb::ByteString>();
1721    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1722    public pbc::RepeatedField<pb::ByteString> RepeatedBytesWrapper {
1723      get { return repeatedBytesWrapper_; }
1724    }
1725
1726    /// <summary>Field number for the "optional_duration" field.</summary>
1727    public const int OptionalDurationFieldNumber = 301;
1728    private global::Google.Protobuf.WellKnownTypes.Duration optionalDuration_;
1729    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1730    public global::Google.Protobuf.WellKnownTypes.Duration OptionalDuration {
1731      get { return optionalDuration_; }
1732      set {
1733        optionalDuration_ = value;
1734      }
1735    }
1736
1737    /// <summary>Field number for the "optional_timestamp" field.</summary>
1738    public const int OptionalTimestampFieldNumber = 302;
1739    private global::Google.Protobuf.WellKnownTypes.Timestamp optionalTimestamp_;
1740    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1741    public global::Google.Protobuf.WellKnownTypes.Timestamp OptionalTimestamp {
1742      get { return optionalTimestamp_; }
1743      set {
1744        optionalTimestamp_ = value;
1745      }
1746    }
1747
1748    /// <summary>Field number for the "optional_field_mask" field.</summary>
1749    public const int OptionalFieldMaskFieldNumber = 303;
1750    private global::Google.Protobuf.WellKnownTypes.FieldMask optionalFieldMask_;
1751    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1752    public global::Google.Protobuf.WellKnownTypes.FieldMask OptionalFieldMask {
1753      get { return optionalFieldMask_; }
1754      set {
1755        optionalFieldMask_ = value;
1756      }
1757    }
1758
1759    /// <summary>Field number for the "optional_struct" field.</summary>
1760    public const int OptionalStructFieldNumber = 304;
1761    private global::Google.Protobuf.WellKnownTypes.Struct optionalStruct_;
1762    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1763    public global::Google.Protobuf.WellKnownTypes.Struct OptionalStruct {
1764      get { return optionalStruct_; }
1765      set {
1766        optionalStruct_ = value;
1767      }
1768    }
1769
1770    /// <summary>Field number for the "optional_any" field.</summary>
1771    public const int OptionalAnyFieldNumber = 305;
1772    private global::Google.Protobuf.WellKnownTypes.Any optionalAny_;
1773    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1774    public global::Google.Protobuf.WellKnownTypes.Any OptionalAny {
1775      get { return optionalAny_; }
1776      set {
1777        optionalAny_ = value;
1778      }
1779    }
1780
1781    /// <summary>Field number for the "optional_value" field.</summary>
1782    public const int OptionalValueFieldNumber = 306;
1783    private global::Google.Protobuf.WellKnownTypes.Value optionalValue_;
1784    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1785    public global::Google.Protobuf.WellKnownTypes.Value OptionalValue {
1786      get { return optionalValue_; }
1787      set {
1788        optionalValue_ = value;
1789      }
1790    }
1791
1792    /// <summary>Field number for the "repeated_duration" field.</summary>
1793    public const int RepeatedDurationFieldNumber = 311;
1794    private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.Duration> _repeated_repeatedDuration_codec
1795        = pb::FieldCodec.ForMessage(2490, global::Google.Protobuf.WellKnownTypes.Duration.Parser);
1796    private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Duration> repeatedDuration_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Duration>();
1797    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1798    public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Duration> RepeatedDuration {
1799      get { return repeatedDuration_; }
1800    }
1801
1802    /// <summary>Field number for the "repeated_timestamp" field.</summary>
1803    public const int RepeatedTimestampFieldNumber = 312;
1804    private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.Timestamp> _repeated_repeatedTimestamp_codec
1805        = pb::FieldCodec.ForMessage(2498, global::Google.Protobuf.WellKnownTypes.Timestamp.Parser);
1806    private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Timestamp> repeatedTimestamp_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Timestamp>();
1807    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1808    public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Timestamp> RepeatedTimestamp {
1809      get { return repeatedTimestamp_; }
1810    }
1811
1812    /// <summary>Field number for the "repeated_fieldmask" field.</summary>
1813    public const int RepeatedFieldmaskFieldNumber = 313;
1814    private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.FieldMask> _repeated_repeatedFieldmask_codec
1815        = pb::FieldCodec.ForMessage(2506, global::Google.Protobuf.WellKnownTypes.FieldMask.Parser);
1816    private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.FieldMask> repeatedFieldmask_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.FieldMask>();
1817    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1818    public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.FieldMask> RepeatedFieldmask {
1819      get { return repeatedFieldmask_; }
1820    }
1821
1822    /// <summary>Field number for the "repeated_struct" field.</summary>
1823    public const int RepeatedStructFieldNumber = 324;
1824    private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.Struct> _repeated_repeatedStruct_codec
1825        = pb::FieldCodec.ForMessage(2594, global::Google.Protobuf.WellKnownTypes.Struct.Parser);
1826    private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Struct> repeatedStruct_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Struct>();
1827    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1828    public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Struct> RepeatedStruct {
1829      get { return repeatedStruct_; }
1830    }
1831
1832    /// <summary>Field number for the "repeated_any" field.</summary>
1833    public const int RepeatedAnyFieldNumber = 315;
1834    private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.Any> _repeated_repeatedAny_codec
1835        = pb::FieldCodec.ForMessage(2522, global::Google.Protobuf.WellKnownTypes.Any.Parser);
1836    private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Any> repeatedAny_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Any>();
1837    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1838    public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Any> RepeatedAny {
1839      get { return repeatedAny_; }
1840    }
1841
1842    /// <summary>Field number for the "repeated_value" field.</summary>
1843    public const int RepeatedValueFieldNumber = 316;
1844    private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.Value> _repeated_repeatedValue_codec
1845        = pb::FieldCodec.ForMessage(2530, global::Google.Protobuf.WellKnownTypes.Value.Parser);
1846    private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Value> repeatedValue_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Value>();
1847    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1848    public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Value> RepeatedValue {
1849      get { return repeatedValue_; }
1850    }
1851
1852    /// <summary>Field number for the "repeated_list_value" field.</summary>
1853    public const int RepeatedListValueFieldNumber = 317;
1854    private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.ListValue> _repeated_repeatedListValue_codec
1855        = pb::FieldCodec.ForMessage(2538, global::Google.Protobuf.WellKnownTypes.ListValue.Parser);
1856    private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.ListValue> repeatedListValue_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.ListValue>();
1857    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1858    public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.ListValue> RepeatedListValue {
1859      get { return repeatedListValue_; }
1860    }
1861
1862    /// <summary>Field number for the "fieldname1" field.</summary>
1863    public const int Fieldname1FieldNumber = 401;
1864    private int fieldname1_;
1865    /// <summary>
1866    /// Test field-name-to-JSON-name convention.
1867    /// (protobuf says names can be any valid C/C++ identifier.)
1868    /// </summary>
1869    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1870    public int Fieldname1 {
1871      get { return fieldname1_; }
1872      set {
1873        fieldname1_ = value;
1874      }
1875    }
1876
1877    /// <summary>Field number for the "field_name2" field.</summary>
1878    public const int FieldName2FieldNumber = 402;
1879    private int fieldName2_;
1880    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1881    public int FieldName2 {
1882      get { return fieldName2_; }
1883      set {
1884        fieldName2_ = value;
1885      }
1886    }
1887
1888    /// <summary>Field number for the "_field_name3" field.</summary>
1889    public const int FieldName3FieldNumber = 403;
1890    private int FieldName3_;
1891    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1892    public int FieldName3 {
1893      get { return FieldName3_; }
1894      set {
1895        FieldName3_ = value;
1896      }
1897    }
1898
1899    /// <summary>Field number for the "field__name4_" field.</summary>
1900    public const int FieldName4FieldNumber = 404;
1901    private int fieldName4_;
1902    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1903    public int FieldName4 {
1904      get { return fieldName4_; }
1905      set {
1906        fieldName4_ = value;
1907      }
1908    }
1909
1910    /// <summary>Field number for the "field0name5" field.</summary>
1911    public const int Field0Name5FieldNumber = 405;
1912    private int field0Name5_;
1913    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1914    public int Field0Name5 {
1915      get { return field0Name5_; }
1916      set {
1917        field0Name5_ = value;
1918      }
1919    }
1920
1921    /// <summary>Field number for the "field_0_name6" field.</summary>
1922    public const int Field0Name6FieldNumber = 406;
1923    private int field0Name6_;
1924    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1925    public int Field0Name6 {
1926      get { return field0Name6_; }
1927      set {
1928        field0Name6_ = value;
1929      }
1930    }
1931
1932    /// <summary>Field number for the "fieldName7" field.</summary>
1933    public const int FieldName7FieldNumber = 407;
1934    private int fieldName7_;
1935    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1936    public int FieldName7 {
1937      get { return fieldName7_; }
1938      set {
1939        fieldName7_ = value;
1940      }
1941    }
1942
1943    /// <summary>Field number for the "FieldName8" field.</summary>
1944    public const int FieldName8FieldNumber = 408;
1945    private int fieldName8_;
1946    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1947    public int FieldName8 {
1948      get { return fieldName8_; }
1949      set {
1950        fieldName8_ = value;
1951      }
1952    }
1953
1954    /// <summary>Field number for the "field_Name9" field.</summary>
1955    public const int FieldName9FieldNumber = 409;
1956    private int fieldName9_;
1957    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1958    public int FieldName9 {
1959      get { return fieldName9_; }
1960      set {
1961        fieldName9_ = value;
1962      }
1963    }
1964
1965    /// <summary>Field number for the "Field_Name10" field.</summary>
1966    public const int FieldName10FieldNumber = 410;
1967    private int fieldName10_;
1968    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1969    public int FieldName10 {
1970      get { return fieldName10_; }
1971      set {
1972        fieldName10_ = value;
1973      }
1974    }
1975
1976    /// <summary>Field number for the "FIELD_NAME11" field.</summary>
1977    public const int FIELDNAME11FieldNumber = 411;
1978    private int fIELDNAME11_;
1979    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1980    public int FIELDNAME11 {
1981      get { return fIELDNAME11_; }
1982      set {
1983        fIELDNAME11_ = value;
1984      }
1985    }
1986
1987    /// <summary>Field number for the "FIELD_name12" field.</summary>
1988    public const int FIELDName12FieldNumber = 412;
1989    private int fIELDName12_;
1990    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1991    public int FIELDName12 {
1992      get { return fIELDName12_; }
1993      set {
1994        fIELDName12_ = value;
1995      }
1996    }
1997
1998    /// <summary>Field number for the "__field_name13" field.</summary>
1999    public const int FieldName13FieldNumber = 413;
2000    private int FieldName13_;
2001    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2002    public int FieldName13 {
2003      get { return FieldName13_; }
2004      set {
2005        FieldName13_ = value;
2006      }
2007    }
2008
2009    /// <summary>Field number for the "__Field_name14" field.</summary>
2010    public const int FieldName14FieldNumber = 414;
2011    private int FieldName14_;
2012    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2013    public int FieldName14 {
2014      get { return FieldName14_; }
2015      set {
2016        FieldName14_ = value;
2017      }
2018    }
2019
2020    /// <summary>Field number for the "field__name15" field.</summary>
2021    public const int FieldName15FieldNumber = 415;
2022    private int fieldName15_;
2023    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2024    public int FieldName15 {
2025      get { return fieldName15_; }
2026      set {
2027        fieldName15_ = value;
2028      }
2029    }
2030
2031    /// <summary>Field number for the "field__Name16" field.</summary>
2032    public const int FieldName16FieldNumber = 416;
2033    private int fieldName16_;
2034    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2035    public int FieldName16 {
2036      get { return fieldName16_; }
2037      set {
2038        fieldName16_ = value;
2039      }
2040    }
2041
2042    /// <summary>Field number for the "field_name17__" field.</summary>
2043    public const int FieldName17FieldNumber = 417;
2044    private int fieldName17_;
2045    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2046    public int FieldName17 {
2047      get { return fieldName17_; }
2048      set {
2049        fieldName17_ = value;
2050      }
2051    }
2052
2053    /// <summary>Field number for the "Field_name18__" field.</summary>
2054    public const int FieldName18FieldNumber = 418;
2055    private int fieldName18_;
2056    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2057    public int FieldName18 {
2058      get { return fieldName18_; }
2059      set {
2060        fieldName18_ = value;
2061      }
2062    }
2063
2064    private object oneofField_;
2065    /// <summary>Enum of possible cases for the "oneof_field" oneof.</summary>
2066    public enum OneofFieldOneofCase {
2067      None = 0,
2068      OneofUint32 = 111,
2069      OneofNestedMessage = 112,
2070      OneofString = 113,
2071      OneofBytes = 114,
2072      OneofBool = 115,
2073      OneofUint64 = 116,
2074      OneofFloat = 117,
2075      OneofDouble = 118,
2076      OneofEnum = 119,
2077    }
2078    private OneofFieldOneofCase oneofFieldCase_ = OneofFieldOneofCase.None;
2079    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2080    public OneofFieldOneofCase OneofFieldCase {
2081      get { return oneofFieldCase_; }
2082    }
2083
2084    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2085    public void ClearOneofField() {
2086      oneofFieldCase_ = OneofFieldOneofCase.None;
2087      oneofField_ = null;
2088    }
2089
2090    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2091    public override bool Equals(object other) {
2092      return Equals(other as TestAllTypesProto3);
2093    }
2094
2095    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2096    public bool Equals(TestAllTypesProto3 other) {
2097      if (ReferenceEquals(other, null)) {
2098        return false;
2099      }
2100      if (ReferenceEquals(other, this)) {
2101        return true;
2102      }
2103      if (OptionalInt32 != other.OptionalInt32) return false;
2104      if (OptionalInt64 != other.OptionalInt64) return false;
2105      if (OptionalUint32 != other.OptionalUint32) return false;
2106      if (OptionalUint64 != other.OptionalUint64) return false;
2107      if (OptionalSint32 != other.OptionalSint32) return false;
2108      if (OptionalSint64 != other.OptionalSint64) return false;
2109      if (OptionalFixed32 != other.OptionalFixed32) return false;
2110      if (OptionalFixed64 != other.OptionalFixed64) return false;
2111      if (OptionalSfixed32 != other.OptionalSfixed32) return false;
2112      if (OptionalSfixed64 != other.OptionalSfixed64) return false;
2113      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(OptionalFloat, other.OptionalFloat)) return false;
2114      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(OptionalDouble, other.OptionalDouble)) return false;
2115      if (OptionalBool != other.OptionalBool) return false;
2116      if (OptionalString != other.OptionalString) return false;
2117      if (OptionalBytes != other.OptionalBytes) return false;
2118      if (!object.Equals(OptionalNestedMessage, other.OptionalNestedMessage)) return false;
2119      if (!object.Equals(OptionalForeignMessage, other.OptionalForeignMessage)) return false;
2120      if (OptionalNestedEnum != other.OptionalNestedEnum) return false;
2121      if (OptionalForeignEnum != other.OptionalForeignEnum) return false;
2122      if (OptionalAliasedEnum != other.OptionalAliasedEnum) return false;
2123      if (OptionalStringPiece != other.OptionalStringPiece) return false;
2124      if (OptionalCord != other.OptionalCord) return false;
2125      if (!object.Equals(RecursiveMessage, other.RecursiveMessage)) return false;
2126      if(!repeatedInt32_.Equals(other.repeatedInt32_)) return false;
2127      if(!repeatedInt64_.Equals(other.repeatedInt64_)) return false;
2128      if(!repeatedUint32_.Equals(other.repeatedUint32_)) return false;
2129      if(!repeatedUint64_.Equals(other.repeatedUint64_)) return false;
2130      if(!repeatedSint32_.Equals(other.repeatedSint32_)) return false;
2131      if(!repeatedSint64_.Equals(other.repeatedSint64_)) return false;
2132      if(!repeatedFixed32_.Equals(other.repeatedFixed32_)) return false;
2133      if(!repeatedFixed64_.Equals(other.repeatedFixed64_)) return false;
2134      if(!repeatedSfixed32_.Equals(other.repeatedSfixed32_)) return false;
2135      if(!repeatedSfixed64_.Equals(other.repeatedSfixed64_)) return false;
2136      if(!repeatedFloat_.Equals(other.repeatedFloat_)) return false;
2137      if(!repeatedDouble_.Equals(other.repeatedDouble_)) return false;
2138      if(!repeatedBool_.Equals(other.repeatedBool_)) return false;
2139      if(!repeatedString_.Equals(other.repeatedString_)) return false;
2140      if(!repeatedBytes_.Equals(other.repeatedBytes_)) return false;
2141      if(!repeatedNestedMessage_.Equals(other.repeatedNestedMessage_)) return false;
2142      if(!repeatedForeignMessage_.Equals(other.repeatedForeignMessage_)) return false;
2143      if(!repeatedNestedEnum_.Equals(other.repeatedNestedEnum_)) return false;
2144      if(!repeatedForeignEnum_.Equals(other.repeatedForeignEnum_)) return false;
2145      if(!repeatedStringPiece_.Equals(other.repeatedStringPiece_)) return false;
2146      if(!repeatedCord_.Equals(other.repeatedCord_)) return false;
2147      if(!packedInt32_.Equals(other.packedInt32_)) return false;
2148      if(!packedInt64_.Equals(other.packedInt64_)) return false;
2149      if(!packedUint32_.Equals(other.packedUint32_)) return false;
2150      if(!packedUint64_.Equals(other.packedUint64_)) return false;
2151      if(!packedSint32_.Equals(other.packedSint32_)) return false;
2152      if(!packedSint64_.Equals(other.packedSint64_)) return false;
2153      if(!packedFixed32_.Equals(other.packedFixed32_)) return false;
2154      if(!packedFixed64_.Equals(other.packedFixed64_)) return false;
2155      if(!packedSfixed32_.Equals(other.packedSfixed32_)) return false;
2156      if(!packedSfixed64_.Equals(other.packedSfixed64_)) return false;
2157      if(!packedFloat_.Equals(other.packedFloat_)) return false;
2158      if(!packedDouble_.Equals(other.packedDouble_)) return false;
2159      if(!packedBool_.Equals(other.packedBool_)) return false;
2160      if(!packedNestedEnum_.Equals(other.packedNestedEnum_)) return false;
2161      if(!unpackedInt32_.Equals(other.unpackedInt32_)) return false;
2162      if(!unpackedInt64_.Equals(other.unpackedInt64_)) return false;
2163      if(!unpackedUint32_.Equals(other.unpackedUint32_)) return false;
2164      if(!unpackedUint64_.Equals(other.unpackedUint64_)) return false;
2165      if(!unpackedSint32_.Equals(other.unpackedSint32_)) return false;
2166      if(!unpackedSint64_.Equals(other.unpackedSint64_)) return false;
2167      if(!unpackedFixed32_.Equals(other.unpackedFixed32_)) return false;
2168      if(!unpackedFixed64_.Equals(other.unpackedFixed64_)) return false;
2169      if(!unpackedSfixed32_.Equals(other.unpackedSfixed32_)) return false;
2170      if(!unpackedSfixed64_.Equals(other.unpackedSfixed64_)) return false;
2171      if(!unpackedFloat_.Equals(other.unpackedFloat_)) return false;
2172      if(!unpackedDouble_.Equals(other.unpackedDouble_)) return false;
2173      if(!unpackedBool_.Equals(other.unpackedBool_)) return false;
2174      if(!unpackedNestedEnum_.Equals(other.unpackedNestedEnum_)) return false;
2175      if (!MapInt32Int32.Equals(other.MapInt32Int32)) return false;
2176      if (!MapInt64Int64.Equals(other.MapInt64Int64)) return false;
2177      if (!MapUint32Uint32.Equals(other.MapUint32Uint32)) return false;
2178      if (!MapUint64Uint64.Equals(other.MapUint64Uint64)) return false;
2179      if (!MapSint32Sint32.Equals(other.MapSint32Sint32)) return false;
2180      if (!MapSint64Sint64.Equals(other.MapSint64Sint64)) return false;
2181      if (!MapFixed32Fixed32.Equals(other.MapFixed32Fixed32)) return false;
2182      if (!MapFixed64Fixed64.Equals(other.MapFixed64Fixed64)) return false;
2183      if (!MapSfixed32Sfixed32.Equals(other.MapSfixed32Sfixed32)) return false;
2184      if (!MapSfixed64Sfixed64.Equals(other.MapSfixed64Sfixed64)) return false;
2185      if (!MapInt32Float.Equals(other.MapInt32Float)) return false;
2186      if (!MapInt32Double.Equals(other.MapInt32Double)) return false;
2187      if (!MapBoolBool.Equals(other.MapBoolBool)) return false;
2188      if (!MapStringString.Equals(other.MapStringString)) return false;
2189      if (!MapStringBytes.Equals(other.MapStringBytes)) return false;
2190      if (!MapStringNestedMessage.Equals(other.MapStringNestedMessage)) return false;
2191      if (!MapStringForeignMessage.Equals(other.MapStringForeignMessage)) return false;
2192      if (!MapStringNestedEnum.Equals(other.MapStringNestedEnum)) return false;
2193      if (!MapStringForeignEnum.Equals(other.MapStringForeignEnum)) return false;
2194      if (OneofUint32 != other.OneofUint32) return false;
2195      if (!object.Equals(OneofNestedMessage, other.OneofNestedMessage)) return false;
2196      if (OneofString != other.OneofString) return false;
2197      if (OneofBytes != other.OneofBytes) return false;
2198      if (OneofBool != other.OneofBool) return false;
2199      if (OneofUint64 != other.OneofUint64) return false;
2200      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(OneofFloat, other.OneofFloat)) return false;
2201      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(OneofDouble, other.OneofDouble)) return false;
2202      if (OneofEnum != other.OneofEnum) return false;
2203      if (OptionalBoolWrapper != other.OptionalBoolWrapper) return false;
2204      if (OptionalInt32Wrapper != other.OptionalInt32Wrapper) return false;
2205      if (OptionalInt64Wrapper != other.OptionalInt64Wrapper) return false;
2206      if (OptionalUint32Wrapper != other.OptionalUint32Wrapper) return false;
2207      if (OptionalUint64Wrapper != other.OptionalUint64Wrapper) return false;
2208      if (!pbc::ProtobufEqualityComparers.BitwiseNullableSingleEqualityComparer.Equals(OptionalFloatWrapper, other.OptionalFloatWrapper)) return false;
2209      if (!pbc::ProtobufEqualityComparers.BitwiseNullableDoubleEqualityComparer.Equals(OptionalDoubleWrapper, other.OptionalDoubleWrapper)) return false;
2210      if (OptionalStringWrapper != other.OptionalStringWrapper) return false;
2211      if (OptionalBytesWrapper != other.OptionalBytesWrapper) return false;
2212      if(!repeatedBoolWrapper_.Equals(other.repeatedBoolWrapper_)) return false;
2213      if(!repeatedInt32Wrapper_.Equals(other.repeatedInt32Wrapper_)) return false;
2214      if(!repeatedInt64Wrapper_.Equals(other.repeatedInt64Wrapper_)) return false;
2215      if(!repeatedUint32Wrapper_.Equals(other.repeatedUint32Wrapper_)) return false;
2216      if(!repeatedUint64Wrapper_.Equals(other.repeatedUint64Wrapper_)) return false;
2217      if(!repeatedFloatWrapper_.Equals(other.repeatedFloatWrapper_)) return false;
2218      if(!repeatedDoubleWrapper_.Equals(other.repeatedDoubleWrapper_)) return false;
2219      if(!repeatedStringWrapper_.Equals(other.repeatedStringWrapper_)) return false;
2220      if(!repeatedBytesWrapper_.Equals(other.repeatedBytesWrapper_)) return false;
2221      if (!object.Equals(OptionalDuration, other.OptionalDuration)) return false;
2222      if (!object.Equals(OptionalTimestamp, other.OptionalTimestamp)) return false;
2223      if (!object.Equals(OptionalFieldMask, other.OptionalFieldMask)) return false;
2224      if (!object.Equals(OptionalStruct, other.OptionalStruct)) return false;
2225      if (!object.Equals(OptionalAny, other.OptionalAny)) return false;
2226      if (!object.Equals(OptionalValue, other.OptionalValue)) return false;
2227      if(!repeatedDuration_.Equals(other.repeatedDuration_)) return false;
2228      if(!repeatedTimestamp_.Equals(other.repeatedTimestamp_)) return false;
2229      if(!repeatedFieldmask_.Equals(other.repeatedFieldmask_)) return false;
2230      if(!repeatedStruct_.Equals(other.repeatedStruct_)) return false;
2231      if(!repeatedAny_.Equals(other.repeatedAny_)) return false;
2232      if(!repeatedValue_.Equals(other.repeatedValue_)) return false;
2233      if(!repeatedListValue_.Equals(other.repeatedListValue_)) return false;
2234      if (Fieldname1 != other.Fieldname1) return false;
2235      if (FieldName2 != other.FieldName2) return false;
2236      if (FieldName3 != other.FieldName3) return false;
2237      if (FieldName4 != other.FieldName4) return false;
2238      if (Field0Name5 != other.Field0Name5) return false;
2239      if (Field0Name6 != other.Field0Name6) return false;
2240      if (FieldName7 != other.FieldName7) return false;
2241      if (FieldName8 != other.FieldName8) return false;
2242      if (FieldName9 != other.FieldName9) return false;
2243      if (FieldName10 != other.FieldName10) return false;
2244      if (FIELDNAME11 != other.FIELDNAME11) return false;
2245      if (FIELDName12 != other.FIELDName12) return false;
2246      if (FieldName13 != other.FieldName13) return false;
2247      if (FieldName14 != other.FieldName14) return false;
2248      if (FieldName15 != other.FieldName15) return false;
2249      if (FieldName16 != other.FieldName16) return false;
2250      if (FieldName17 != other.FieldName17) return false;
2251      if (FieldName18 != other.FieldName18) return false;
2252      if (OneofFieldCase != other.OneofFieldCase) return false;
2253      return Equals(_unknownFields, other._unknownFields);
2254    }
2255
2256    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2257    public override int GetHashCode() {
2258      int hash = 1;
2259      if (OptionalInt32 != 0) hash ^= OptionalInt32.GetHashCode();
2260      if (OptionalInt64 != 0L) hash ^= OptionalInt64.GetHashCode();
2261      if (OptionalUint32 != 0) hash ^= OptionalUint32.GetHashCode();
2262      if (OptionalUint64 != 0UL) hash ^= OptionalUint64.GetHashCode();
2263      if (OptionalSint32 != 0) hash ^= OptionalSint32.GetHashCode();
2264      if (OptionalSint64 != 0L) hash ^= OptionalSint64.GetHashCode();
2265      if (OptionalFixed32 != 0) hash ^= OptionalFixed32.GetHashCode();
2266      if (OptionalFixed64 != 0UL) hash ^= OptionalFixed64.GetHashCode();
2267      if (OptionalSfixed32 != 0) hash ^= OptionalSfixed32.GetHashCode();
2268      if (OptionalSfixed64 != 0L) hash ^= OptionalSfixed64.GetHashCode();
2269      if (OptionalFloat != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(OptionalFloat);
2270      if (OptionalDouble != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(OptionalDouble);
2271      if (OptionalBool != false) hash ^= OptionalBool.GetHashCode();
2272      if (OptionalString.Length != 0) hash ^= OptionalString.GetHashCode();
2273      if (OptionalBytes.Length != 0) hash ^= OptionalBytes.GetHashCode();
2274      if (optionalNestedMessage_ != null) hash ^= OptionalNestedMessage.GetHashCode();
2275      if (optionalForeignMessage_ != null) hash ^= OptionalForeignMessage.GetHashCode();
2276      if (OptionalNestedEnum != global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum.Foo) hash ^= OptionalNestedEnum.GetHashCode();
2277      if (OptionalForeignEnum != global::ProtobufTestMessages.Proto3.ForeignEnum.ForeignFoo) hash ^= OptionalForeignEnum.GetHashCode();
2278      if (OptionalAliasedEnum != global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.AliasedEnum.AliasFoo) hash ^= OptionalAliasedEnum.GetHashCode();
2279      if (OptionalStringPiece.Length != 0) hash ^= OptionalStringPiece.GetHashCode();
2280      if (OptionalCord.Length != 0) hash ^= OptionalCord.GetHashCode();
2281      if (recursiveMessage_ != null) hash ^= RecursiveMessage.GetHashCode();
2282      hash ^= repeatedInt32_.GetHashCode();
2283      hash ^= repeatedInt64_.GetHashCode();
2284      hash ^= repeatedUint32_.GetHashCode();
2285      hash ^= repeatedUint64_.GetHashCode();
2286      hash ^= repeatedSint32_.GetHashCode();
2287      hash ^= repeatedSint64_.GetHashCode();
2288      hash ^= repeatedFixed32_.GetHashCode();
2289      hash ^= repeatedFixed64_.GetHashCode();
2290      hash ^= repeatedSfixed32_.GetHashCode();
2291      hash ^= repeatedSfixed64_.GetHashCode();
2292      hash ^= repeatedFloat_.GetHashCode();
2293      hash ^= repeatedDouble_.GetHashCode();
2294      hash ^= repeatedBool_.GetHashCode();
2295      hash ^= repeatedString_.GetHashCode();
2296      hash ^= repeatedBytes_.GetHashCode();
2297      hash ^= repeatedNestedMessage_.GetHashCode();
2298      hash ^= repeatedForeignMessage_.GetHashCode();
2299      hash ^= repeatedNestedEnum_.GetHashCode();
2300      hash ^= repeatedForeignEnum_.GetHashCode();
2301      hash ^= repeatedStringPiece_.GetHashCode();
2302      hash ^= repeatedCord_.GetHashCode();
2303      hash ^= packedInt32_.GetHashCode();
2304      hash ^= packedInt64_.GetHashCode();
2305      hash ^= packedUint32_.GetHashCode();
2306      hash ^= packedUint64_.GetHashCode();
2307      hash ^= packedSint32_.GetHashCode();
2308      hash ^= packedSint64_.GetHashCode();
2309      hash ^= packedFixed32_.GetHashCode();
2310      hash ^= packedFixed64_.GetHashCode();
2311      hash ^= packedSfixed32_.GetHashCode();
2312      hash ^= packedSfixed64_.GetHashCode();
2313      hash ^= packedFloat_.GetHashCode();
2314      hash ^= packedDouble_.GetHashCode();
2315      hash ^= packedBool_.GetHashCode();
2316      hash ^= packedNestedEnum_.GetHashCode();
2317      hash ^= unpackedInt32_.GetHashCode();
2318      hash ^= unpackedInt64_.GetHashCode();
2319      hash ^= unpackedUint32_.GetHashCode();
2320      hash ^= unpackedUint64_.GetHashCode();
2321      hash ^= unpackedSint32_.GetHashCode();
2322      hash ^= unpackedSint64_.GetHashCode();
2323      hash ^= unpackedFixed32_.GetHashCode();
2324      hash ^= unpackedFixed64_.GetHashCode();
2325      hash ^= unpackedSfixed32_.GetHashCode();
2326      hash ^= unpackedSfixed64_.GetHashCode();
2327      hash ^= unpackedFloat_.GetHashCode();
2328      hash ^= unpackedDouble_.GetHashCode();
2329      hash ^= unpackedBool_.GetHashCode();
2330      hash ^= unpackedNestedEnum_.GetHashCode();
2331      hash ^= MapInt32Int32.GetHashCode();
2332      hash ^= MapInt64Int64.GetHashCode();
2333      hash ^= MapUint32Uint32.GetHashCode();
2334      hash ^= MapUint64Uint64.GetHashCode();
2335      hash ^= MapSint32Sint32.GetHashCode();
2336      hash ^= MapSint64Sint64.GetHashCode();
2337      hash ^= MapFixed32Fixed32.GetHashCode();
2338      hash ^= MapFixed64Fixed64.GetHashCode();
2339      hash ^= MapSfixed32Sfixed32.GetHashCode();
2340      hash ^= MapSfixed64Sfixed64.GetHashCode();
2341      hash ^= MapInt32Float.GetHashCode();
2342      hash ^= MapInt32Double.GetHashCode();
2343      hash ^= MapBoolBool.GetHashCode();
2344      hash ^= MapStringString.GetHashCode();
2345      hash ^= MapStringBytes.GetHashCode();
2346      hash ^= MapStringNestedMessage.GetHashCode();
2347      hash ^= MapStringForeignMessage.GetHashCode();
2348      hash ^= MapStringNestedEnum.GetHashCode();
2349      hash ^= MapStringForeignEnum.GetHashCode();
2350      if (oneofFieldCase_ == OneofFieldOneofCase.OneofUint32) hash ^= OneofUint32.GetHashCode();
2351      if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) hash ^= OneofNestedMessage.GetHashCode();
2352      if (oneofFieldCase_ == OneofFieldOneofCase.OneofString) hash ^= OneofString.GetHashCode();
2353      if (oneofFieldCase_ == OneofFieldOneofCase.OneofBytes) hash ^= OneofBytes.GetHashCode();
2354      if (oneofFieldCase_ == OneofFieldOneofCase.OneofBool) hash ^= OneofBool.GetHashCode();
2355      if (oneofFieldCase_ == OneofFieldOneofCase.OneofUint64) hash ^= OneofUint64.GetHashCode();
2356      if (oneofFieldCase_ == OneofFieldOneofCase.OneofFloat) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(OneofFloat);
2357      if (oneofFieldCase_ == OneofFieldOneofCase.OneofDouble) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(OneofDouble);
2358      if (oneofFieldCase_ == OneofFieldOneofCase.OneofEnum) hash ^= OneofEnum.GetHashCode();
2359      if (optionalBoolWrapper_ != null) hash ^= OptionalBoolWrapper.GetHashCode();
2360      if (optionalInt32Wrapper_ != null) hash ^= OptionalInt32Wrapper.GetHashCode();
2361      if (optionalInt64Wrapper_ != null) hash ^= OptionalInt64Wrapper.GetHashCode();
2362      if (optionalUint32Wrapper_ != null) hash ^= OptionalUint32Wrapper.GetHashCode();
2363      if (optionalUint64Wrapper_ != null) hash ^= OptionalUint64Wrapper.GetHashCode();
2364      if (optionalFloatWrapper_ != null) hash ^= pbc::ProtobufEqualityComparers.BitwiseNullableSingleEqualityComparer.GetHashCode(OptionalFloatWrapper);
2365      if (optionalDoubleWrapper_ != null) hash ^= pbc::ProtobufEqualityComparers.BitwiseNullableDoubleEqualityComparer.GetHashCode(OptionalDoubleWrapper);
2366      if (optionalStringWrapper_ != null) hash ^= OptionalStringWrapper.GetHashCode();
2367      if (optionalBytesWrapper_ != null) hash ^= OptionalBytesWrapper.GetHashCode();
2368      hash ^= repeatedBoolWrapper_.GetHashCode();
2369      hash ^= repeatedInt32Wrapper_.GetHashCode();
2370      hash ^= repeatedInt64Wrapper_.GetHashCode();
2371      hash ^= repeatedUint32Wrapper_.GetHashCode();
2372      hash ^= repeatedUint64Wrapper_.GetHashCode();
2373      hash ^= repeatedFloatWrapper_.GetHashCode();
2374      hash ^= repeatedDoubleWrapper_.GetHashCode();
2375      hash ^= repeatedStringWrapper_.GetHashCode();
2376      hash ^= repeatedBytesWrapper_.GetHashCode();
2377      if (optionalDuration_ != null) hash ^= OptionalDuration.GetHashCode();
2378      if (optionalTimestamp_ != null) hash ^= OptionalTimestamp.GetHashCode();
2379      if (optionalFieldMask_ != null) hash ^= OptionalFieldMask.GetHashCode();
2380      if (optionalStruct_ != null) hash ^= OptionalStruct.GetHashCode();
2381      if (optionalAny_ != null) hash ^= OptionalAny.GetHashCode();
2382      if (optionalValue_ != null) hash ^= OptionalValue.GetHashCode();
2383      hash ^= repeatedDuration_.GetHashCode();
2384      hash ^= repeatedTimestamp_.GetHashCode();
2385      hash ^= repeatedFieldmask_.GetHashCode();
2386      hash ^= repeatedStruct_.GetHashCode();
2387      hash ^= repeatedAny_.GetHashCode();
2388      hash ^= repeatedValue_.GetHashCode();
2389      hash ^= repeatedListValue_.GetHashCode();
2390      if (Fieldname1 != 0) hash ^= Fieldname1.GetHashCode();
2391      if (FieldName2 != 0) hash ^= FieldName2.GetHashCode();
2392      if (FieldName3 != 0) hash ^= FieldName3.GetHashCode();
2393      if (FieldName4 != 0) hash ^= FieldName4.GetHashCode();
2394      if (Field0Name5 != 0) hash ^= Field0Name5.GetHashCode();
2395      if (Field0Name6 != 0) hash ^= Field0Name6.GetHashCode();
2396      if (FieldName7 != 0) hash ^= FieldName7.GetHashCode();
2397      if (FieldName8 != 0) hash ^= FieldName8.GetHashCode();
2398      if (FieldName9 != 0) hash ^= FieldName9.GetHashCode();
2399      if (FieldName10 != 0) hash ^= FieldName10.GetHashCode();
2400      if (FIELDNAME11 != 0) hash ^= FIELDNAME11.GetHashCode();
2401      if (FIELDName12 != 0) hash ^= FIELDName12.GetHashCode();
2402      if (FieldName13 != 0) hash ^= FieldName13.GetHashCode();
2403      if (FieldName14 != 0) hash ^= FieldName14.GetHashCode();
2404      if (FieldName15 != 0) hash ^= FieldName15.GetHashCode();
2405      if (FieldName16 != 0) hash ^= FieldName16.GetHashCode();
2406      if (FieldName17 != 0) hash ^= FieldName17.GetHashCode();
2407      if (FieldName18 != 0) hash ^= FieldName18.GetHashCode();
2408      hash ^= (int) oneofFieldCase_;
2409      if (_unknownFields != null) {
2410        hash ^= _unknownFields.GetHashCode();
2411      }
2412      return hash;
2413    }
2414
2415    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2416    public override string ToString() {
2417      return pb::JsonFormatter.ToDiagnosticString(this);
2418    }
2419
2420    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2421    public void WriteTo(pb::CodedOutputStream output) {
2422    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2423      output.WriteRawMessage(this);
2424    #else
2425      if (OptionalInt32 != 0) {
2426        output.WriteRawTag(8);
2427        output.WriteInt32(OptionalInt32);
2428      }
2429      if (OptionalInt64 != 0L) {
2430        output.WriteRawTag(16);
2431        output.WriteInt64(OptionalInt64);
2432      }
2433      if (OptionalUint32 != 0) {
2434        output.WriteRawTag(24);
2435        output.WriteUInt32(OptionalUint32);
2436      }
2437      if (OptionalUint64 != 0UL) {
2438        output.WriteRawTag(32);
2439        output.WriteUInt64(OptionalUint64);
2440      }
2441      if (OptionalSint32 != 0) {
2442        output.WriteRawTag(40);
2443        output.WriteSInt32(OptionalSint32);
2444      }
2445      if (OptionalSint64 != 0L) {
2446        output.WriteRawTag(48);
2447        output.WriteSInt64(OptionalSint64);
2448      }
2449      if (OptionalFixed32 != 0) {
2450        output.WriteRawTag(61);
2451        output.WriteFixed32(OptionalFixed32);
2452      }
2453      if (OptionalFixed64 != 0UL) {
2454        output.WriteRawTag(65);
2455        output.WriteFixed64(OptionalFixed64);
2456      }
2457      if (OptionalSfixed32 != 0) {
2458        output.WriteRawTag(77);
2459        output.WriteSFixed32(OptionalSfixed32);
2460      }
2461      if (OptionalSfixed64 != 0L) {
2462        output.WriteRawTag(81);
2463        output.WriteSFixed64(OptionalSfixed64);
2464      }
2465      if (OptionalFloat != 0F) {
2466        output.WriteRawTag(93);
2467        output.WriteFloat(OptionalFloat);
2468      }
2469      if (OptionalDouble != 0D) {
2470        output.WriteRawTag(97);
2471        output.WriteDouble(OptionalDouble);
2472      }
2473      if (OptionalBool != false) {
2474        output.WriteRawTag(104);
2475        output.WriteBool(OptionalBool);
2476      }
2477      if (OptionalString.Length != 0) {
2478        output.WriteRawTag(114);
2479        output.WriteString(OptionalString);
2480      }
2481      if (OptionalBytes.Length != 0) {
2482        output.WriteRawTag(122);
2483        output.WriteBytes(OptionalBytes);
2484      }
2485      if (optionalNestedMessage_ != null) {
2486        output.WriteRawTag(146, 1);
2487        output.WriteMessage(OptionalNestedMessage);
2488      }
2489      if (optionalForeignMessage_ != null) {
2490        output.WriteRawTag(154, 1);
2491        output.WriteMessage(OptionalForeignMessage);
2492      }
2493      if (OptionalNestedEnum != global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum.Foo) {
2494        output.WriteRawTag(168, 1);
2495        output.WriteEnum((int) OptionalNestedEnum);
2496      }
2497      if (OptionalForeignEnum != global::ProtobufTestMessages.Proto3.ForeignEnum.ForeignFoo) {
2498        output.WriteRawTag(176, 1);
2499        output.WriteEnum((int) OptionalForeignEnum);
2500      }
2501      if (OptionalAliasedEnum != global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.AliasedEnum.AliasFoo) {
2502        output.WriteRawTag(184, 1);
2503        output.WriteEnum((int) OptionalAliasedEnum);
2504      }
2505      if (OptionalStringPiece.Length != 0) {
2506        output.WriteRawTag(194, 1);
2507        output.WriteString(OptionalStringPiece);
2508      }
2509      if (OptionalCord.Length != 0) {
2510        output.WriteRawTag(202, 1);
2511        output.WriteString(OptionalCord);
2512      }
2513      if (recursiveMessage_ != null) {
2514        output.WriteRawTag(218, 1);
2515        output.WriteMessage(RecursiveMessage);
2516      }
2517      repeatedInt32_.WriteTo(output, _repeated_repeatedInt32_codec);
2518      repeatedInt64_.WriteTo(output, _repeated_repeatedInt64_codec);
2519      repeatedUint32_.WriteTo(output, _repeated_repeatedUint32_codec);
2520      repeatedUint64_.WriteTo(output, _repeated_repeatedUint64_codec);
2521      repeatedSint32_.WriteTo(output, _repeated_repeatedSint32_codec);
2522      repeatedSint64_.WriteTo(output, _repeated_repeatedSint64_codec);
2523      repeatedFixed32_.WriteTo(output, _repeated_repeatedFixed32_codec);
2524      repeatedFixed64_.WriteTo(output, _repeated_repeatedFixed64_codec);
2525      repeatedSfixed32_.WriteTo(output, _repeated_repeatedSfixed32_codec);
2526      repeatedSfixed64_.WriteTo(output, _repeated_repeatedSfixed64_codec);
2527      repeatedFloat_.WriteTo(output, _repeated_repeatedFloat_codec);
2528      repeatedDouble_.WriteTo(output, _repeated_repeatedDouble_codec);
2529      repeatedBool_.WriteTo(output, _repeated_repeatedBool_codec);
2530      repeatedString_.WriteTo(output, _repeated_repeatedString_codec);
2531      repeatedBytes_.WriteTo(output, _repeated_repeatedBytes_codec);
2532      repeatedNestedMessage_.WriteTo(output, _repeated_repeatedNestedMessage_codec);
2533      repeatedForeignMessage_.WriteTo(output, _repeated_repeatedForeignMessage_codec);
2534      repeatedNestedEnum_.WriteTo(output, _repeated_repeatedNestedEnum_codec);
2535      repeatedForeignEnum_.WriteTo(output, _repeated_repeatedForeignEnum_codec);
2536      repeatedStringPiece_.WriteTo(output, _repeated_repeatedStringPiece_codec);
2537      repeatedCord_.WriteTo(output, _repeated_repeatedCord_codec);
2538      mapInt32Int32_.WriteTo(output, _map_mapInt32Int32_codec);
2539      mapInt64Int64_.WriteTo(output, _map_mapInt64Int64_codec);
2540      mapUint32Uint32_.WriteTo(output, _map_mapUint32Uint32_codec);
2541      mapUint64Uint64_.WriteTo(output, _map_mapUint64Uint64_codec);
2542      mapSint32Sint32_.WriteTo(output, _map_mapSint32Sint32_codec);
2543      mapSint64Sint64_.WriteTo(output, _map_mapSint64Sint64_codec);
2544      mapFixed32Fixed32_.WriteTo(output, _map_mapFixed32Fixed32_codec);
2545      mapFixed64Fixed64_.WriteTo(output, _map_mapFixed64Fixed64_codec);
2546      mapSfixed32Sfixed32_.WriteTo(output, _map_mapSfixed32Sfixed32_codec);
2547      mapSfixed64Sfixed64_.WriteTo(output, _map_mapSfixed64Sfixed64_codec);
2548      mapInt32Float_.WriteTo(output, _map_mapInt32Float_codec);
2549      mapInt32Double_.WriteTo(output, _map_mapInt32Double_codec);
2550      mapBoolBool_.WriteTo(output, _map_mapBoolBool_codec);
2551      mapStringString_.WriteTo(output, _map_mapStringString_codec);
2552      mapStringBytes_.WriteTo(output, _map_mapStringBytes_codec);
2553      mapStringNestedMessage_.WriteTo(output, _map_mapStringNestedMessage_codec);
2554      mapStringForeignMessage_.WriteTo(output, _map_mapStringForeignMessage_codec);
2555      mapStringNestedEnum_.WriteTo(output, _map_mapStringNestedEnum_codec);
2556      mapStringForeignEnum_.WriteTo(output, _map_mapStringForeignEnum_codec);
2557      packedInt32_.WriteTo(output, _repeated_packedInt32_codec);
2558      packedInt64_.WriteTo(output, _repeated_packedInt64_codec);
2559      packedUint32_.WriteTo(output, _repeated_packedUint32_codec);
2560      packedUint64_.WriteTo(output, _repeated_packedUint64_codec);
2561      packedSint32_.WriteTo(output, _repeated_packedSint32_codec);
2562      packedSint64_.WriteTo(output, _repeated_packedSint64_codec);
2563      packedFixed32_.WriteTo(output, _repeated_packedFixed32_codec);
2564      packedFixed64_.WriteTo(output, _repeated_packedFixed64_codec);
2565      packedSfixed32_.WriteTo(output, _repeated_packedSfixed32_codec);
2566      packedSfixed64_.WriteTo(output, _repeated_packedSfixed64_codec);
2567      packedFloat_.WriteTo(output, _repeated_packedFloat_codec);
2568      packedDouble_.WriteTo(output, _repeated_packedDouble_codec);
2569      packedBool_.WriteTo(output, _repeated_packedBool_codec);
2570      packedNestedEnum_.WriteTo(output, _repeated_packedNestedEnum_codec);
2571      unpackedInt32_.WriteTo(output, _repeated_unpackedInt32_codec);
2572      unpackedInt64_.WriteTo(output, _repeated_unpackedInt64_codec);
2573      unpackedUint32_.WriteTo(output, _repeated_unpackedUint32_codec);
2574      unpackedUint64_.WriteTo(output, _repeated_unpackedUint64_codec);
2575      unpackedSint32_.WriteTo(output, _repeated_unpackedSint32_codec);
2576      unpackedSint64_.WriteTo(output, _repeated_unpackedSint64_codec);
2577      unpackedFixed32_.WriteTo(output, _repeated_unpackedFixed32_codec);
2578      unpackedFixed64_.WriteTo(output, _repeated_unpackedFixed64_codec);
2579      unpackedSfixed32_.WriteTo(output, _repeated_unpackedSfixed32_codec);
2580      unpackedSfixed64_.WriteTo(output, _repeated_unpackedSfixed64_codec);
2581      unpackedFloat_.WriteTo(output, _repeated_unpackedFloat_codec);
2582      unpackedDouble_.WriteTo(output, _repeated_unpackedDouble_codec);
2583      unpackedBool_.WriteTo(output, _repeated_unpackedBool_codec);
2584      unpackedNestedEnum_.WriteTo(output, _repeated_unpackedNestedEnum_codec);
2585      if (oneofFieldCase_ == OneofFieldOneofCase.OneofUint32) {
2586        output.WriteRawTag(248, 6);
2587        output.WriteUInt32(OneofUint32);
2588      }
2589      if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) {
2590        output.WriteRawTag(130, 7);
2591        output.WriteMessage(OneofNestedMessage);
2592      }
2593      if (oneofFieldCase_ == OneofFieldOneofCase.OneofString) {
2594        output.WriteRawTag(138, 7);
2595        output.WriteString(OneofString);
2596      }
2597      if (oneofFieldCase_ == OneofFieldOneofCase.OneofBytes) {
2598        output.WriteRawTag(146, 7);
2599        output.WriteBytes(OneofBytes);
2600      }
2601      if (oneofFieldCase_ == OneofFieldOneofCase.OneofBool) {
2602        output.WriteRawTag(152, 7);
2603        output.WriteBool(OneofBool);
2604      }
2605      if (oneofFieldCase_ == OneofFieldOneofCase.OneofUint64) {
2606        output.WriteRawTag(160, 7);
2607        output.WriteUInt64(OneofUint64);
2608      }
2609      if (oneofFieldCase_ == OneofFieldOneofCase.OneofFloat) {
2610        output.WriteRawTag(173, 7);
2611        output.WriteFloat(OneofFloat);
2612      }
2613      if (oneofFieldCase_ == OneofFieldOneofCase.OneofDouble) {
2614        output.WriteRawTag(177, 7);
2615        output.WriteDouble(OneofDouble);
2616      }
2617      if (oneofFieldCase_ == OneofFieldOneofCase.OneofEnum) {
2618        output.WriteRawTag(184, 7);
2619        output.WriteEnum((int) OneofEnum);
2620      }
2621      if (optionalBoolWrapper_ != null) {
2622        _single_optionalBoolWrapper_codec.WriteTagAndValue(output, OptionalBoolWrapper);
2623      }
2624      if (optionalInt32Wrapper_ != null) {
2625        _single_optionalInt32Wrapper_codec.WriteTagAndValue(output, OptionalInt32Wrapper);
2626      }
2627      if (optionalInt64Wrapper_ != null) {
2628        _single_optionalInt64Wrapper_codec.WriteTagAndValue(output, OptionalInt64Wrapper);
2629      }
2630      if (optionalUint32Wrapper_ != null) {
2631        _single_optionalUint32Wrapper_codec.WriteTagAndValue(output, OptionalUint32Wrapper);
2632      }
2633      if (optionalUint64Wrapper_ != null) {
2634        _single_optionalUint64Wrapper_codec.WriteTagAndValue(output, OptionalUint64Wrapper);
2635      }
2636      if (optionalFloatWrapper_ != null) {
2637        _single_optionalFloatWrapper_codec.WriteTagAndValue(output, OptionalFloatWrapper);
2638      }
2639      if (optionalDoubleWrapper_ != null) {
2640        _single_optionalDoubleWrapper_codec.WriteTagAndValue(output, OptionalDoubleWrapper);
2641      }
2642      if (optionalStringWrapper_ != null) {
2643        _single_optionalStringWrapper_codec.WriteTagAndValue(output, OptionalStringWrapper);
2644      }
2645      if (optionalBytesWrapper_ != null) {
2646        _single_optionalBytesWrapper_codec.WriteTagAndValue(output, OptionalBytesWrapper);
2647      }
2648      repeatedBoolWrapper_.WriteTo(output, _repeated_repeatedBoolWrapper_codec);
2649      repeatedInt32Wrapper_.WriteTo(output, _repeated_repeatedInt32Wrapper_codec);
2650      repeatedInt64Wrapper_.WriteTo(output, _repeated_repeatedInt64Wrapper_codec);
2651      repeatedUint32Wrapper_.WriteTo(output, _repeated_repeatedUint32Wrapper_codec);
2652      repeatedUint64Wrapper_.WriteTo(output, _repeated_repeatedUint64Wrapper_codec);
2653      repeatedFloatWrapper_.WriteTo(output, _repeated_repeatedFloatWrapper_codec);
2654      repeatedDoubleWrapper_.WriteTo(output, _repeated_repeatedDoubleWrapper_codec);
2655      repeatedStringWrapper_.WriteTo(output, _repeated_repeatedStringWrapper_codec);
2656      repeatedBytesWrapper_.WriteTo(output, _repeated_repeatedBytesWrapper_codec);
2657      if (optionalDuration_ != null) {
2658        output.WriteRawTag(234, 18);
2659        output.WriteMessage(OptionalDuration);
2660      }
2661      if (optionalTimestamp_ != null) {
2662        output.WriteRawTag(242, 18);
2663        output.WriteMessage(OptionalTimestamp);
2664      }
2665      if (optionalFieldMask_ != null) {
2666        output.WriteRawTag(250, 18);
2667        output.WriteMessage(OptionalFieldMask);
2668      }
2669      if (optionalStruct_ != null) {
2670        output.WriteRawTag(130, 19);
2671        output.WriteMessage(OptionalStruct);
2672      }
2673      if (optionalAny_ != null) {
2674        output.WriteRawTag(138, 19);
2675        output.WriteMessage(OptionalAny);
2676      }
2677      if (optionalValue_ != null) {
2678        output.WriteRawTag(146, 19);
2679        output.WriteMessage(OptionalValue);
2680      }
2681      repeatedDuration_.WriteTo(output, _repeated_repeatedDuration_codec);
2682      repeatedTimestamp_.WriteTo(output, _repeated_repeatedTimestamp_codec);
2683      repeatedFieldmask_.WriteTo(output, _repeated_repeatedFieldmask_codec);
2684      repeatedAny_.WriteTo(output, _repeated_repeatedAny_codec);
2685      repeatedValue_.WriteTo(output, _repeated_repeatedValue_codec);
2686      repeatedListValue_.WriteTo(output, _repeated_repeatedListValue_codec);
2687      repeatedStruct_.WriteTo(output, _repeated_repeatedStruct_codec);
2688      if (Fieldname1 != 0) {
2689        output.WriteRawTag(136, 25);
2690        output.WriteInt32(Fieldname1);
2691      }
2692      if (FieldName2 != 0) {
2693        output.WriteRawTag(144, 25);
2694        output.WriteInt32(FieldName2);
2695      }
2696      if (FieldName3 != 0) {
2697        output.WriteRawTag(152, 25);
2698        output.WriteInt32(FieldName3);
2699      }
2700      if (FieldName4 != 0) {
2701        output.WriteRawTag(160, 25);
2702        output.WriteInt32(FieldName4);
2703      }
2704      if (Field0Name5 != 0) {
2705        output.WriteRawTag(168, 25);
2706        output.WriteInt32(Field0Name5);
2707      }
2708      if (Field0Name6 != 0) {
2709        output.WriteRawTag(176, 25);
2710        output.WriteInt32(Field0Name6);
2711      }
2712      if (FieldName7 != 0) {
2713        output.WriteRawTag(184, 25);
2714        output.WriteInt32(FieldName7);
2715      }
2716      if (FieldName8 != 0) {
2717        output.WriteRawTag(192, 25);
2718        output.WriteInt32(FieldName8);
2719      }
2720      if (FieldName9 != 0) {
2721        output.WriteRawTag(200, 25);
2722        output.WriteInt32(FieldName9);
2723      }
2724      if (FieldName10 != 0) {
2725        output.WriteRawTag(208, 25);
2726        output.WriteInt32(FieldName10);
2727      }
2728      if (FIELDNAME11 != 0) {
2729        output.WriteRawTag(216, 25);
2730        output.WriteInt32(FIELDNAME11);
2731      }
2732      if (FIELDName12 != 0) {
2733        output.WriteRawTag(224, 25);
2734        output.WriteInt32(FIELDName12);
2735      }
2736      if (FieldName13 != 0) {
2737        output.WriteRawTag(232, 25);
2738        output.WriteInt32(FieldName13);
2739      }
2740      if (FieldName14 != 0) {
2741        output.WriteRawTag(240, 25);
2742        output.WriteInt32(FieldName14);
2743      }
2744      if (FieldName15 != 0) {
2745        output.WriteRawTag(248, 25);
2746        output.WriteInt32(FieldName15);
2747      }
2748      if (FieldName16 != 0) {
2749        output.WriteRawTag(128, 26);
2750        output.WriteInt32(FieldName16);
2751      }
2752      if (FieldName17 != 0) {
2753        output.WriteRawTag(136, 26);
2754        output.WriteInt32(FieldName17);
2755      }
2756      if (FieldName18 != 0) {
2757        output.WriteRawTag(144, 26);
2758        output.WriteInt32(FieldName18);
2759      }
2760      if (_unknownFields != null) {
2761        _unknownFields.WriteTo(output);
2762      }
2763    #endif
2764    }
2765
2766    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2767    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2768    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2769      if (OptionalInt32 != 0) {
2770        output.WriteRawTag(8);
2771        output.WriteInt32(OptionalInt32);
2772      }
2773      if (OptionalInt64 != 0L) {
2774        output.WriteRawTag(16);
2775        output.WriteInt64(OptionalInt64);
2776      }
2777      if (OptionalUint32 != 0) {
2778        output.WriteRawTag(24);
2779        output.WriteUInt32(OptionalUint32);
2780      }
2781      if (OptionalUint64 != 0UL) {
2782        output.WriteRawTag(32);
2783        output.WriteUInt64(OptionalUint64);
2784      }
2785      if (OptionalSint32 != 0) {
2786        output.WriteRawTag(40);
2787        output.WriteSInt32(OptionalSint32);
2788      }
2789      if (OptionalSint64 != 0L) {
2790        output.WriteRawTag(48);
2791        output.WriteSInt64(OptionalSint64);
2792      }
2793      if (OptionalFixed32 != 0) {
2794        output.WriteRawTag(61);
2795        output.WriteFixed32(OptionalFixed32);
2796      }
2797      if (OptionalFixed64 != 0UL) {
2798        output.WriteRawTag(65);
2799        output.WriteFixed64(OptionalFixed64);
2800      }
2801      if (OptionalSfixed32 != 0) {
2802        output.WriteRawTag(77);
2803        output.WriteSFixed32(OptionalSfixed32);
2804      }
2805      if (OptionalSfixed64 != 0L) {
2806        output.WriteRawTag(81);
2807        output.WriteSFixed64(OptionalSfixed64);
2808      }
2809      if (OptionalFloat != 0F) {
2810        output.WriteRawTag(93);
2811        output.WriteFloat(OptionalFloat);
2812      }
2813      if (OptionalDouble != 0D) {
2814        output.WriteRawTag(97);
2815        output.WriteDouble(OptionalDouble);
2816      }
2817      if (OptionalBool != false) {
2818        output.WriteRawTag(104);
2819        output.WriteBool(OptionalBool);
2820      }
2821      if (OptionalString.Length != 0) {
2822        output.WriteRawTag(114);
2823        output.WriteString(OptionalString);
2824      }
2825      if (OptionalBytes.Length != 0) {
2826        output.WriteRawTag(122);
2827        output.WriteBytes(OptionalBytes);
2828      }
2829      if (optionalNestedMessage_ != null) {
2830        output.WriteRawTag(146, 1);
2831        output.WriteMessage(OptionalNestedMessage);
2832      }
2833      if (optionalForeignMessage_ != null) {
2834        output.WriteRawTag(154, 1);
2835        output.WriteMessage(OptionalForeignMessage);
2836      }
2837      if (OptionalNestedEnum != global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum.Foo) {
2838        output.WriteRawTag(168, 1);
2839        output.WriteEnum((int) OptionalNestedEnum);
2840      }
2841      if (OptionalForeignEnum != global::ProtobufTestMessages.Proto3.ForeignEnum.ForeignFoo) {
2842        output.WriteRawTag(176, 1);
2843        output.WriteEnum((int) OptionalForeignEnum);
2844      }
2845      if (OptionalAliasedEnum != global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.AliasedEnum.AliasFoo) {
2846        output.WriteRawTag(184, 1);
2847        output.WriteEnum((int) OptionalAliasedEnum);
2848      }
2849      if (OptionalStringPiece.Length != 0) {
2850        output.WriteRawTag(194, 1);
2851        output.WriteString(OptionalStringPiece);
2852      }
2853      if (OptionalCord.Length != 0) {
2854        output.WriteRawTag(202, 1);
2855        output.WriteString(OptionalCord);
2856      }
2857      if (recursiveMessage_ != null) {
2858        output.WriteRawTag(218, 1);
2859        output.WriteMessage(RecursiveMessage);
2860      }
2861      repeatedInt32_.WriteTo(ref output, _repeated_repeatedInt32_codec);
2862      repeatedInt64_.WriteTo(ref output, _repeated_repeatedInt64_codec);
2863      repeatedUint32_.WriteTo(ref output, _repeated_repeatedUint32_codec);
2864      repeatedUint64_.WriteTo(ref output, _repeated_repeatedUint64_codec);
2865      repeatedSint32_.WriteTo(ref output, _repeated_repeatedSint32_codec);
2866      repeatedSint64_.WriteTo(ref output, _repeated_repeatedSint64_codec);
2867      repeatedFixed32_.WriteTo(ref output, _repeated_repeatedFixed32_codec);
2868      repeatedFixed64_.WriteTo(ref output, _repeated_repeatedFixed64_codec);
2869      repeatedSfixed32_.WriteTo(ref output, _repeated_repeatedSfixed32_codec);
2870      repeatedSfixed64_.WriteTo(ref output, _repeated_repeatedSfixed64_codec);
2871      repeatedFloat_.WriteTo(ref output, _repeated_repeatedFloat_codec);
2872      repeatedDouble_.WriteTo(ref output, _repeated_repeatedDouble_codec);
2873      repeatedBool_.WriteTo(ref output, _repeated_repeatedBool_codec);
2874      repeatedString_.WriteTo(ref output, _repeated_repeatedString_codec);
2875      repeatedBytes_.WriteTo(ref output, _repeated_repeatedBytes_codec);
2876      repeatedNestedMessage_.WriteTo(ref output, _repeated_repeatedNestedMessage_codec);
2877      repeatedForeignMessage_.WriteTo(ref output, _repeated_repeatedForeignMessage_codec);
2878      repeatedNestedEnum_.WriteTo(ref output, _repeated_repeatedNestedEnum_codec);
2879      repeatedForeignEnum_.WriteTo(ref output, _repeated_repeatedForeignEnum_codec);
2880      repeatedStringPiece_.WriteTo(ref output, _repeated_repeatedStringPiece_codec);
2881      repeatedCord_.WriteTo(ref output, _repeated_repeatedCord_codec);
2882      mapInt32Int32_.WriteTo(ref output, _map_mapInt32Int32_codec);
2883      mapInt64Int64_.WriteTo(ref output, _map_mapInt64Int64_codec);
2884      mapUint32Uint32_.WriteTo(ref output, _map_mapUint32Uint32_codec);
2885      mapUint64Uint64_.WriteTo(ref output, _map_mapUint64Uint64_codec);
2886      mapSint32Sint32_.WriteTo(ref output, _map_mapSint32Sint32_codec);
2887      mapSint64Sint64_.WriteTo(ref output, _map_mapSint64Sint64_codec);
2888      mapFixed32Fixed32_.WriteTo(ref output, _map_mapFixed32Fixed32_codec);
2889      mapFixed64Fixed64_.WriteTo(ref output, _map_mapFixed64Fixed64_codec);
2890      mapSfixed32Sfixed32_.WriteTo(ref output, _map_mapSfixed32Sfixed32_codec);
2891      mapSfixed64Sfixed64_.WriteTo(ref output, _map_mapSfixed64Sfixed64_codec);
2892      mapInt32Float_.WriteTo(ref output, _map_mapInt32Float_codec);
2893      mapInt32Double_.WriteTo(ref output, _map_mapInt32Double_codec);
2894      mapBoolBool_.WriteTo(ref output, _map_mapBoolBool_codec);
2895      mapStringString_.WriteTo(ref output, _map_mapStringString_codec);
2896      mapStringBytes_.WriteTo(ref output, _map_mapStringBytes_codec);
2897      mapStringNestedMessage_.WriteTo(ref output, _map_mapStringNestedMessage_codec);
2898      mapStringForeignMessage_.WriteTo(ref output, _map_mapStringForeignMessage_codec);
2899      mapStringNestedEnum_.WriteTo(ref output, _map_mapStringNestedEnum_codec);
2900      mapStringForeignEnum_.WriteTo(ref output, _map_mapStringForeignEnum_codec);
2901      packedInt32_.WriteTo(ref output, _repeated_packedInt32_codec);
2902      packedInt64_.WriteTo(ref output, _repeated_packedInt64_codec);
2903      packedUint32_.WriteTo(ref output, _repeated_packedUint32_codec);
2904      packedUint64_.WriteTo(ref output, _repeated_packedUint64_codec);
2905      packedSint32_.WriteTo(ref output, _repeated_packedSint32_codec);
2906      packedSint64_.WriteTo(ref output, _repeated_packedSint64_codec);
2907      packedFixed32_.WriteTo(ref output, _repeated_packedFixed32_codec);
2908      packedFixed64_.WriteTo(ref output, _repeated_packedFixed64_codec);
2909      packedSfixed32_.WriteTo(ref output, _repeated_packedSfixed32_codec);
2910      packedSfixed64_.WriteTo(ref output, _repeated_packedSfixed64_codec);
2911      packedFloat_.WriteTo(ref output, _repeated_packedFloat_codec);
2912      packedDouble_.WriteTo(ref output, _repeated_packedDouble_codec);
2913      packedBool_.WriteTo(ref output, _repeated_packedBool_codec);
2914      packedNestedEnum_.WriteTo(ref output, _repeated_packedNestedEnum_codec);
2915      unpackedInt32_.WriteTo(ref output, _repeated_unpackedInt32_codec);
2916      unpackedInt64_.WriteTo(ref output, _repeated_unpackedInt64_codec);
2917      unpackedUint32_.WriteTo(ref output, _repeated_unpackedUint32_codec);
2918      unpackedUint64_.WriteTo(ref output, _repeated_unpackedUint64_codec);
2919      unpackedSint32_.WriteTo(ref output, _repeated_unpackedSint32_codec);
2920      unpackedSint64_.WriteTo(ref output, _repeated_unpackedSint64_codec);
2921      unpackedFixed32_.WriteTo(ref output, _repeated_unpackedFixed32_codec);
2922      unpackedFixed64_.WriteTo(ref output, _repeated_unpackedFixed64_codec);
2923      unpackedSfixed32_.WriteTo(ref output, _repeated_unpackedSfixed32_codec);
2924      unpackedSfixed64_.WriteTo(ref output, _repeated_unpackedSfixed64_codec);
2925      unpackedFloat_.WriteTo(ref output, _repeated_unpackedFloat_codec);
2926      unpackedDouble_.WriteTo(ref output, _repeated_unpackedDouble_codec);
2927      unpackedBool_.WriteTo(ref output, _repeated_unpackedBool_codec);
2928      unpackedNestedEnum_.WriteTo(ref output, _repeated_unpackedNestedEnum_codec);
2929      if (oneofFieldCase_ == OneofFieldOneofCase.OneofUint32) {
2930        output.WriteRawTag(248, 6);
2931        output.WriteUInt32(OneofUint32);
2932      }
2933      if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) {
2934        output.WriteRawTag(130, 7);
2935        output.WriteMessage(OneofNestedMessage);
2936      }
2937      if (oneofFieldCase_ == OneofFieldOneofCase.OneofString) {
2938        output.WriteRawTag(138, 7);
2939        output.WriteString(OneofString);
2940      }
2941      if (oneofFieldCase_ == OneofFieldOneofCase.OneofBytes) {
2942        output.WriteRawTag(146, 7);
2943        output.WriteBytes(OneofBytes);
2944      }
2945      if (oneofFieldCase_ == OneofFieldOneofCase.OneofBool) {
2946        output.WriteRawTag(152, 7);
2947        output.WriteBool(OneofBool);
2948      }
2949      if (oneofFieldCase_ == OneofFieldOneofCase.OneofUint64) {
2950        output.WriteRawTag(160, 7);
2951        output.WriteUInt64(OneofUint64);
2952      }
2953      if (oneofFieldCase_ == OneofFieldOneofCase.OneofFloat) {
2954        output.WriteRawTag(173, 7);
2955        output.WriteFloat(OneofFloat);
2956      }
2957      if (oneofFieldCase_ == OneofFieldOneofCase.OneofDouble) {
2958        output.WriteRawTag(177, 7);
2959        output.WriteDouble(OneofDouble);
2960      }
2961      if (oneofFieldCase_ == OneofFieldOneofCase.OneofEnum) {
2962        output.WriteRawTag(184, 7);
2963        output.WriteEnum((int) OneofEnum);
2964      }
2965      if (optionalBoolWrapper_ != null) {
2966        _single_optionalBoolWrapper_codec.WriteTagAndValue(ref output, OptionalBoolWrapper);
2967      }
2968      if (optionalInt32Wrapper_ != null) {
2969        _single_optionalInt32Wrapper_codec.WriteTagAndValue(ref output, OptionalInt32Wrapper);
2970      }
2971      if (optionalInt64Wrapper_ != null) {
2972        _single_optionalInt64Wrapper_codec.WriteTagAndValue(ref output, OptionalInt64Wrapper);
2973      }
2974      if (optionalUint32Wrapper_ != null) {
2975        _single_optionalUint32Wrapper_codec.WriteTagAndValue(ref output, OptionalUint32Wrapper);
2976      }
2977      if (optionalUint64Wrapper_ != null) {
2978        _single_optionalUint64Wrapper_codec.WriteTagAndValue(ref output, OptionalUint64Wrapper);
2979      }
2980      if (optionalFloatWrapper_ != null) {
2981        _single_optionalFloatWrapper_codec.WriteTagAndValue(ref output, OptionalFloatWrapper);
2982      }
2983      if (optionalDoubleWrapper_ != null) {
2984        _single_optionalDoubleWrapper_codec.WriteTagAndValue(ref output, OptionalDoubleWrapper);
2985      }
2986      if (optionalStringWrapper_ != null) {
2987        _single_optionalStringWrapper_codec.WriteTagAndValue(ref output, OptionalStringWrapper);
2988      }
2989      if (optionalBytesWrapper_ != null) {
2990        _single_optionalBytesWrapper_codec.WriteTagAndValue(ref output, OptionalBytesWrapper);
2991      }
2992      repeatedBoolWrapper_.WriteTo(ref output, _repeated_repeatedBoolWrapper_codec);
2993      repeatedInt32Wrapper_.WriteTo(ref output, _repeated_repeatedInt32Wrapper_codec);
2994      repeatedInt64Wrapper_.WriteTo(ref output, _repeated_repeatedInt64Wrapper_codec);
2995      repeatedUint32Wrapper_.WriteTo(ref output, _repeated_repeatedUint32Wrapper_codec);
2996      repeatedUint64Wrapper_.WriteTo(ref output, _repeated_repeatedUint64Wrapper_codec);
2997      repeatedFloatWrapper_.WriteTo(ref output, _repeated_repeatedFloatWrapper_codec);
2998      repeatedDoubleWrapper_.WriteTo(ref output, _repeated_repeatedDoubleWrapper_codec);
2999      repeatedStringWrapper_.WriteTo(ref output, _repeated_repeatedStringWrapper_codec);
3000      repeatedBytesWrapper_.WriteTo(ref output, _repeated_repeatedBytesWrapper_codec);
3001      if (optionalDuration_ != null) {
3002        output.WriteRawTag(234, 18);
3003        output.WriteMessage(OptionalDuration);
3004      }
3005      if (optionalTimestamp_ != null) {
3006        output.WriteRawTag(242, 18);
3007        output.WriteMessage(OptionalTimestamp);
3008      }
3009      if (optionalFieldMask_ != null) {
3010        output.WriteRawTag(250, 18);
3011        output.WriteMessage(OptionalFieldMask);
3012      }
3013      if (optionalStruct_ != null) {
3014        output.WriteRawTag(130, 19);
3015        output.WriteMessage(OptionalStruct);
3016      }
3017      if (optionalAny_ != null) {
3018        output.WriteRawTag(138, 19);
3019        output.WriteMessage(OptionalAny);
3020      }
3021      if (optionalValue_ != null) {
3022        output.WriteRawTag(146, 19);
3023        output.WriteMessage(OptionalValue);
3024      }
3025      repeatedDuration_.WriteTo(ref output, _repeated_repeatedDuration_codec);
3026      repeatedTimestamp_.WriteTo(ref output, _repeated_repeatedTimestamp_codec);
3027      repeatedFieldmask_.WriteTo(ref output, _repeated_repeatedFieldmask_codec);
3028      repeatedAny_.WriteTo(ref output, _repeated_repeatedAny_codec);
3029      repeatedValue_.WriteTo(ref output, _repeated_repeatedValue_codec);
3030      repeatedListValue_.WriteTo(ref output, _repeated_repeatedListValue_codec);
3031      repeatedStruct_.WriteTo(ref output, _repeated_repeatedStruct_codec);
3032      if (Fieldname1 != 0) {
3033        output.WriteRawTag(136, 25);
3034        output.WriteInt32(Fieldname1);
3035      }
3036      if (FieldName2 != 0) {
3037        output.WriteRawTag(144, 25);
3038        output.WriteInt32(FieldName2);
3039      }
3040      if (FieldName3 != 0) {
3041        output.WriteRawTag(152, 25);
3042        output.WriteInt32(FieldName3);
3043      }
3044      if (FieldName4 != 0) {
3045        output.WriteRawTag(160, 25);
3046        output.WriteInt32(FieldName4);
3047      }
3048      if (Field0Name5 != 0) {
3049        output.WriteRawTag(168, 25);
3050        output.WriteInt32(Field0Name5);
3051      }
3052      if (Field0Name6 != 0) {
3053        output.WriteRawTag(176, 25);
3054        output.WriteInt32(Field0Name6);
3055      }
3056      if (FieldName7 != 0) {
3057        output.WriteRawTag(184, 25);
3058        output.WriteInt32(FieldName7);
3059      }
3060      if (FieldName8 != 0) {
3061        output.WriteRawTag(192, 25);
3062        output.WriteInt32(FieldName8);
3063      }
3064      if (FieldName9 != 0) {
3065        output.WriteRawTag(200, 25);
3066        output.WriteInt32(FieldName9);
3067      }
3068      if (FieldName10 != 0) {
3069        output.WriteRawTag(208, 25);
3070        output.WriteInt32(FieldName10);
3071      }
3072      if (FIELDNAME11 != 0) {
3073        output.WriteRawTag(216, 25);
3074        output.WriteInt32(FIELDNAME11);
3075      }
3076      if (FIELDName12 != 0) {
3077        output.WriteRawTag(224, 25);
3078        output.WriteInt32(FIELDName12);
3079      }
3080      if (FieldName13 != 0) {
3081        output.WriteRawTag(232, 25);
3082        output.WriteInt32(FieldName13);
3083      }
3084      if (FieldName14 != 0) {
3085        output.WriteRawTag(240, 25);
3086        output.WriteInt32(FieldName14);
3087      }
3088      if (FieldName15 != 0) {
3089        output.WriteRawTag(248, 25);
3090        output.WriteInt32(FieldName15);
3091      }
3092      if (FieldName16 != 0) {
3093        output.WriteRawTag(128, 26);
3094        output.WriteInt32(FieldName16);
3095      }
3096      if (FieldName17 != 0) {
3097        output.WriteRawTag(136, 26);
3098        output.WriteInt32(FieldName17);
3099      }
3100      if (FieldName18 != 0) {
3101        output.WriteRawTag(144, 26);
3102        output.WriteInt32(FieldName18);
3103      }
3104      if (_unknownFields != null) {
3105        _unknownFields.WriteTo(ref output);
3106      }
3107    }
3108    #endif
3109
3110    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3111    public int CalculateSize() {
3112      int size = 0;
3113      if (OptionalInt32 != 0) {
3114        size += 1 + pb::CodedOutputStream.ComputeInt32Size(OptionalInt32);
3115      }
3116      if (OptionalInt64 != 0L) {
3117        size += 1 + pb::CodedOutputStream.ComputeInt64Size(OptionalInt64);
3118      }
3119      if (OptionalUint32 != 0) {
3120        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(OptionalUint32);
3121      }
3122      if (OptionalUint64 != 0UL) {
3123        size += 1 + pb::CodedOutputStream.ComputeUInt64Size(OptionalUint64);
3124      }
3125      if (OptionalSint32 != 0) {
3126        size += 1 + pb::CodedOutputStream.ComputeSInt32Size(OptionalSint32);
3127      }
3128      if (OptionalSint64 != 0L) {
3129        size += 1 + pb::CodedOutputStream.ComputeSInt64Size(OptionalSint64);
3130      }
3131      if (OptionalFixed32 != 0) {
3132        size += 1 + 4;
3133      }
3134      if (OptionalFixed64 != 0UL) {
3135        size += 1 + 8;
3136      }
3137      if (OptionalSfixed32 != 0) {
3138        size += 1 + 4;
3139      }
3140      if (OptionalSfixed64 != 0L) {
3141        size += 1 + 8;
3142      }
3143      if (OptionalFloat != 0F) {
3144        size += 1 + 4;
3145      }
3146      if (OptionalDouble != 0D) {
3147        size += 1 + 8;
3148      }
3149      if (OptionalBool != false) {
3150        size += 1 + 1;
3151      }
3152      if (OptionalString.Length != 0) {
3153        size += 1 + pb::CodedOutputStream.ComputeStringSize(OptionalString);
3154      }
3155      if (OptionalBytes.Length != 0) {
3156        size += 1 + pb::CodedOutputStream.ComputeBytesSize(OptionalBytes);
3157      }
3158      if (optionalNestedMessage_ != null) {
3159        size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalNestedMessage);
3160      }
3161      if (optionalForeignMessage_ != null) {
3162        size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalForeignMessage);
3163      }
3164      if (OptionalNestedEnum != global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum.Foo) {
3165        size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) OptionalNestedEnum);
3166      }
3167      if (OptionalForeignEnum != global::ProtobufTestMessages.Proto3.ForeignEnum.ForeignFoo) {
3168        size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) OptionalForeignEnum);
3169      }
3170      if (OptionalAliasedEnum != global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.AliasedEnum.AliasFoo) {
3171        size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) OptionalAliasedEnum);
3172      }
3173      if (OptionalStringPiece.Length != 0) {
3174        size += 2 + pb::CodedOutputStream.ComputeStringSize(OptionalStringPiece);
3175      }
3176      if (OptionalCord.Length != 0) {
3177        size += 2 + pb::CodedOutputStream.ComputeStringSize(OptionalCord);
3178      }
3179      if (recursiveMessage_ != null) {
3180        size += 2 + pb::CodedOutputStream.ComputeMessageSize(RecursiveMessage);
3181      }
3182      size += repeatedInt32_.CalculateSize(_repeated_repeatedInt32_codec);
3183      size += repeatedInt64_.CalculateSize(_repeated_repeatedInt64_codec);
3184      size += repeatedUint32_.CalculateSize(_repeated_repeatedUint32_codec);
3185      size += repeatedUint64_.CalculateSize(_repeated_repeatedUint64_codec);
3186      size += repeatedSint32_.CalculateSize(_repeated_repeatedSint32_codec);
3187      size += repeatedSint64_.CalculateSize(_repeated_repeatedSint64_codec);
3188      size += repeatedFixed32_.CalculateSize(_repeated_repeatedFixed32_codec);
3189      size += repeatedFixed64_.CalculateSize(_repeated_repeatedFixed64_codec);
3190      size += repeatedSfixed32_.CalculateSize(_repeated_repeatedSfixed32_codec);
3191      size += repeatedSfixed64_.CalculateSize(_repeated_repeatedSfixed64_codec);
3192      size += repeatedFloat_.CalculateSize(_repeated_repeatedFloat_codec);
3193      size += repeatedDouble_.CalculateSize(_repeated_repeatedDouble_codec);
3194      size += repeatedBool_.CalculateSize(_repeated_repeatedBool_codec);
3195      size += repeatedString_.CalculateSize(_repeated_repeatedString_codec);
3196      size += repeatedBytes_.CalculateSize(_repeated_repeatedBytes_codec);
3197      size += repeatedNestedMessage_.CalculateSize(_repeated_repeatedNestedMessage_codec);
3198      size += repeatedForeignMessage_.CalculateSize(_repeated_repeatedForeignMessage_codec);
3199      size += repeatedNestedEnum_.CalculateSize(_repeated_repeatedNestedEnum_codec);
3200      size += repeatedForeignEnum_.CalculateSize(_repeated_repeatedForeignEnum_codec);
3201      size += repeatedStringPiece_.CalculateSize(_repeated_repeatedStringPiece_codec);
3202      size += repeatedCord_.CalculateSize(_repeated_repeatedCord_codec);
3203      size += packedInt32_.CalculateSize(_repeated_packedInt32_codec);
3204      size += packedInt64_.CalculateSize(_repeated_packedInt64_codec);
3205      size += packedUint32_.CalculateSize(_repeated_packedUint32_codec);
3206      size += packedUint64_.CalculateSize(_repeated_packedUint64_codec);
3207      size += packedSint32_.CalculateSize(_repeated_packedSint32_codec);
3208      size += packedSint64_.CalculateSize(_repeated_packedSint64_codec);
3209      size += packedFixed32_.CalculateSize(_repeated_packedFixed32_codec);
3210      size += packedFixed64_.CalculateSize(_repeated_packedFixed64_codec);
3211      size += packedSfixed32_.CalculateSize(_repeated_packedSfixed32_codec);
3212      size += packedSfixed64_.CalculateSize(_repeated_packedSfixed64_codec);
3213      size += packedFloat_.CalculateSize(_repeated_packedFloat_codec);
3214      size += packedDouble_.CalculateSize(_repeated_packedDouble_codec);
3215      size += packedBool_.CalculateSize(_repeated_packedBool_codec);
3216      size += packedNestedEnum_.CalculateSize(_repeated_packedNestedEnum_codec);
3217      size += unpackedInt32_.CalculateSize(_repeated_unpackedInt32_codec);
3218      size += unpackedInt64_.CalculateSize(_repeated_unpackedInt64_codec);
3219      size += unpackedUint32_.CalculateSize(_repeated_unpackedUint32_codec);
3220      size += unpackedUint64_.CalculateSize(_repeated_unpackedUint64_codec);
3221      size += unpackedSint32_.CalculateSize(_repeated_unpackedSint32_codec);
3222      size += unpackedSint64_.CalculateSize(_repeated_unpackedSint64_codec);
3223      size += unpackedFixed32_.CalculateSize(_repeated_unpackedFixed32_codec);
3224      size += unpackedFixed64_.CalculateSize(_repeated_unpackedFixed64_codec);
3225      size += unpackedSfixed32_.CalculateSize(_repeated_unpackedSfixed32_codec);
3226      size += unpackedSfixed64_.CalculateSize(_repeated_unpackedSfixed64_codec);
3227      size += unpackedFloat_.CalculateSize(_repeated_unpackedFloat_codec);
3228      size += unpackedDouble_.CalculateSize(_repeated_unpackedDouble_codec);
3229      size += unpackedBool_.CalculateSize(_repeated_unpackedBool_codec);
3230      size += unpackedNestedEnum_.CalculateSize(_repeated_unpackedNestedEnum_codec);
3231      size += mapInt32Int32_.CalculateSize(_map_mapInt32Int32_codec);
3232      size += mapInt64Int64_.CalculateSize(_map_mapInt64Int64_codec);
3233      size += mapUint32Uint32_.CalculateSize(_map_mapUint32Uint32_codec);
3234      size += mapUint64Uint64_.CalculateSize(_map_mapUint64Uint64_codec);
3235      size += mapSint32Sint32_.CalculateSize(_map_mapSint32Sint32_codec);
3236      size += mapSint64Sint64_.CalculateSize(_map_mapSint64Sint64_codec);
3237      size += mapFixed32Fixed32_.CalculateSize(_map_mapFixed32Fixed32_codec);
3238      size += mapFixed64Fixed64_.CalculateSize(_map_mapFixed64Fixed64_codec);
3239      size += mapSfixed32Sfixed32_.CalculateSize(_map_mapSfixed32Sfixed32_codec);
3240      size += mapSfixed64Sfixed64_.CalculateSize(_map_mapSfixed64Sfixed64_codec);
3241      size += mapInt32Float_.CalculateSize(_map_mapInt32Float_codec);
3242      size += mapInt32Double_.CalculateSize(_map_mapInt32Double_codec);
3243      size += mapBoolBool_.CalculateSize(_map_mapBoolBool_codec);
3244      size += mapStringString_.CalculateSize(_map_mapStringString_codec);
3245      size += mapStringBytes_.CalculateSize(_map_mapStringBytes_codec);
3246      size += mapStringNestedMessage_.CalculateSize(_map_mapStringNestedMessage_codec);
3247      size += mapStringForeignMessage_.CalculateSize(_map_mapStringForeignMessage_codec);
3248      size += mapStringNestedEnum_.CalculateSize(_map_mapStringNestedEnum_codec);
3249      size += mapStringForeignEnum_.CalculateSize(_map_mapStringForeignEnum_codec);
3250      if (oneofFieldCase_ == OneofFieldOneofCase.OneofUint32) {
3251        size += 2 + pb::CodedOutputStream.ComputeUInt32Size(OneofUint32);
3252      }
3253      if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) {
3254        size += 2 + pb::CodedOutputStream.ComputeMessageSize(OneofNestedMessage);
3255      }
3256      if (oneofFieldCase_ == OneofFieldOneofCase.OneofString) {
3257        size += 2 + pb::CodedOutputStream.ComputeStringSize(OneofString);
3258      }
3259      if (oneofFieldCase_ == OneofFieldOneofCase.OneofBytes) {
3260        size += 2 + pb::CodedOutputStream.ComputeBytesSize(OneofBytes);
3261      }
3262      if (oneofFieldCase_ == OneofFieldOneofCase.OneofBool) {
3263        size += 2 + 1;
3264      }
3265      if (oneofFieldCase_ == OneofFieldOneofCase.OneofUint64) {
3266        size += 2 + pb::CodedOutputStream.ComputeUInt64Size(OneofUint64);
3267      }
3268      if (oneofFieldCase_ == OneofFieldOneofCase.OneofFloat) {
3269        size += 2 + 4;
3270      }
3271      if (oneofFieldCase_ == OneofFieldOneofCase.OneofDouble) {
3272        size += 2 + 8;
3273      }
3274      if (oneofFieldCase_ == OneofFieldOneofCase.OneofEnum) {
3275        size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) OneofEnum);
3276      }
3277      if (optionalBoolWrapper_ != null) {
3278        size += _single_optionalBoolWrapper_codec.CalculateSizeWithTag(OptionalBoolWrapper);
3279      }
3280      if (optionalInt32Wrapper_ != null) {
3281        size += _single_optionalInt32Wrapper_codec.CalculateSizeWithTag(OptionalInt32Wrapper);
3282      }
3283      if (optionalInt64Wrapper_ != null) {
3284        size += _single_optionalInt64Wrapper_codec.CalculateSizeWithTag(OptionalInt64Wrapper);
3285      }
3286      if (optionalUint32Wrapper_ != null) {
3287        size += _single_optionalUint32Wrapper_codec.CalculateSizeWithTag(OptionalUint32Wrapper);
3288      }
3289      if (optionalUint64Wrapper_ != null) {
3290        size += _single_optionalUint64Wrapper_codec.CalculateSizeWithTag(OptionalUint64Wrapper);
3291      }
3292      if (optionalFloatWrapper_ != null) {
3293        size += _single_optionalFloatWrapper_codec.CalculateSizeWithTag(OptionalFloatWrapper);
3294      }
3295      if (optionalDoubleWrapper_ != null) {
3296        size += _single_optionalDoubleWrapper_codec.CalculateSizeWithTag(OptionalDoubleWrapper);
3297      }
3298      if (optionalStringWrapper_ != null) {
3299        size += _single_optionalStringWrapper_codec.CalculateSizeWithTag(OptionalStringWrapper);
3300      }
3301      if (optionalBytesWrapper_ != null) {
3302        size += _single_optionalBytesWrapper_codec.CalculateSizeWithTag(OptionalBytesWrapper);
3303      }
3304      size += repeatedBoolWrapper_.CalculateSize(_repeated_repeatedBoolWrapper_codec);
3305      size += repeatedInt32Wrapper_.CalculateSize(_repeated_repeatedInt32Wrapper_codec);
3306      size += repeatedInt64Wrapper_.CalculateSize(_repeated_repeatedInt64Wrapper_codec);
3307      size += repeatedUint32Wrapper_.CalculateSize(_repeated_repeatedUint32Wrapper_codec);
3308      size += repeatedUint64Wrapper_.CalculateSize(_repeated_repeatedUint64Wrapper_codec);
3309      size += repeatedFloatWrapper_.CalculateSize(_repeated_repeatedFloatWrapper_codec);
3310      size += repeatedDoubleWrapper_.CalculateSize(_repeated_repeatedDoubleWrapper_codec);
3311      size += repeatedStringWrapper_.CalculateSize(_repeated_repeatedStringWrapper_codec);
3312      size += repeatedBytesWrapper_.CalculateSize(_repeated_repeatedBytesWrapper_codec);
3313      if (optionalDuration_ != null) {
3314        size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalDuration);
3315      }
3316      if (optionalTimestamp_ != null) {
3317        size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalTimestamp);
3318      }
3319      if (optionalFieldMask_ != null) {
3320        size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalFieldMask);
3321      }
3322      if (optionalStruct_ != null) {
3323        size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalStruct);
3324      }
3325      if (optionalAny_ != null) {
3326        size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalAny);
3327      }
3328      if (optionalValue_ != null) {
3329        size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalValue);
3330      }
3331      size += repeatedDuration_.CalculateSize(_repeated_repeatedDuration_codec);
3332      size += repeatedTimestamp_.CalculateSize(_repeated_repeatedTimestamp_codec);
3333      size += repeatedFieldmask_.CalculateSize(_repeated_repeatedFieldmask_codec);
3334      size += repeatedStruct_.CalculateSize(_repeated_repeatedStruct_codec);
3335      size += repeatedAny_.CalculateSize(_repeated_repeatedAny_codec);
3336      size += repeatedValue_.CalculateSize(_repeated_repeatedValue_codec);
3337      size += repeatedListValue_.CalculateSize(_repeated_repeatedListValue_codec);
3338      if (Fieldname1 != 0) {
3339        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Fieldname1);
3340      }
3341      if (FieldName2 != 0) {
3342        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName2);
3343      }
3344      if (FieldName3 != 0) {
3345        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName3);
3346      }
3347      if (FieldName4 != 0) {
3348        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName4);
3349      }
3350      if (Field0Name5 != 0) {
3351        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Field0Name5);
3352      }
3353      if (Field0Name6 != 0) {
3354        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Field0Name6);
3355      }
3356      if (FieldName7 != 0) {
3357        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName7);
3358      }
3359      if (FieldName8 != 0) {
3360        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName8);
3361      }
3362      if (FieldName9 != 0) {
3363        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName9);
3364      }
3365      if (FieldName10 != 0) {
3366        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName10);
3367      }
3368      if (FIELDNAME11 != 0) {
3369        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FIELDNAME11);
3370      }
3371      if (FIELDName12 != 0) {
3372        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FIELDName12);
3373      }
3374      if (FieldName13 != 0) {
3375        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName13);
3376      }
3377      if (FieldName14 != 0) {
3378        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName14);
3379      }
3380      if (FieldName15 != 0) {
3381        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName15);
3382      }
3383      if (FieldName16 != 0) {
3384        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName16);
3385      }
3386      if (FieldName17 != 0) {
3387        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName17);
3388      }
3389      if (FieldName18 != 0) {
3390        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName18);
3391      }
3392      if (_unknownFields != null) {
3393        size += _unknownFields.CalculateSize();
3394      }
3395      return size;
3396    }
3397
3398    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3399    public void MergeFrom(TestAllTypesProto3 other) {
3400      if (other == null) {
3401        return;
3402      }
3403      if (other.OptionalInt32 != 0) {
3404        OptionalInt32 = other.OptionalInt32;
3405      }
3406      if (other.OptionalInt64 != 0L) {
3407        OptionalInt64 = other.OptionalInt64;
3408      }
3409      if (other.OptionalUint32 != 0) {
3410        OptionalUint32 = other.OptionalUint32;
3411      }
3412      if (other.OptionalUint64 != 0UL) {
3413        OptionalUint64 = other.OptionalUint64;
3414      }
3415      if (other.OptionalSint32 != 0) {
3416        OptionalSint32 = other.OptionalSint32;
3417      }
3418      if (other.OptionalSint64 != 0L) {
3419        OptionalSint64 = other.OptionalSint64;
3420      }
3421      if (other.OptionalFixed32 != 0) {
3422        OptionalFixed32 = other.OptionalFixed32;
3423      }
3424      if (other.OptionalFixed64 != 0UL) {
3425        OptionalFixed64 = other.OptionalFixed64;
3426      }
3427      if (other.OptionalSfixed32 != 0) {
3428        OptionalSfixed32 = other.OptionalSfixed32;
3429      }
3430      if (other.OptionalSfixed64 != 0L) {
3431        OptionalSfixed64 = other.OptionalSfixed64;
3432      }
3433      if (other.OptionalFloat != 0F) {
3434        OptionalFloat = other.OptionalFloat;
3435      }
3436      if (other.OptionalDouble != 0D) {
3437        OptionalDouble = other.OptionalDouble;
3438      }
3439      if (other.OptionalBool != false) {
3440        OptionalBool = other.OptionalBool;
3441      }
3442      if (other.OptionalString.Length != 0) {
3443        OptionalString = other.OptionalString;
3444      }
3445      if (other.OptionalBytes.Length != 0) {
3446        OptionalBytes = other.OptionalBytes;
3447      }
3448      if (other.optionalNestedMessage_ != null) {
3449        if (optionalNestedMessage_ == null) {
3450          OptionalNestedMessage = new global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage();
3451        }
3452        OptionalNestedMessage.MergeFrom(other.OptionalNestedMessage);
3453      }
3454      if (other.optionalForeignMessage_ != null) {
3455        if (optionalForeignMessage_ == null) {
3456          OptionalForeignMessage = new global::ProtobufTestMessages.Proto3.ForeignMessage();
3457        }
3458        OptionalForeignMessage.MergeFrom(other.OptionalForeignMessage);
3459      }
3460      if (other.OptionalNestedEnum != global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum.Foo) {
3461        OptionalNestedEnum = other.OptionalNestedEnum;
3462      }
3463      if (other.OptionalForeignEnum != global::ProtobufTestMessages.Proto3.ForeignEnum.ForeignFoo) {
3464        OptionalForeignEnum = other.OptionalForeignEnum;
3465      }
3466      if (other.OptionalAliasedEnum != global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.AliasedEnum.AliasFoo) {
3467        OptionalAliasedEnum = other.OptionalAliasedEnum;
3468      }
3469      if (other.OptionalStringPiece.Length != 0) {
3470        OptionalStringPiece = other.OptionalStringPiece;
3471      }
3472      if (other.OptionalCord.Length != 0) {
3473        OptionalCord = other.OptionalCord;
3474      }
3475      if (other.recursiveMessage_ != null) {
3476        if (recursiveMessage_ == null) {
3477          RecursiveMessage = new global::ProtobufTestMessages.Proto3.TestAllTypesProto3();
3478        }
3479        RecursiveMessage.MergeFrom(other.RecursiveMessage);
3480      }
3481      repeatedInt32_.Add(other.repeatedInt32_);
3482      repeatedInt64_.Add(other.repeatedInt64_);
3483      repeatedUint32_.Add(other.repeatedUint32_);
3484      repeatedUint64_.Add(other.repeatedUint64_);
3485      repeatedSint32_.Add(other.repeatedSint32_);
3486      repeatedSint64_.Add(other.repeatedSint64_);
3487      repeatedFixed32_.Add(other.repeatedFixed32_);
3488      repeatedFixed64_.Add(other.repeatedFixed64_);
3489      repeatedSfixed32_.Add(other.repeatedSfixed32_);
3490      repeatedSfixed64_.Add(other.repeatedSfixed64_);
3491      repeatedFloat_.Add(other.repeatedFloat_);
3492      repeatedDouble_.Add(other.repeatedDouble_);
3493      repeatedBool_.Add(other.repeatedBool_);
3494      repeatedString_.Add(other.repeatedString_);
3495      repeatedBytes_.Add(other.repeatedBytes_);
3496      repeatedNestedMessage_.Add(other.repeatedNestedMessage_);
3497      repeatedForeignMessage_.Add(other.repeatedForeignMessage_);
3498      repeatedNestedEnum_.Add(other.repeatedNestedEnum_);
3499      repeatedForeignEnum_.Add(other.repeatedForeignEnum_);
3500      repeatedStringPiece_.Add(other.repeatedStringPiece_);
3501      repeatedCord_.Add(other.repeatedCord_);
3502      packedInt32_.Add(other.packedInt32_);
3503      packedInt64_.Add(other.packedInt64_);
3504      packedUint32_.Add(other.packedUint32_);
3505      packedUint64_.Add(other.packedUint64_);
3506      packedSint32_.Add(other.packedSint32_);
3507      packedSint64_.Add(other.packedSint64_);
3508      packedFixed32_.Add(other.packedFixed32_);
3509      packedFixed64_.Add(other.packedFixed64_);
3510      packedSfixed32_.Add(other.packedSfixed32_);
3511      packedSfixed64_.Add(other.packedSfixed64_);
3512      packedFloat_.Add(other.packedFloat_);
3513      packedDouble_.Add(other.packedDouble_);
3514      packedBool_.Add(other.packedBool_);
3515      packedNestedEnum_.Add(other.packedNestedEnum_);
3516      unpackedInt32_.Add(other.unpackedInt32_);
3517      unpackedInt64_.Add(other.unpackedInt64_);
3518      unpackedUint32_.Add(other.unpackedUint32_);
3519      unpackedUint64_.Add(other.unpackedUint64_);
3520      unpackedSint32_.Add(other.unpackedSint32_);
3521      unpackedSint64_.Add(other.unpackedSint64_);
3522      unpackedFixed32_.Add(other.unpackedFixed32_);
3523      unpackedFixed64_.Add(other.unpackedFixed64_);
3524      unpackedSfixed32_.Add(other.unpackedSfixed32_);
3525      unpackedSfixed64_.Add(other.unpackedSfixed64_);
3526      unpackedFloat_.Add(other.unpackedFloat_);
3527      unpackedDouble_.Add(other.unpackedDouble_);
3528      unpackedBool_.Add(other.unpackedBool_);
3529      unpackedNestedEnum_.Add(other.unpackedNestedEnum_);
3530      mapInt32Int32_.Add(other.mapInt32Int32_);
3531      mapInt64Int64_.Add(other.mapInt64Int64_);
3532      mapUint32Uint32_.Add(other.mapUint32Uint32_);
3533      mapUint64Uint64_.Add(other.mapUint64Uint64_);
3534      mapSint32Sint32_.Add(other.mapSint32Sint32_);
3535      mapSint64Sint64_.Add(other.mapSint64Sint64_);
3536      mapFixed32Fixed32_.Add(other.mapFixed32Fixed32_);
3537      mapFixed64Fixed64_.Add(other.mapFixed64Fixed64_);
3538      mapSfixed32Sfixed32_.Add(other.mapSfixed32Sfixed32_);
3539      mapSfixed64Sfixed64_.Add(other.mapSfixed64Sfixed64_);
3540      mapInt32Float_.Add(other.mapInt32Float_);
3541      mapInt32Double_.Add(other.mapInt32Double_);
3542      mapBoolBool_.Add(other.mapBoolBool_);
3543      mapStringString_.Add(other.mapStringString_);
3544      mapStringBytes_.Add(other.mapStringBytes_);
3545      mapStringNestedMessage_.Add(other.mapStringNestedMessage_);
3546      mapStringForeignMessage_.Add(other.mapStringForeignMessage_);
3547      mapStringNestedEnum_.Add(other.mapStringNestedEnum_);
3548      mapStringForeignEnum_.Add(other.mapStringForeignEnum_);
3549      if (other.optionalBoolWrapper_ != null) {
3550        if (optionalBoolWrapper_ == null || other.OptionalBoolWrapper != false) {
3551          OptionalBoolWrapper = other.OptionalBoolWrapper;
3552        }
3553      }
3554      if (other.optionalInt32Wrapper_ != null) {
3555        if (optionalInt32Wrapper_ == null || other.OptionalInt32Wrapper != 0) {
3556          OptionalInt32Wrapper = other.OptionalInt32Wrapper;
3557        }
3558      }
3559      if (other.optionalInt64Wrapper_ != null) {
3560        if (optionalInt64Wrapper_ == null || other.OptionalInt64Wrapper != 0L) {
3561          OptionalInt64Wrapper = other.OptionalInt64Wrapper;
3562        }
3563      }
3564      if (other.optionalUint32Wrapper_ != null) {
3565        if (optionalUint32Wrapper_ == null || other.OptionalUint32Wrapper != 0) {
3566          OptionalUint32Wrapper = other.OptionalUint32Wrapper;
3567        }
3568      }
3569      if (other.optionalUint64Wrapper_ != null) {
3570        if (optionalUint64Wrapper_ == null || other.OptionalUint64Wrapper != 0UL) {
3571          OptionalUint64Wrapper = other.OptionalUint64Wrapper;
3572        }
3573      }
3574      if (other.optionalFloatWrapper_ != null) {
3575        if (optionalFloatWrapper_ == null || other.OptionalFloatWrapper != 0F) {
3576          OptionalFloatWrapper = other.OptionalFloatWrapper;
3577        }
3578      }
3579      if (other.optionalDoubleWrapper_ != null) {
3580        if (optionalDoubleWrapper_ == null || other.OptionalDoubleWrapper != 0D) {
3581          OptionalDoubleWrapper = other.OptionalDoubleWrapper;
3582        }
3583      }
3584      if (other.optionalStringWrapper_ != null) {
3585        if (optionalStringWrapper_ == null || other.OptionalStringWrapper != "") {
3586          OptionalStringWrapper = other.OptionalStringWrapper;
3587        }
3588      }
3589      if (other.optionalBytesWrapper_ != null) {
3590        if (optionalBytesWrapper_ == null || other.OptionalBytesWrapper != pb::ByteString.Empty) {
3591          OptionalBytesWrapper = other.OptionalBytesWrapper;
3592        }
3593      }
3594      repeatedBoolWrapper_.Add(other.repeatedBoolWrapper_);
3595      repeatedInt32Wrapper_.Add(other.repeatedInt32Wrapper_);
3596      repeatedInt64Wrapper_.Add(other.repeatedInt64Wrapper_);
3597      repeatedUint32Wrapper_.Add(other.repeatedUint32Wrapper_);
3598      repeatedUint64Wrapper_.Add(other.repeatedUint64Wrapper_);
3599      repeatedFloatWrapper_.Add(other.repeatedFloatWrapper_);
3600      repeatedDoubleWrapper_.Add(other.repeatedDoubleWrapper_);
3601      repeatedStringWrapper_.Add(other.repeatedStringWrapper_);
3602      repeatedBytesWrapper_.Add(other.repeatedBytesWrapper_);
3603      if (other.optionalDuration_ != null) {
3604        if (optionalDuration_ == null) {
3605          OptionalDuration = new global::Google.Protobuf.WellKnownTypes.Duration();
3606        }
3607        OptionalDuration.MergeFrom(other.OptionalDuration);
3608      }
3609      if (other.optionalTimestamp_ != null) {
3610        if (optionalTimestamp_ == null) {
3611          OptionalTimestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
3612        }
3613        OptionalTimestamp.MergeFrom(other.OptionalTimestamp);
3614      }
3615      if (other.optionalFieldMask_ != null) {
3616        if (optionalFieldMask_ == null) {
3617          OptionalFieldMask = new global::Google.Protobuf.WellKnownTypes.FieldMask();
3618        }
3619        OptionalFieldMask.MergeFrom(other.OptionalFieldMask);
3620      }
3621      if (other.optionalStruct_ != null) {
3622        if (optionalStruct_ == null) {
3623          OptionalStruct = new global::Google.Protobuf.WellKnownTypes.Struct();
3624        }
3625        OptionalStruct.MergeFrom(other.OptionalStruct);
3626      }
3627      if (other.optionalAny_ != null) {
3628        if (optionalAny_ == null) {
3629          OptionalAny = new global::Google.Protobuf.WellKnownTypes.Any();
3630        }
3631        OptionalAny.MergeFrom(other.OptionalAny);
3632      }
3633      if (other.optionalValue_ != null) {
3634        if (optionalValue_ == null) {
3635          OptionalValue = new global::Google.Protobuf.WellKnownTypes.Value();
3636        }
3637        OptionalValue.MergeFrom(other.OptionalValue);
3638      }
3639      repeatedDuration_.Add(other.repeatedDuration_);
3640      repeatedTimestamp_.Add(other.repeatedTimestamp_);
3641      repeatedFieldmask_.Add(other.repeatedFieldmask_);
3642      repeatedStruct_.Add(other.repeatedStruct_);
3643      repeatedAny_.Add(other.repeatedAny_);
3644      repeatedValue_.Add(other.repeatedValue_);
3645      repeatedListValue_.Add(other.repeatedListValue_);
3646      if (other.Fieldname1 != 0) {
3647        Fieldname1 = other.Fieldname1;
3648      }
3649      if (other.FieldName2 != 0) {
3650        FieldName2 = other.FieldName2;
3651      }
3652      if (other.FieldName3 != 0) {
3653        FieldName3 = other.FieldName3;
3654      }
3655      if (other.FieldName4 != 0) {
3656        FieldName4 = other.FieldName4;
3657      }
3658      if (other.Field0Name5 != 0) {
3659        Field0Name5 = other.Field0Name5;
3660      }
3661      if (other.Field0Name6 != 0) {
3662        Field0Name6 = other.Field0Name6;
3663      }
3664      if (other.FieldName7 != 0) {
3665        FieldName7 = other.FieldName7;
3666      }
3667      if (other.FieldName8 != 0) {
3668        FieldName8 = other.FieldName8;
3669      }
3670      if (other.FieldName9 != 0) {
3671        FieldName9 = other.FieldName9;
3672      }
3673      if (other.FieldName10 != 0) {
3674        FieldName10 = other.FieldName10;
3675      }
3676      if (other.FIELDNAME11 != 0) {
3677        FIELDNAME11 = other.FIELDNAME11;
3678      }
3679      if (other.FIELDName12 != 0) {
3680        FIELDName12 = other.FIELDName12;
3681      }
3682      if (other.FieldName13 != 0) {
3683        FieldName13 = other.FieldName13;
3684      }
3685      if (other.FieldName14 != 0) {
3686        FieldName14 = other.FieldName14;
3687      }
3688      if (other.FieldName15 != 0) {
3689        FieldName15 = other.FieldName15;
3690      }
3691      if (other.FieldName16 != 0) {
3692        FieldName16 = other.FieldName16;
3693      }
3694      if (other.FieldName17 != 0) {
3695        FieldName17 = other.FieldName17;
3696      }
3697      if (other.FieldName18 != 0) {
3698        FieldName18 = other.FieldName18;
3699      }
3700      switch (other.OneofFieldCase) {
3701        case OneofFieldOneofCase.OneofUint32:
3702          OneofUint32 = other.OneofUint32;
3703          break;
3704        case OneofFieldOneofCase.OneofNestedMessage:
3705          if (OneofNestedMessage == null) {
3706            OneofNestedMessage = new global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage();
3707          }
3708          OneofNestedMessage.MergeFrom(other.OneofNestedMessage);
3709          break;
3710        case OneofFieldOneofCase.OneofString:
3711          OneofString = other.OneofString;
3712          break;
3713        case OneofFieldOneofCase.OneofBytes:
3714          OneofBytes = other.OneofBytes;
3715          break;
3716        case OneofFieldOneofCase.OneofBool:
3717          OneofBool = other.OneofBool;
3718          break;
3719        case OneofFieldOneofCase.OneofUint64:
3720          OneofUint64 = other.OneofUint64;
3721          break;
3722        case OneofFieldOneofCase.OneofFloat:
3723          OneofFloat = other.OneofFloat;
3724          break;
3725        case OneofFieldOneofCase.OneofDouble:
3726          OneofDouble = other.OneofDouble;
3727          break;
3728        case OneofFieldOneofCase.OneofEnum:
3729          OneofEnum = other.OneofEnum;
3730          break;
3731      }
3732
3733      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
3734    }
3735
3736    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3737    public void MergeFrom(pb::CodedInputStream input) {
3738    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3739      input.ReadRawMessage(this);
3740    #else
3741      uint tag;
3742      while ((tag = input.ReadTag()) != 0) {
3743        switch(tag) {
3744          default:
3745            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
3746            break;
3747          case 8: {
3748            OptionalInt32 = input.ReadInt32();
3749            break;
3750          }
3751          case 16: {
3752            OptionalInt64 = input.ReadInt64();
3753            break;
3754          }
3755          case 24: {
3756            OptionalUint32 = input.ReadUInt32();
3757            break;
3758          }
3759          case 32: {
3760            OptionalUint64 = input.ReadUInt64();
3761            break;
3762          }
3763          case 40: {
3764            OptionalSint32 = input.ReadSInt32();
3765            break;
3766          }
3767          case 48: {
3768            OptionalSint64 = input.ReadSInt64();
3769            break;
3770          }
3771          case 61: {
3772            OptionalFixed32 = input.ReadFixed32();
3773            break;
3774          }
3775          case 65: {
3776            OptionalFixed64 = input.ReadFixed64();
3777            break;
3778          }
3779          case 77: {
3780            OptionalSfixed32 = input.ReadSFixed32();
3781            break;
3782          }
3783          case 81: {
3784            OptionalSfixed64 = input.ReadSFixed64();
3785            break;
3786          }
3787          case 93: {
3788            OptionalFloat = input.ReadFloat();
3789            break;
3790          }
3791          case 97: {
3792            OptionalDouble = input.ReadDouble();
3793            break;
3794          }
3795          case 104: {
3796            OptionalBool = input.ReadBool();
3797            break;
3798          }
3799          case 114: {
3800            OptionalString = input.ReadString();
3801            break;
3802          }
3803          case 122: {
3804            OptionalBytes = input.ReadBytes();
3805            break;
3806          }
3807          case 146: {
3808            if (optionalNestedMessage_ == null) {
3809              OptionalNestedMessage = new global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage();
3810            }
3811            input.ReadMessage(OptionalNestedMessage);
3812            break;
3813          }
3814          case 154: {
3815            if (optionalForeignMessage_ == null) {
3816              OptionalForeignMessage = new global::ProtobufTestMessages.Proto3.ForeignMessage();
3817            }
3818            input.ReadMessage(OptionalForeignMessage);
3819            break;
3820          }
3821          case 168: {
3822            OptionalNestedEnum = (global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum) input.ReadEnum();
3823            break;
3824          }
3825          case 176: {
3826            OptionalForeignEnum = (global::ProtobufTestMessages.Proto3.ForeignEnum) input.ReadEnum();
3827            break;
3828          }
3829          case 184: {
3830            OptionalAliasedEnum = (global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.AliasedEnum) input.ReadEnum();
3831            break;
3832          }
3833          case 194: {
3834            OptionalStringPiece = input.ReadString();
3835            break;
3836          }
3837          case 202: {
3838            OptionalCord = input.ReadString();
3839            break;
3840          }
3841          case 218: {
3842            if (recursiveMessage_ == null) {
3843              RecursiveMessage = new global::ProtobufTestMessages.Proto3.TestAllTypesProto3();
3844            }
3845            input.ReadMessage(RecursiveMessage);
3846            break;
3847          }
3848          case 250:
3849          case 248: {
3850            repeatedInt32_.AddEntriesFrom(input, _repeated_repeatedInt32_codec);
3851            break;
3852          }
3853          case 258:
3854          case 256: {
3855            repeatedInt64_.AddEntriesFrom(input, _repeated_repeatedInt64_codec);
3856            break;
3857          }
3858          case 266:
3859          case 264: {
3860            repeatedUint32_.AddEntriesFrom(input, _repeated_repeatedUint32_codec);
3861            break;
3862          }
3863          case 274:
3864          case 272: {
3865            repeatedUint64_.AddEntriesFrom(input, _repeated_repeatedUint64_codec);
3866            break;
3867          }
3868          case 282:
3869          case 280: {
3870            repeatedSint32_.AddEntriesFrom(input, _repeated_repeatedSint32_codec);
3871            break;
3872          }
3873          case 290:
3874          case 288: {
3875            repeatedSint64_.AddEntriesFrom(input, _repeated_repeatedSint64_codec);
3876            break;
3877          }
3878          case 298:
3879          case 301: {
3880            repeatedFixed32_.AddEntriesFrom(input, _repeated_repeatedFixed32_codec);
3881            break;
3882          }
3883          case 306:
3884          case 305: {
3885            repeatedFixed64_.AddEntriesFrom(input, _repeated_repeatedFixed64_codec);
3886            break;
3887          }
3888          case 314:
3889          case 317: {
3890            repeatedSfixed32_.AddEntriesFrom(input, _repeated_repeatedSfixed32_codec);
3891            break;
3892          }
3893          case 322:
3894          case 321: {
3895            repeatedSfixed64_.AddEntriesFrom(input, _repeated_repeatedSfixed64_codec);
3896            break;
3897          }
3898          case 330:
3899          case 333: {
3900            repeatedFloat_.AddEntriesFrom(input, _repeated_repeatedFloat_codec);
3901            break;
3902          }
3903          case 338:
3904          case 337: {
3905            repeatedDouble_.AddEntriesFrom(input, _repeated_repeatedDouble_codec);
3906            break;
3907          }
3908          case 346:
3909          case 344: {
3910            repeatedBool_.AddEntriesFrom(input, _repeated_repeatedBool_codec);
3911            break;
3912          }
3913          case 354: {
3914            repeatedString_.AddEntriesFrom(input, _repeated_repeatedString_codec);
3915            break;
3916          }
3917          case 362: {
3918            repeatedBytes_.AddEntriesFrom(input, _repeated_repeatedBytes_codec);
3919            break;
3920          }
3921          case 386: {
3922            repeatedNestedMessage_.AddEntriesFrom(input, _repeated_repeatedNestedMessage_codec);
3923            break;
3924          }
3925          case 394: {
3926            repeatedForeignMessage_.AddEntriesFrom(input, _repeated_repeatedForeignMessage_codec);
3927            break;
3928          }
3929          case 410:
3930          case 408: {
3931            repeatedNestedEnum_.AddEntriesFrom(input, _repeated_repeatedNestedEnum_codec);
3932            break;
3933          }
3934          case 418:
3935          case 416: {
3936            repeatedForeignEnum_.AddEntriesFrom(input, _repeated_repeatedForeignEnum_codec);
3937            break;
3938          }
3939          case 434: {
3940            repeatedStringPiece_.AddEntriesFrom(input, _repeated_repeatedStringPiece_codec);
3941            break;
3942          }
3943          case 442: {
3944            repeatedCord_.AddEntriesFrom(input, _repeated_repeatedCord_codec);
3945            break;
3946          }
3947          case 450: {
3948            mapInt32Int32_.AddEntriesFrom(input, _map_mapInt32Int32_codec);
3949            break;
3950          }
3951          case 458: {
3952            mapInt64Int64_.AddEntriesFrom(input, _map_mapInt64Int64_codec);
3953            break;
3954          }
3955          case 466: {
3956            mapUint32Uint32_.AddEntriesFrom(input, _map_mapUint32Uint32_codec);
3957            break;
3958          }
3959          case 474: {
3960            mapUint64Uint64_.AddEntriesFrom(input, _map_mapUint64Uint64_codec);
3961            break;
3962          }
3963          case 482: {
3964            mapSint32Sint32_.AddEntriesFrom(input, _map_mapSint32Sint32_codec);
3965            break;
3966          }
3967          case 490: {
3968            mapSint64Sint64_.AddEntriesFrom(input, _map_mapSint64Sint64_codec);
3969            break;
3970          }
3971          case 498: {
3972            mapFixed32Fixed32_.AddEntriesFrom(input, _map_mapFixed32Fixed32_codec);
3973            break;
3974          }
3975          case 506: {
3976            mapFixed64Fixed64_.AddEntriesFrom(input, _map_mapFixed64Fixed64_codec);
3977            break;
3978          }
3979          case 514: {
3980            mapSfixed32Sfixed32_.AddEntriesFrom(input, _map_mapSfixed32Sfixed32_codec);
3981            break;
3982          }
3983          case 522: {
3984            mapSfixed64Sfixed64_.AddEntriesFrom(input, _map_mapSfixed64Sfixed64_codec);
3985            break;
3986          }
3987          case 530: {
3988            mapInt32Float_.AddEntriesFrom(input, _map_mapInt32Float_codec);
3989            break;
3990          }
3991          case 538: {
3992            mapInt32Double_.AddEntriesFrom(input, _map_mapInt32Double_codec);
3993            break;
3994          }
3995          case 546: {
3996            mapBoolBool_.AddEntriesFrom(input, _map_mapBoolBool_codec);
3997            break;
3998          }
3999          case 554: {
4000            mapStringString_.AddEntriesFrom(input, _map_mapStringString_codec);
4001            break;
4002          }
4003          case 562: {
4004            mapStringBytes_.AddEntriesFrom(input, _map_mapStringBytes_codec);
4005            break;
4006          }
4007          case 570: {
4008            mapStringNestedMessage_.AddEntriesFrom(input, _map_mapStringNestedMessage_codec);
4009            break;
4010          }
4011          case 578: {
4012            mapStringForeignMessage_.AddEntriesFrom(input, _map_mapStringForeignMessage_codec);
4013            break;
4014          }
4015          case 586: {
4016            mapStringNestedEnum_.AddEntriesFrom(input, _map_mapStringNestedEnum_codec);
4017            break;
4018          }
4019          case 594: {
4020            mapStringForeignEnum_.AddEntriesFrom(input, _map_mapStringForeignEnum_codec);
4021            break;
4022          }
4023          case 602:
4024          case 600: {
4025            packedInt32_.AddEntriesFrom(input, _repeated_packedInt32_codec);
4026            break;
4027          }
4028          case 610:
4029          case 608: {
4030            packedInt64_.AddEntriesFrom(input, _repeated_packedInt64_codec);
4031            break;
4032          }
4033          case 618:
4034          case 616: {
4035            packedUint32_.AddEntriesFrom(input, _repeated_packedUint32_codec);
4036            break;
4037          }
4038          case 626:
4039          case 624: {
4040            packedUint64_.AddEntriesFrom(input, _repeated_packedUint64_codec);
4041            break;
4042          }
4043          case 634:
4044          case 632: {
4045            packedSint32_.AddEntriesFrom(input, _repeated_packedSint32_codec);
4046            break;
4047          }
4048          case 642:
4049          case 640: {
4050            packedSint64_.AddEntriesFrom(input, _repeated_packedSint64_codec);
4051            break;
4052          }
4053          case 650:
4054          case 653: {
4055            packedFixed32_.AddEntriesFrom(input, _repeated_packedFixed32_codec);
4056            break;
4057          }
4058          case 658:
4059          case 657: {
4060            packedFixed64_.AddEntriesFrom(input, _repeated_packedFixed64_codec);
4061            break;
4062          }
4063          case 666:
4064          case 669: {
4065            packedSfixed32_.AddEntriesFrom(input, _repeated_packedSfixed32_codec);
4066            break;
4067          }
4068          case 674:
4069          case 673: {
4070            packedSfixed64_.AddEntriesFrom(input, _repeated_packedSfixed64_codec);
4071            break;
4072          }
4073          case 682:
4074          case 685: {
4075            packedFloat_.AddEntriesFrom(input, _repeated_packedFloat_codec);
4076            break;
4077          }
4078          case 690:
4079          case 689: {
4080            packedDouble_.AddEntriesFrom(input, _repeated_packedDouble_codec);
4081            break;
4082          }
4083          case 698:
4084          case 696: {
4085            packedBool_.AddEntriesFrom(input, _repeated_packedBool_codec);
4086            break;
4087          }
4088          case 706:
4089          case 704: {
4090            packedNestedEnum_.AddEntriesFrom(input, _repeated_packedNestedEnum_codec);
4091            break;
4092          }
4093          case 714:
4094          case 712: {
4095            unpackedInt32_.AddEntriesFrom(input, _repeated_unpackedInt32_codec);
4096            break;
4097          }
4098          case 722:
4099          case 720: {
4100            unpackedInt64_.AddEntriesFrom(input, _repeated_unpackedInt64_codec);
4101            break;
4102          }
4103          case 730:
4104          case 728: {
4105            unpackedUint32_.AddEntriesFrom(input, _repeated_unpackedUint32_codec);
4106            break;
4107          }
4108          case 738:
4109          case 736: {
4110            unpackedUint64_.AddEntriesFrom(input, _repeated_unpackedUint64_codec);
4111            break;
4112          }
4113          case 746:
4114          case 744: {
4115            unpackedSint32_.AddEntriesFrom(input, _repeated_unpackedSint32_codec);
4116            break;
4117          }
4118          case 754:
4119          case 752: {
4120            unpackedSint64_.AddEntriesFrom(input, _repeated_unpackedSint64_codec);
4121            break;
4122          }
4123          case 762:
4124          case 765: {
4125            unpackedFixed32_.AddEntriesFrom(input, _repeated_unpackedFixed32_codec);
4126            break;
4127          }
4128          case 770:
4129          case 769: {
4130            unpackedFixed64_.AddEntriesFrom(input, _repeated_unpackedFixed64_codec);
4131            break;
4132          }
4133          case 778:
4134          case 781: {
4135            unpackedSfixed32_.AddEntriesFrom(input, _repeated_unpackedSfixed32_codec);
4136            break;
4137          }
4138          case 786:
4139          case 785: {
4140            unpackedSfixed64_.AddEntriesFrom(input, _repeated_unpackedSfixed64_codec);
4141            break;
4142          }
4143          case 794:
4144          case 797: {
4145            unpackedFloat_.AddEntriesFrom(input, _repeated_unpackedFloat_codec);
4146            break;
4147          }
4148          case 802:
4149          case 801: {
4150            unpackedDouble_.AddEntriesFrom(input, _repeated_unpackedDouble_codec);
4151            break;
4152          }
4153          case 810:
4154          case 808: {
4155            unpackedBool_.AddEntriesFrom(input, _repeated_unpackedBool_codec);
4156            break;
4157          }
4158          case 818:
4159          case 816: {
4160            unpackedNestedEnum_.AddEntriesFrom(input, _repeated_unpackedNestedEnum_codec);
4161            break;
4162          }
4163          case 888: {
4164            OneofUint32 = input.ReadUInt32();
4165            break;
4166          }
4167          case 898: {
4168            global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage subBuilder = new global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage();
4169            if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) {
4170              subBuilder.MergeFrom(OneofNestedMessage);
4171            }
4172            input.ReadMessage(subBuilder);
4173            OneofNestedMessage = subBuilder;
4174            break;
4175          }
4176          case 906: {
4177            OneofString = input.ReadString();
4178            break;
4179          }
4180          case 914: {
4181            OneofBytes = input.ReadBytes();
4182            break;
4183          }
4184          case 920: {
4185            OneofBool = input.ReadBool();
4186            break;
4187          }
4188          case 928: {
4189            OneofUint64 = input.ReadUInt64();
4190            break;
4191          }
4192          case 941: {
4193            OneofFloat = input.ReadFloat();
4194            break;
4195          }
4196          case 945: {
4197            OneofDouble = input.ReadDouble();
4198            break;
4199          }
4200          case 952: {
4201            oneofField_ = input.ReadEnum();
4202            oneofFieldCase_ = OneofFieldOneofCase.OneofEnum;
4203            break;
4204          }
4205          case 1610: {
4206            bool? value = _single_optionalBoolWrapper_codec.Read(input);
4207            if (optionalBoolWrapper_ == null || value != false) {
4208              OptionalBoolWrapper = value;
4209            }
4210            break;
4211          }
4212          case 1618: {
4213            int? value = _single_optionalInt32Wrapper_codec.Read(input);
4214            if (optionalInt32Wrapper_ == null || value != 0) {
4215              OptionalInt32Wrapper = value;
4216            }
4217            break;
4218          }
4219          case 1626: {
4220            long? value = _single_optionalInt64Wrapper_codec.Read(input);
4221            if (optionalInt64Wrapper_ == null || value != 0L) {
4222              OptionalInt64Wrapper = value;
4223            }
4224            break;
4225          }
4226          case 1634: {
4227            uint? value = _single_optionalUint32Wrapper_codec.Read(input);
4228            if (optionalUint32Wrapper_ == null || value != 0) {
4229              OptionalUint32Wrapper = value;
4230            }
4231            break;
4232          }
4233          case 1642: {
4234            ulong? value = _single_optionalUint64Wrapper_codec.Read(input);
4235            if (optionalUint64Wrapper_ == null || value != 0UL) {
4236              OptionalUint64Wrapper = value;
4237            }
4238            break;
4239          }
4240          case 1650: {
4241            float? value = _single_optionalFloatWrapper_codec.Read(input);
4242            if (optionalFloatWrapper_ == null || value != 0F) {
4243              OptionalFloatWrapper = value;
4244            }
4245            break;
4246          }
4247          case 1658: {
4248            double? value = _single_optionalDoubleWrapper_codec.Read(input);
4249            if (optionalDoubleWrapper_ == null || value != 0D) {
4250              OptionalDoubleWrapper = value;
4251            }
4252            break;
4253          }
4254          case 1666: {
4255            string value = _single_optionalStringWrapper_codec.Read(input);
4256            if (optionalStringWrapper_ == null || value != "") {
4257              OptionalStringWrapper = value;
4258            }
4259            break;
4260          }
4261          case 1674: {
4262            pb::ByteString value = _single_optionalBytesWrapper_codec.Read(input);
4263            if (optionalBytesWrapper_ == null || value != pb::ByteString.Empty) {
4264              OptionalBytesWrapper = value;
4265            }
4266            break;
4267          }
4268          case 1690: {
4269            repeatedBoolWrapper_.AddEntriesFrom(input, _repeated_repeatedBoolWrapper_codec);
4270            break;
4271          }
4272          case 1698: {
4273            repeatedInt32Wrapper_.AddEntriesFrom(input, _repeated_repeatedInt32Wrapper_codec);
4274            break;
4275          }
4276          case 1706: {
4277            repeatedInt64Wrapper_.AddEntriesFrom(input, _repeated_repeatedInt64Wrapper_codec);
4278            break;
4279          }
4280          case 1714: {
4281            repeatedUint32Wrapper_.AddEntriesFrom(input, _repeated_repeatedUint32Wrapper_codec);
4282            break;
4283          }
4284          case 1722: {
4285            repeatedUint64Wrapper_.AddEntriesFrom(input, _repeated_repeatedUint64Wrapper_codec);
4286            break;
4287          }
4288          case 1730: {
4289            repeatedFloatWrapper_.AddEntriesFrom(input, _repeated_repeatedFloatWrapper_codec);
4290            break;
4291          }
4292          case 1738: {
4293            repeatedDoubleWrapper_.AddEntriesFrom(input, _repeated_repeatedDoubleWrapper_codec);
4294            break;
4295          }
4296          case 1746: {
4297            repeatedStringWrapper_.AddEntriesFrom(input, _repeated_repeatedStringWrapper_codec);
4298            break;
4299          }
4300          case 1754: {
4301            repeatedBytesWrapper_.AddEntriesFrom(input, _repeated_repeatedBytesWrapper_codec);
4302            break;
4303          }
4304          case 2410: {
4305            if (optionalDuration_ == null) {
4306              OptionalDuration = new global::Google.Protobuf.WellKnownTypes.Duration();
4307            }
4308            input.ReadMessage(OptionalDuration);
4309            break;
4310          }
4311          case 2418: {
4312            if (optionalTimestamp_ == null) {
4313              OptionalTimestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
4314            }
4315            input.ReadMessage(OptionalTimestamp);
4316            break;
4317          }
4318          case 2426: {
4319            if (optionalFieldMask_ == null) {
4320              OptionalFieldMask = new global::Google.Protobuf.WellKnownTypes.FieldMask();
4321            }
4322            input.ReadMessage(OptionalFieldMask);
4323            break;
4324          }
4325          case 2434: {
4326            if (optionalStruct_ == null) {
4327              OptionalStruct = new global::Google.Protobuf.WellKnownTypes.Struct();
4328            }
4329            input.ReadMessage(OptionalStruct);
4330            break;
4331          }
4332          case 2442: {
4333            if (optionalAny_ == null) {
4334              OptionalAny = new global::Google.Protobuf.WellKnownTypes.Any();
4335            }
4336            input.ReadMessage(OptionalAny);
4337            break;
4338          }
4339          case 2450: {
4340            if (optionalValue_ == null) {
4341              OptionalValue = new global::Google.Protobuf.WellKnownTypes.Value();
4342            }
4343            input.ReadMessage(OptionalValue);
4344            break;
4345          }
4346          case 2490: {
4347            repeatedDuration_.AddEntriesFrom(input, _repeated_repeatedDuration_codec);
4348            break;
4349          }
4350          case 2498: {
4351            repeatedTimestamp_.AddEntriesFrom(input, _repeated_repeatedTimestamp_codec);
4352            break;
4353          }
4354          case 2506: {
4355            repeatedFieldmask_.AddEntriesFrom(input, _repeated_repeatedFieldmask_codec);
4356            break;
4357          }
4358          case 2522: {
4359            repeatedAny_.AddEntriesFrom(input, _repeated_repeatedAny_codec);
4360            break;
4361          }
4362          case 2530: {
4363            repeatedValue_.AddEntriesFrom(input, _repeated_repeatedValue_codec);
4364            break;
4365          }
4366          case 2538: {
4367            repeatedListValue_.AddEntriesFrom(input, _repeated_repeatedListValue_codec);
4368            break;
4369          }
4370          case 2594: {
4371            repeatedStruct_.AddEntriesFrom(input, _repeated_repeatedStruct_codec);
4372            break;
4373          }
4374          case 3208: {
4375            Fieldname1 = input.ReadInt32();
4376            break;
4377          }
4378          case 3216: {
4379            FieldName2 = input.ReadInt32();
4380            break;
4381          }
4382          case 3224: {
4383            FieldName3 = input.ReadInt32();
4384            break;
4385          }
4386          case 3232: {
4387            FieldName4 = input.ReadInt32();
4388            break;
4389          }
4390          case 3240: {
4391            Field0Name5 = input.ReadInt32();
4392            break;
4393          }
4394          case 3248: {
4395            Field0Name6 = input.ReadInt32();
4396            break;
4397          }
4398          case 3256: {
4399            FieldName7 = input.ReadInt32();
4400            break;
4401          }
4402          case 3264: {
4403            FieldName8 = input.ReadInt32();
4404            break;
4405          }
4406          case 3272: {
4407            FieldName9 = input.ReadInt32();
4408            break;
4409          }
4410          case 3280: {
4411            FieldName10 = input.ReadInt32();
4412            break;
4413          }
4414          case 3288: {
4415            FIELDNAME11 = input.ReadInt32();
4416            break;
4417          }
4418          case 3296: {
4419            FIELDName12 = input.ReadInt32();
4420            break;
4421          }
4422          case 3304: {
4423            FieldName13 = input.ReadInt32();
4424            break;
4425          }
4426          case 3312: {
4427            FieldName14 = input.ReadInt32();
4428            break;
4429          }
4430          case 3320: {
4431            FieldName15 = input.ReadInt32();
4432            break;
4433          }
4434          case 3328: {
4435            FieldName16 = input.ReadInt32();
4436            break;
4437          }
4438          case 3336: {
4439            FieldName17 = input.ReadInt32();
4440            break;
4441          }
4442          case 3344: {
4443            FieldName18 = input.ReadInt32();
4444            break;
4445          }
4446        }
4447      }
4448    #endif
4449    }
4450
4451    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4452    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4453    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
4454      uint tag;
4455      while ((tag = input.ReadTag()) != 0) {
4456        switch(tag) {
4457          default:
4458            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
4459            break;
4460          case 8: {
4461            OptionalInt32 = input.ReadInt32();
4462            break;
4463          }
4464          case 16: {
4465            OptionalInt64 = input.ReadInt64();
4466            break;
4467          }
4468          case 24: {
4469            OptionalUint32 = input.ReadUInt32();
4470            break;
4471          }
4472          case 32: {
4473            OptionalUint64 = input.ReadUInt64();
4474            break;
4475          }
4476          case 40: {
4477            OptionalSint32 = input.ReadSInt32();
4478            break;
4479          }
4480          case 48: {
4481            OptionalSint64 = input.ReadSInt64();
4482            break;
4483          }
4484          case 61: {
4485            OptionalFixed32 = input.ReadFixed32();
4486            break;
4487          }
4488          case 65: {
4489            OptionalFixed64 = input.ReadFixed64();
4490            break;
4491          }
4492          case 77: {
4493            OptionalSfixed32 = input.ReadSFixed32();
4494            break;
4495          }
4496          case 81: {
4497            OptionalSfixed64 = input.ReadSFixed64();
4498            break;
4499          }
4500          case 93: {
4501            OptionalFloat = input.ReadFloat();
4502            break;
4503          }
4504          case 97: {
4505            OptionalDouble = input.ReadDouble();
4506            break;
4507          }
4508          case 104: {
4509            OptionalBool = input.ReadBool();
4510            break;
4511          }
4512          case 114: {
4513            OptionalString = input.ReadString();
4514            break;
4515          }
4516          case 122: {
4517            OptionalBytes = input.ReadBytes();
4518            break;
4519          }
4520          case 146: {
4521            if (optionalNestedMessage_ == null) {
4522              OptionalNestedMessage = new global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage();
4523            }
4524            input.ReadMessage(OptionalNestedMessage);
4525            break;
4526          }
4527          case 154: {
4528            if (optionalForeignMessage_ == null) {
4529              OptionalForeignMessage = new global::ProtobufTestMessages.Proto3.ForeignMessage();
4530            }
4531            input.ReadMessage(OptionalForeignMessage);
4532            break;
4533          }
4534          case 168: {
4535            OptionalNestedEnum = (global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedEnum) input.ReadEnum();
4536            break;
4537          }
4538          case 176: {
4539            OptionalForeignEnum = (global::ProtobufTestMessages.Proto3.ForeignEnum) input.ReadEnum();
4540            break;
4541          }
4542          case 184: {
4543            OptionalAliasedEnum = (global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.AliasedEnum) input.ReadEnum();
4544            break;
4545          }
4546          case 194: {
4547            OptionalStringPiece = input.ReadString();
4548            break;
4549          }
4550          case 202: {
4551            OptionalCord = input.ReadString();
4552            break;
4553          }
4554          case 218: {
4555            if (recursiveMessage_ == null) {
4556              RecursiveMessage = new global::ProtobufTestMessages.Proto3.TestAllTypesProto3();
4557            }
4558            input.ReadMessage(RecursiveMessage);
4559            break;
4560          }
4561          case 250:
4562          case 248: {
4563            repeatedInt32_.AddEntriesFrom(ref input, _repeated_repeatedInt32_codec);
4564            break;
4565          }
4566          case 258:
4567          case 256: {
4568            repeatedInt64_.AddEntriesFrom(ref input, _repeated_repeatedInt64_codec);
4569            break;
4570          }
4571          case 266:
4572          case 264: {
4573            repeatedUint32_.AddEntriesFrom(ref input, _repeated_repeatedUint32_codec);
4574            break;
4575          }
4576          case 274:
4577          case 272: {
4578            repeatedUint64_.AddEntriesFrom(ref input, _repeated_repeatedUint64_codec);
4579            break;
4580          }
4581          case 282:
4582          case 280: {
4583            repeatedSint32_.AddEntriesFrom(ref input, _repeated_repeatedSint32_codec);
4584            break;
4585          }
4586          case 290:
4587          case 288: {
4588            repeatedSint64_.AddEntriesFrom(ref input, _repeated_repeatedSint64_codec);
4589            break;
4590          }
4591          case 298:
4592          case 301: {
4593            repeatedFixed32_.AddEntriesFrom(ref input, _repeated_repeatedFixed32_codec);
4594            break;
4595          }
4596          case 306:
4597          case 305: {
4598            repeatedFixed64_.AddEntriesFrom(ref input, _repeated_repeatedFixed64_codec);
4599            break;
4600          }
4601          case 314:
4602          case 317: {
4603            repeatedSfixed32_.AddEntriesFrom(ref input, _repeated_repeatedSfixed32_codec);
4604            break;
4605          }
4606          case 322:
4607          case 321: {
4608            repeatedSfixed64_.AddEntriesFrom(ref input, _repeated_repeatedSfixed64_codec);
4609            break;
4610          }
4611          case 330:
4612          case 333: {
4613            repeatedFloat_.AddEntriesFrom(ref input, _repeated_repeatedFloat_codec);
4614            break;
4615          }
4616          case 338:
4617          case 337: {
4618            repeatedDouble_.AddEntriesFrom(ref input, _repeated_repeatedDouble_codec);
4619            break;
4620          }
4621          case 346:
4622          case 344: {
4623            repeatedBool_.AddEntriesFrom(ref input, _repeated_repeatedBool_codec);
4624            break;
4625          }
4626          case 354: {
4627            repeatedString_.AddEntriesFrom(ref input, _repeated_repeatedString_codec);
4628            break;
4629          }
4630          case 362: {
4631            repeatedBytes_.AddEntriesFrom(ref input, _repeated_repeatedBytes_codec);
4632            break;
4633          }
4634          case 386: {
4635            repeatedNestedMessage_.AddEntriesFrom(ref input, _repeated_repeatedNestedMessage_codec);
4636            break;
4637          }
4638          case 394: {
4639            repeatedForeignMessage_.AddEntriesFrom(ref input, _repeated_repeatedForeignMessage_codec);
4640            break;
4641          }
4642          case 410:
4643          case 408: {
4644            repeatedNestedEnum_.AddEntriesFrom(ref input, _repeated_repeatedNestedEnum_codec);
4645            break;
4646          }
4647          case 418:
4648          case 416: {
4649            repeatedForeignEnum_.AddEntriesFrom(ref input, _repeated_repeatedForeignEnum_codec);
4650            break;
4651          }
4652          case 434: {
4653            repeatedStringPiece_.AddEntriesFrom(ref input, _repeated_repeatedStringPiece_codec);
4654            break;
4655          }
4656          case 442: {
4657            repeatedCord_.AddEntriesFrom(ref input, _repeated_repeatedCord_codec);
4658            break;
4659          }
4660          case 450: {
4661            mapInt32Int32_.AddEntriesFrom(ref input, _map_mapInt32Int32_codec);
4662            break;
4663          }
4664          case 458: {
4665            mapInt64Int64_.AddEntriesFrom(ref input, _map_mapInt64Int64_codec);
4666            break;
4667          }
4668          case 466: {
4669            mapUint32Uint32_.AddEntriesFrom(ref input, _map_mapUint32Uint32_codec);
4670            break;
4671          }
4672          case 474: {
4673            mapUint64Uint64_.AddEntriesFrom(ref input, _map_mapUint64Uint64_codec);
4674            break;
4675          }
4676          case 482: {
4677            mapSint32Sint32_.AddEntriesFrom(ref input, _map_mapSint32Sint32_codec);
4678            break;
4679          }
4680          case 490: {
4681            mapSint64Sint64_.AddEntriesFrom(ref input, _map_mapSint64Sint64_codec);
4682            break;
4683          }
4684          case 498: {
4685            mapFixed32Fixed32_.AddEntriesFrom(ref input, _map_mapFixed32Fixed32_codec);
4686            break;
4687          }
4688          case 506: {
4689            mapFixed64Fixed64_.AddEntriesFrom(ref input, _map_mapFixed64Fixed64_codec);
4690            break;
4691          }
4692          case 514: {
4693            mapSfixed32Sfixed32_.AddEntriesFrom(ref input, _map_mapSfixed32Sfixed32_codec);
4694            break;
4695          }
4696          case 522: {
4697            mapSfixed64Sfixed64_.AddEntriesFrom(ref input, _map_mapSfixed64Sfixed64_codec);
4698            break;
4699          }
4700          case 530: {
4701            mapInt32Float_.AddEntriesFrom(ref input, _map_mapInt32Float_codec);
4702            break;
4703          }
4704          case 538: {
4705            mapInt32Double_.AddEntriesFrom(ref input, _map_mapInt32Double_codec);
4706            break;
4707          }
4708          case 546: {
4709            mapBoolBool_.AddEntriesFrom(ref input, _map_mapBoolBool_codec);
4710            break;
4711          }
4712          case 554: {
4713            mapStringString_.AddEntriesFrom(ref input, _map_mapStringString_codec);
4714            break;
4715          }
4716          case 562: {
4717            mapStringBytes_.AddEntriesFrom(ref input, _map_mapStringBytes_codec);
4718            break;
4719          }
4720          case 570: {
4721            mapStringNestedMessage_.AddEntriesFrom(ref input, _map_mapStringNestedMessage_codec);
4722            break;
4723          }
4724          case 578: {
4725            mapStringForeignMessage_.AddEntriesFrom(ref input, _map_mapStringForeignMessage_codec);
4726            break;
4727          }
4728          case 586: {
4729            mapStringNestedEnum_.AddEntriesFrom(ref input, _map_mapStringNestedEnum_codec);
4730            break;
4731          }
4732          case 594: {
4733            mapStringForeignEnum_.AddEntriesFrom(ref input, _map_mapStringForeignEnum_codec);
4734            break;
4735          }
4736          case 602:
4737          case 600: {
4738            packedInt32_.AddEntriesFrom(ref input, _repeated_packedInt32_codec);
4739            break;
4740          }
4741          case 610:
4742          case 608: {
4743            packedInt64_.AddEntriesFrom(ref input, _repeated_packedInt64_codec);
4744            break;
4745          }
4746          case 618:
4747          case 616: {
4748            packedUint32_.AddEntriesFrom(ref input, _repeated_packedUint32_codec);
4749            break;
4750          }
4751          case 626:
4752          case 624: {
4753            packedUint64_.AddEntriesFrom(ref input, _repeated_packedUint64_codec);
4754            break;
4755          }
4756          case 634:
4757          case 632: {
4758            packedSint32_.AddEntriesFrom(ref input, _repeated_packedSint32_codec);
4759            break;
4760          }
4761          case 642:
4762          case 640: {
4763            packedSint64_.AddEntriesFrom(ref input, _repeated_packedSint64_codec);
4764            break;
4765          }
4766          case 650:
4767          case 653: {
4768            packedFixed32_.AddEntriesFrom(ref input, _repeated_packedFixed32_codec);
4769            break;
4770          }
4771          case 658:
4772          case 657: {
4773            packedFixed64_.AddEntriesFrom(ref input, _repeated_packedFixed64_codec);
4774            break;
4775          }
4776          case 666:
4777          case 669: {
4778            packedSfixed32_.AddEntriesFrom(ref input, _repeated_packedSfixed32_codec);
4779            break;
4780          }
4781          case 674:
4782          case 673: {
4783            packedSfixed64_.AddEntriesFrom(ref input, _repeated_packedSfixed64_codec);
4784            break;
4785          }
4786          case 682:
4787          case 685: {
4788            packedFloat_.AddEntriesFrom(ref input, _repeated_packedFloat_codec);
4789            break;
4790          }
4791          case 690:
4792          case 689: {
4793            packedDouble_.AddEntriesFrom(ref input, _repeated_packedDouble_codec);
4794            break;
4795          }
4796          case 698:
4797          case 696: {
4798            packedBool_.AddEntriesFrom(ref input, _repeated_packedBool_codec);
4799            break;
4800          }
4801          case 706:
4802          case 704: {
4803            packedNestedEnum_.AddEntriesFrom(ref input, _repeated_packedNestedEnum_codec);
4804            break;
4805          }
4806          case 714:
4807          case 712: {
4808            unpackedInt32_.AddEntriesFrom(ref input, _repeated_unpackedInt32_codec);
4809            break;
4810          }
4811          case 722:
4812          case 720: {
4813            unpackedInt64_.AddEntriesFrom(ref input, _repeated_unpackedInt64_codec);
4814            break;
4815          }
4816          case 730:
4817          case 728: {
4818            unpackedUint32_.AddEntriesFrom(ref input, _repeated_unpackedUint32_codec);
4819            break;
4820          }
4821          case 738:
4822          case 736: {
4823            unpackedUint64_.AddEntriesFrom(ref input, _repeated_unpackedUint64_codec);
4824            break;
4825          }
4826          case 746:
4827          case 744: {
4828            unpackedSint32_.AddEntriesFrom(ref input, _repeated_unpackedSint32_codec);
4829            break;
4830          }
4831          case 754:
4832          case 752: {
4833            unpackedSint64_.AddEntriesFrom(ref input, _repeated_unpackedSint64_codec);
4834            break;
4835          }
4836          case 762:
4837          case 765: {
4838            unpackedFixed32_.AddEntriesFrom(ref input, _repeated_unpackedFixed32_codec);
4839            break;
4840          }
4841          case 770:
4842          case 769: {
4843            unpackedFixed64_.AddEntriesFrom(ref input, _repeated_unpackedFixed64_codec);
4844            break;
4845          }
4846          case 778:
4847          case 781: {
4848            unpackedSfixed32_.AddEntriesFrom(ref input, _repeated_unpackedSfixed32_codec);
4849            break;
4850          }
4851          case 786:
4852          case 785: {
4853            unpackedSfixed64_.AddEntriesFrom(ref input, _repeated_unpackedSfixed64_codec);
4854            break;
4855          }
4856          case 794:
4857          case 797: {
4858            unpackedFloat_.AddEntriesFrom(ref input, _repeated_unpackedFloat_codec);
4859            break;
4860          }
4861          case 802:
4862          case 801: {
4863            unpackedDouble_.AddEntriesFrom(ref input, _repeated_unpackedDouble_codec);
4864            break;
4865          }
4866          case 810:
4867          case 808: {
4868            unpackedBool_.AddEntriesFrom(ref input, _repeated_unpackedBool_codec);
4869            break;
4870          }
4871          case 818:
4872          case 816: {
4873            unpackedNestedEnum_.AddEntriesFrom(ref input, _repeated_unpackedNestedEnum_codec);
4874            break;
4875          }
4876          case 888: {
4877            OneofUint32 = input.ReadUInt32();
4878            break;
4879          }
4880          case 898: {
4881            global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage subBuilder = new global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Types.NestedMessage();
4882            if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) {
4883              subBuilder.MergeFrom(OneofNestedMessage);
4884            }
4885            input.ReadMessage(subBuilder);
4886            OneofNestedMessage = subBuilder;
4887            break;
4888          }
4889          case 906: {
4890            OneofString = input.ReadString();
4891            break;
4892          }
4893          case 914: {
4894            OneofBytes = input.ReadBytes();
4895            break;
4896          }
4897          case 920: {
4898            OneofBool = input.ReadBool();
4899            break;
4900          }
4901          case 928: {
4902            OneofUint64 = input.ReadUInt64();
4903            break;
4904          }
4905          case 941: {
4906            OneofFloat = input.ReadFloat();
4907            break;
4908          }
4909          case 945: {
4910            OneofDouble = input.ReadDouble();
4911            break;
4912          }
4913          case 952: {
4914            oneofField_ = input.ReadEnum();
4915            oneofFieldCase_ = OneofFieldOneofCase.OneofEnum;
4916            break;
4917          }
4918          case 1610: {
4919            bool? value = _single_optionalBoolWrapper_codec.Read(ref input);
4920            if (optionalBoolWrapper_ == null || value != false) {
4921              OptionalBoolWrapper = value;
4922            }
4923            break;
4924          }
4925          case 1618: {
4926            int? value = _single_optionalInt32Wrapper_codec.Read(ref input);
4927            if (optionalInt32Wrapper_ == null || value != 0) {
4928              OptionalInt32Wrapper = value;
4929            }
4930            break;
4931          }
4932          case 1626: {
4933            long? value = _single_optionalInt64Wrapper_codec.Read(ref input);
4934            if (optionalInt64Wrapper_ == null || value != 0L) {
4935              OptionalInt64Wrapper = value;
4936            }
4937            break;
4938          }
4939          case 1634: {
4940            uint? value = _single_optionalUint32Wrapper_codec.Read(ref input);
4941            if (optionalUint32Wrapper_ == null || value != 0) {
4942              OptionalUint32Wrapper = value;
4943            }
4944            break;
4945          }
4946          case 1642: {
4947            ulong? value = _single_optionalUint64Wrapper_codec.Read(ref input);
4948            if (optionalUint64Wrapper_ == null || value != 0UL) {
4949              OptionalUint64Wrapper = value;
4950            }
4951            break;
4952          }
4953          case 1650: {
4954            float? value = _single_optionalFloatWrapper_codec.Read(ref input);
4955            if (optionalFloatWrapper_ == null || value != 0F) {
4956              OptionalFloatWrapper = value;
4957            }
4958            break;
4959          }
4960          case 1658: {
4961            double? value = _single_optionalDoubleWrapper_codec.Read(ref input);
4962            if (optionalDoubleWrapper_ == null || value != 0D) {
4963              OptionalDoubleWrapper = value;
4964            }
4965            break;
4966          }
4967          case 1666: {
4968            string value = _single_optionalStringWrapper_codec.Read(ref input);
4969            if (optionalStringWrapper_ == null || value != "") {
4970              OptionalStringWrapper = value;
4971            }
4972            break;
4973          }
4974          case 1674: {
4975            pb::ByteString value = _single_optionalBytesWrapper_codec.Read(ref input);
4976            if (optionalBytesWrapper_ == null || value != pb::ByteString.Empty) {
4977              OptionalBytesWrapper = value;
4978            }
4979            break;
4980          }
4981          case 1690: {
4982            repeatedBoolWrapper_.AddEntriesFrom(ref input, _repeated_repeatedBoolWrapper_codec);
4983            break;
4984          }
4985          case 1698: {
4986            repeatedInt32Wrapper_.AddEntriesFrom(ref input, _repeated_repeatedInt32Wrapper_codec);
4987            break;
4988          }
4989          case 1706: {
4990            repeatedInt64Wrapper_.AddEntriesFrom(ref input, _repeated_repeatedInt64Wrapper_codec);
4991            break;
4992          }
4993          case 1714: {
4994            repeatedUint32Wrapper_.AddEntriesFrom(ref input, _repeated_repeatedUint32Wrapper_codec);
4995            break;
4996          }
4997          case 1722: {
4998            repeatedUint64Wrapper_.AddEntriesFrom(ref input, _repeated_repeatedUint64Wrapper_codec);
4999            break;
5000          }
5001          case 1730: {
5002            repeatedFloatWrapper_.AddEntriesFrom(ref input, _repeated_repeatedFloatWrapper_codec);
5003            break;
5004          }
5005          case 1738: {
5006            repeatedDoubleWrapper_.AddEntriesFrom(ref input, _repeated_repeatedDoubleWrapper_codec);
5007            break;
5008          }
5009          case 1746: {
5010            repeatedStringWrapper_.AddEntriesFrom(ref input, _repeated_repeatedStringWrapper_codec);
5011            break;
5012          }
5013          case 1754: {
5014            repeatedBytesWrapper_.AddEntriesFrom(ref input, _repeated_repeatedBytesWrapper_codec);
5015            break;
5016          }
5017          case 2410: {
5018            if (optionalDuration_ == null) {
5019              OptionalDuration = new global::Google.Protobuf.WellKnownTypes.Duration();
5020            }
5021            input.ReadMessage(OptionalDuration);
5022            break;
5023          }
5024          case 2418: {
5025            if (optionalTimestamp_ == null) {
5026              OptionalTimestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp();
5027            }
5028            input.ReadMessage(OptionalTimestamp);
5029            break;
5030          }
5031          case 2426: {
5032            if (optionalFieldMask_ == null) {
5033              OptionalFieldMask = new global::Google.Protobuf.WellKnownTypes.FieldMask();
5034            }
5035            input.ReadMessage(OptionalFieldMask);
5036            break;
5037          }
5038          case 2434: {
5039            if (optionalStruct_ == null) {
5040              OptionalStruct = new global::Google.Protobuf.WellKnownTypes.Struct();
5041            }
5042            input.ReadMessage(OptionalStruct);
5043            break;
5044          }
5045          case 2442: {
5046            if (optionalAny_ == null) {
5047              OptionalAny = new global::Google.Protobuf.WellKnownTypes.Any();
5048            }
5049            input.ReadMessage(OptionalAny);
5050            break;
5051          }
5052          case 2450: {
5053            if (optionalValue_ == null) {
5054              OptionalValue = new global::Google.Protobuf.WellKnownTypes.Value();
5055            }
5056            input.ReadMessage(OptionalValue);
5057            break;
5058          }
5059          case 2490: {
5060            repeatedDuration_.AddEntriesFrom(ref input, _repeated_repeatedDuration_codec);
5061            break;
5062          }
5063          case 2498: {
5064            repeatedTimestamp_.AddEntriesFrom(ref input, _repeated_repeatedTimestamp_codec);
5065            break;
5066          }
5067          case 2506: {
5068            repeatedFieldmask_.AddEntriesFrom(ref input, _repeated_repeatedFieldmask_codec);
5069            break;
5070          }
5071          case 2522: {
5072            repeatedAny_.AddEntriesFrom(ref input, _repeated_repeatedAny_codec);
5073            break;
5074          }
5075          case 2530: {
5076            repeatedValue_.AddEntriesFrom(ref input, _repeated_repeatedValue_codec);
5077            break;
5078          }
5079          case 2538: {
5080            repeatedListValue_.AddEntriesFrom(ref input, _repeated_repeatedListValue_codec);
5081            break;
5082          }
5083          case 2594: {
5084            repeatedStruct_.AddEntriesFrom(ref input, _repeated_repeatedStruct_codec);
5085            break;
5086          }
5087          case 3208: {
5088            Fieldname1 = input.ReadInt32();
5089            break;
5090          }
5091          case 3216: {
5092            FieldName2 = input.ReadInt32();
5093            break;
5094          }
5095          case 3224: {
5096            FieldName3 = input.ReadInt32();
5097            break;
5098          }
5099          case 3232: {
5100            FieldName4 = input.ReadInt32();
5101            break;
5102          }
5103          case 3240: {
5104            Field0Name5 = input.ReadInt32();
5105            break;
5106          }
5107          case 3248: {
5108            Field0Name6 = input.ReadInt32();
5109            break;
5110          }
5111          case 3256: {
5112            FieldName7 = input.ReadInt32();
5113            break;
5114          }
5115          case 3264: {
5116            FieldName8 = input.ReadInt32();
5117            break;
5118          }
5119          case 3272: {
5120            FieldName9 = input.ReadInt32();
5121            break;
5122          }
5123          case 3280: {
5124            FieldName10 = input.ReadInt32();
5125            break;
5126          }
5127          case 3288: {
5128            FIELDNAME11 = input.ReadInt32();
5129            break;
5130          }
5131          case 3296: {
5132            FIELDName12 = input.ReadInt32();
5133            break;
5134          }
5135          case 3304: {
5136            FieldName13 = input.ReadInt32();
5137            break;
5138          }
5139          case 3312: {
5140            FieldName14 = input.ReadInt32();
5141            break;
5142          }
5143          case 3320: {
5144            FieldName15 = input.ReadInt32();
5145            break;
5146          }
5147          case 3328: {
5148            FieldName16 = input.ReadInt32();
5149            break;
5150          }
5151          case 3336: {
5152            FieldName17 = input.ReadInt32();
5153            break;
5154          }
5155          case 3344: {
5156            FieldName18 = input.ReadInt32();
5157            break;
5158          }
5159        }
5160      }
5161    }
5162    #endif
5163
5164    #region Nested types
5165    /// <summary>Container for nested types declared in the TestAllTypesProto3 message type.</summary>
5166    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5167    public static partial class Types {
5168      public enum NestedEnum {
5169        [pbr::OriginalName("FOO")] Foo = 0,
5170        [pbr::OriginalName("BAR")] Bar = 1,
5171        [pbr::OriginalName("BAZ")] Baz = 2,
5172        /// <summary>
5173        /// Intentionally negative.
5174        /// </summary>
5175        [pbr::OriginalName("NEG")] Neg = -1,
5176      }
5177
5178      public enum AliasedEnum {
5179        [pbr::OriginalName("ALIAS_FOO")] AliasFoo = 0,
5180        [pbr::OriginalName("ALIAS_BAR")] AliasBar = 1,
5181        [pbr::OriginalName("ALIAS_BAZ")] AliasBaz = 2,
5182        [pbr::OriginalName("QUX", PreferredAlias = false)] Qux = 2,
5183        [pbr::OriginalName("qux", PreferredAlias = false)] Qux_ = 2,
5184        [pbr::OriginalName("bAz", PreferredAlias = false)] BAz = 2,
5185      }
5186
5187      public sealed partial class NestedMessage : pb::IMessage<NestedMessage>
5188      #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5189          , pb::IBufferMessage
5190      #endif
5191      {
5192        private static readonly pb::MessageParser<NestedMessage> _parser = new pb::MessageParser<NestedMessage>(() => new NestedMessage());
5193        private pb::UnknownFieldSet _unknownFields;
5194        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5195        public static pb::MessageParser<NestedMessage> Parser { get { return _parser; } }
5196
5197        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5198        public static pbr::MessageDescriptor Descriptor {
5199          get { return global::ProtobufTestMessages.Proto3.TestAllTypesProto3.Descriptor.NestedTypes[0]; }
5200        }
5201
5202        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5203        pbr::MessageDescriptor pb::IMessage.Descriptor {
5204          get { return Descriptor; }
5205        }
5206
5207        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5208        public NestedMessage() {
5209          OnConstruction();
5210        }
5211
5212        partial void OnConstruction();
5213
5214        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5215        public NestedMessage(NestedMessage other) : this() {
5216          a_ = other.a_;
5217          corecursive_ = other.corecursive_ != null ? other.corecursive_.Clone() : null;
5218          _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
5219        }
5220
5221        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5222        public NestedMessage Clone() {
5223          return new NestedMessage(this);
5224        }
5225
5226        /// <summary>Field number for the "a" field.</summary>
5227        public const int AFieldNumber = 1;
5228        private int a_;
5229        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5230        public int A {
5231          get { return a_; }
5232          set {
5233            a_ = value;
5234          }
5235        }
5236
5237        /// <summary>Field number for the "corecursive" field.</summary>
5238        public const int CorecursiveFieldNumber = 2;
5239        private global::ProtobufTestMessages.Proto3.TestAllTypesProto3 corecursive_;
5240        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5241        public global::ProtobufTestMessages.Proto3.TestAllTypesProto3 Corecursive {
5242          get { return corecursive_; }
5243          set {
5244            corecursive_ = value;
5245          }
5246        }
5247
5248        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5249        public override bool Equals(object other) {
5250          return Equals(other as NestedMessage);
5251        }
5252
5253        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5254        public bool Equals(NestedMessage other) {
5255          if (ReferenceEquals(other, null)) {
5256            return false;
5257          }
5258          if (ReferenceEquals(other, this)) {
5259            return true;
5260          }
5261          if (A != other.A) return false;
5262          if (!object.Equals(Corecursive, other.Corecursive)) return false;
5263          return Equals(_unknownFields, other._unknownFields);
5264        }
5265
5266        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5267        public override int GetHashCode() {
5268          int hash = 1;
5269          if (A != 0) hash ^= A.GetHashCode();
5270          if (corecursive_ != null) hash ^= Corecursive.GetHashCode();
5271          if (_unknownFields != null) {
5272            hash ^= _unknownFields.GetHashCode();
5273          }
5274          return hash;
5275        }
5276
5277        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5278        public override string ToString() {
5279          return pb::JsonFormatter.ToDiagnosticString(this);
5280        }
5281
5282        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5283        public void WriteTo(pb::CodedOutputStream output) {
5284        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5285          output.WriteRawMessage(this);
5286        #else
5287          if (A != 0) {
5288            output.WriteRawTag(8);
5289            output.WriteInt32(A);
5290          }
5291          if (corecursive_ != null) {
5292            output.WriteRawTag(18);
5293            output.WriteMessage(Corecursive);
5294          }
5295          if (_unknownFields != null) {
5296            _unknownFields.WriteTo(output);
5297          }
5298        #endif
5299        }
5300
5301        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5302        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5303        void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
5304          if (A != 0) {
5305            output.WriteRawTag(8);
5306            output.WriteInt32(A);
5307          }
5308          if (corecursive_ != null) {
5309            output.WriteRawTag(18);
5310            output.WriteMessage(Corecursive);
5311          }
5312          if (_unknownFields != null) {
5313            _unknownFields.WriteTo(ref output);
5314          }
5315        }
5316        #endif
5317
5318        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5319        public int CalculateSize() {
5320          int size = 0;
5321          if (A != 0) {
5322            size += 1 + pb::CodedOutputStream.ComputeInt32Size(A);
5323          }
5324          if (corecursive_ != null) {
5325            size += 1 + pb::CodedOutputStream.ComputeMessageSize(Corecursive);
5326          }
5327          if (_unknownFields != null) {
5328            size += _unknownFields.CalculateSize();
5329          }
5330          return size;
5331        }
5332
5333        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5334        public void MergeFrom(NestedMessage other) {
5335          if (other == null) {
5336            return;
5337          }
5338          if (other.A != 0) {
5339            A = other.A;
5340          }
5341          if (other.corecursive_ != null) {
5342            if (corecursive_ == null) {
5343              Corecursive = new global::ProtobufTestMessages.Proto3.TestAllTypesProto3();
5344            }
5345            Corecursive.MergeFrom(other.Corecursive);
5346          }
5347          _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
5348        }
5349
5350        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5351        public void MergeFrom(pb::CodedInputStream input) {
5352        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5353          input.ReadRawMessage(this);
5354        #else
5355          uint tag;
5356          while ((tag = input.ReadTag()) != 0) {
5357            switch(tag) {
5358              default:
5359                _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
5360                break;
5361              case 8: {
5362                A = input.ReadInt32();
5363                break;
5364              }
5365              case 18: {
5366                if (corecursive_ == null) {
5367                  Corecursive = new global::ProtobufTestMessages.Proto3.TestAllTypesProto3();
5368                }
5369                input.ReadMessage(Corecursive);
5370                break;
5371              }
5372            }
5373          }
5374        #endif
5375        }
5376
5377        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5378        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5379        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
5380          uint tag;
5381          while ((tag = input.ReadTag()) != 0) {
5382            switch(tag) {
5383              default:
5384                _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
5385                break;
5386              case 8: {
5387                A = input.ReadInt32();
5388                break;
5389              }
5390              case 18: {
5391                if (corecursive_ == null) {
5392                  Corecursive = new global::ProtobufTestMessages.Proto3.TestAllTypesProto3();
5393                }
5394                input.ReadMessage(Corecursive);
5395                break;
5396              }
5397            }
5398          }
5399        }
5400        #endif
5401
5402      }
5403
5404    }
5405    #endregion
5406
5407  }
5408
5409  public sealed partial class ForeignMessage : pb::IMessage<ForeignMessage>
5410  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5411      , pb::IBufferMessage
5412  #endif
5413  {
5414    private static readonly pb::MessageParser<ForeignMessage> _parser = new pb::MessageParser<ForeignMessage>(() => new ForeignMessage());
5415    private pb::UnknownFieldSet _unknownFields;
5416    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5417    public static pb::MessageParser<ForeignMessage> Parser { get { return _parser; } }
5418
5419    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5420    public static pbr::MessageDescriptor Descriptor {
5421      get { return global::ProtobufTestMessages.Proto3.TestMessagesProto3Reflection.Descriptor.MessageTypes[1]; }
5422    }
5423
5424    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5425    pbr::MessageDescriptor pb::IMessage.Descriptor {
5426      get { return Descriptor; }
5427    }
5428
5429    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5430    public ForeignMessage() {
5431      OnConstruction();
5432    }
5433
5434    partial void OnConstruction();
5435
5436    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5437    public ForeignMessage(ForeignMessage other) : this() {
5438      c_ = other.c_;
5439      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
5440    }
5441
5442    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5443    public ForeignMessage Clone() {
5444      return new ForeignMessage(this);
5445    }
5446
5447    /// <summary>Field number for the "c" field.</summary>
5448    public const int CFieldNumber = 1;
5449    private int c_;
5450    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5451    public int C {
5452      get { return c_; }
5453      set {
5454        c_ = value;
5455      }
5456    }
5457
5458    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5459    public override bool Equals(object other) {
5460      return Equals(other as ForeignMessage);
5461    }
5462
5463    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5464    public bool Equals(ForeignMessage other) {
5465      if (ReferenceEquals(other, null)) {
5466        return false;
5467      }
5468      if (ReferenceEquals(other, this)) {
5469        return true;
5470      }
5471      if (C != other.C) return false;
5472      return Equals(_unknownFields, other._unknownFields);
5473    }
5474
5475    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5476    public override int GetHashCode() {
5477      int hash = 1;
5478      if (C != 0) hash ^= C.GetHashCode();
5479      if (_unknownFields != null) {
5480        hash ^= _unknownFields.GetHashCode();
5481      }
5482      return hash;
5483    }
5484
5485    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5486    public override string ToString() {
5487      return pb::JsonFormatter.ToDiagnosticString(this);
5488    }
5489
5490    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5491    public void WriteTo(pb::CodedOutputStream output) {
5492    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5493      output.WriteRawMessage(this);
5494    #else
5495      if (C != 0) {
5496        output.WriteRawTag(8);
5497        output.WriteInt32(C);
5498      }
5499      if (_unknownFields != null) {
5500        _unknownFields.WriteTo(output);
5501      }
5502    #endif
5503    }
5504
5505    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5506    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5507    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
5508      if (C != 0) {
5509        output.WriteRawTag(8);
5510        output.WriteInt32(C);
5511      }
5512      if (_unknownFields != null) {
5513        _unknownFields.WriteTo(ref output);
5514      }
5515    }
5516    #endif
5517
5518    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5519    public int CalculateSize() {
5520      int size = 0;
5521      if (C != 0) {
5522        size += 1 + pb::CodedOutputStream.ComputeInt32Size(C);
5523      }
5524      if (_unknownFields != null) {
5525        size += _unknownFields.CalculateSize();
5526      }
5527      return size;
5528    }
5529
5530    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5531    public void MergeFrom(ForeignMessage other) {
5532      if (other == null) {
5533        return;
5534      }
5535      if (other.C != 0) {
5536        C = other.C;
5537      }
5538      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
5539    }
5540
5541    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5542    public void MergeFrom(pb::CodedInputStream input) {
5543    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5544      input.ReadRawMessage(this);
5545    #else
5546      uint tag;
5547      while ((tag = input.ReadTag()) != 0) {
5548        switch(tag) {
5549          default:
5550            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
5551            break;
5552          case 8: {
5553            C = input.ReadInt32();
5554            break;
5555          }
5556        }
5557      }
5558    #endif
5559    }
5560
5561    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5562    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5563    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
5564      uint tag;
5565      while ((tag = input.ReadTag()) != 0) {
5566        switch(tag) {
5567          default:
5568            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
5569            break;
5570          case 8: {
5571            C = input.ReadInt32();
5572            break;
5573          }
5574        }
5575      }
5576    }
5577    #endif
5578
5579  }
5580
5581  #endregion
5582
5583}
5584
5585#endregion Designer generated code
5586