1// Generated by the protocol buffer compiler.  DO NOT EDIT!
2
3#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
4#include "google/protobuf/descriptor.pb.h"
5#include <google/protobuf/stubs/once.h>
6#include <google/protobuf/io/coded_stream.h>
7#include <google/protobuf/wire_format_lite_inl.h>
8#include <google/protobuf/descriptor.h>
9#include <google/protobuf/reflection_ops.h>
10#include <google/protobuf/wire_format.h>
11// @@protoc_insertion_point(includes)
12
13namespace google {
14namespace protobuf {
15
16namespace {
17
18const ::google::protobuf::Descriptor* FileDescriptorSet_descriptor_ = NULL;
19const ::google::protobuf::internal::GeneratedMessageReflection*
20  FileDescriptorSet_reflection_ = NULL;
21const ::google::protobuf::Descriptor* FileDescriptorProto_descriptor_ = NULL;
22const ::google::protobuf::internal::GeneratedMessageReflection*
23  FileDescriptorProto_reflection_ = NULL;
24const ::google::protobuf::Descriptor* DescriptorProto_descriptor_ = NULL;
25const ::google::protobuf::internal::GeneratedMessageReflection*
26  DescriptorProto_reflection_ = NULL;
27const ::google::protobuf::Descriptor* DescriptorProto_ExtensionRange_descriptor_ = NULL;
28const ::google::protobuf::internal::GeneratedMessageReflection*
29  DescriptorProto_ExtensionRange_reflection_ = NULL;
30const ::google::protobuf::Descriptor* FieldDescriptorProto_descriptor_ = NULL;
31const ::google::protobuf::internal::GeneratedMessageReflection*
32  FieldDescriptorProto_reflection_ = NULL;
33const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Type_descriptor_ = NULL;
34const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Label_descriptor_ = NULL;
35const ::google::protobuf::Descriptor* EnumDescriptorProto_descriptor_ = NULL;
36const ::google::protobuf::internal::GeneratedMessageReflection*
37  EnumDescriptorProto_reflection_ = NULL;
38const ::google::protobuf::Descriptor* EnumValueDescriptorProto_descriptor_ = NULL;
39const ::google::protobuf::internal::GeneratedMessageReflection*
40  EnumValueDescriptorProto_reflection_ = NULL;
41const ::google::protobuf::Descriptor* ServiceDescriptorProto_descriptor_ = NULL;
42const ::google::protobuf::internal::GeneratedMessageReflection*
43  ServiceDescriptorProto_reflection_ = NULL;
44const ::google::protobuf::Descriptor* MethodDescriptorProto_descriptor_ = NULL;
45const ::google::protobuf::internal::GeneratedMessageReflection*
46  MethodDescriptorProto_reflection_ = NULL;
47const ::google::protobuf::Descriptor* FileOptions_descriptor_ = NULL;
48const ::google::protobuf::internal::GeneratedMessageReflection*
49  FileOptions_reflection_ = NULL;
50const ::google::protobuf::EnumDescriptor* FileOptions_OptimizeMode_descriptor_ = NULL;
51const ::google::protobuf::Descriptor* MessageOptions_descriptor_ = NULL;
52const ::google::protobuf::internal::GeneratedMessageReflection*
53  MessageOptions_reflection_ = NULL;
54const ::google::protobuf::Descriptor* FieldOptions_descriptor_ = NULL;
55const ::google::protobuf::internal::GeneratedMessageReflection*
56  FieldOptions_reflection_ = NULL;
57const ::google::protobuf::EnumDescriptor* FieldOptions_CType_descriptor_ = NULL;
58const ::google::protobuf::Descriptor* EnumOptions_descriptor_ = NULL;
59const ::google::protobuf::internal::GeneratedMessageReflection*
60  EnumOptions_reflection_ = NULL;
61const ::google::protobuf::Descriptor* EnumValueOptions_descriptor_ = NULL;
62const ::google::protobuf::internal::GeneratedMessageReflection*
63  EnumValueOptions_reflection_ = NULL;
64const ::google::protobuf::Descriptor* ServiceOptions_descriptor_ = NULL;
65const ::google::protobuf::internal::GeneratedMessageReflection*
66  ServiceOptions_reflection_ = NULL;
67const ::google::protobuf::Descriptor* MethodOptions_descriptor_ = NULL;
68const ::google::protobuf::internal::GeneratedMessageReflection*
69  MethodOptions_reflection_ = NULL;
70const ::google::protobuf::Descriptor* UninterpretedOption_descriptor_ = NULL;
71const ::google::protobuf::internal::GeneratedMessageReflection*
72  UninterpretedOption_reflection_ = NULL;
73const ::google::protobuf::Descriptor* UninterpretedOption_NamePart_descriptor_ = NULL;
74const ::google::protobuf::internal::GeneratedMessageReflection*
75  UninterpretedOption_NamePart_reflection_ = NULL;
76
77}  // namespace
78
79
80void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto() {
81  protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
82  const ::google::protobuf::FileDescriptor* file =
83    ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
84      "google/protobuf/descriptor.proto");
85  GOOGLE_CHECK(file != NULL);
86  FileDescriptorSet_descriptor_ = file->message_type(0);
87  static const int FileDescriptorSet_offsets_[1] = {
88    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorSet, file_),
89  };
90  FileDescriptorSet_reflection_ =
91    new ::google::protobuf::internal::GeneratedMessageReflection(
92      FileDescriptorSet_descriptor_,
93      FileDescriptorSet::default_instance_,
94      FileDescriptorSet_offsets_,
95      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorSet, _has_bits_[0]),
96      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorSet, _unknown_fields_),
97      -1,
98      ::google::protobuf::DescriptorPool::generated_pool(),
99      ::google::protobuf::MessageFactory::generated_factory(),
100      sizeof(FileDescriptorSet));
101  FileDescriptorProto_descriptor_ = file->message_type(1);
102  static const int FileDescriptorProto_offsets_[8] = {
103    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, name_),
104    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, package_),
105    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, dependency_),
106    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, message_type_),
107    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, enum_type_),
108    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, service_),
109    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, extension_),
110    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, options_),
111  };
112  FileDescriptorProto_reflection_ =
113    new ::google::protobuf::internal::GeneratedMessageReflection(
114      FileDescriptorProto_descriptor_,
115      FileDescriptorProto::default_instance_,
116      FileDescriptorProto_offsets_,
117      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, _has_bits_[0]),
118      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, _unknown_fields_),
119      -1,
120      ::google::protobuf::DescriptorPool::generated_pool(),
121      ::google::protobuf::MessageFactory::generated_factory(),
122      sizeof(FileDescriptorProto));
123  DescriptorProto_descriptor_ = file->message_type(2);
124  static const int DescriptorProto_offsets_[7] = {
125    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, name_),
126    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, field_),
127    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, extension_),
128    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, nested_type_),
129    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, enum_type_),
130    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, extension_range_),
131    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, options_),
132  };
133  DescriptorProto_reflection_ =
134    new ::google::protobuf::internal::GeneratedMessageReflection(
135      DescriptorProto_descriptor_,
136      DescriptorProto::default_instance_,
137      DescriptorProto_offsets_,
138      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, _has_bits_[0]),
139      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, _unknown_fields_),
140      -1,
141      ::google::protobuf::DescriptorPool::generated_pool(),
142      ::google::protobuf::MessageFactory::generated_factory(),
143      sizeof(DescriptorProto));
144  DescriptorProto_ExtensionRange_descriptor_ = DescriptorProto_descriptor_->nested_type(0);
145  static const int DescriptorProto_ExtensionRange_offsets_[2] = {
146    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, start_),
147    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, end_),
148  };
149  DescriptorProto_ExtensionRange_reflection_ =
150    new ::google::protobuf::internal::GeneratedMessageReflection(
151      DescriptorProto_ExtensionRange_descriptor_,
152      DescriptorProto_ExtensionRange::default_instance_,
153      DescriptorProto_ExtensionRange_offsets_,
154      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, _has_bits_[0]),
155      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, _unknown_fields_),
156      -1,
157      ::google::protobuf::DescriptorPool::generated_pool(),
158      ::google::protobuf::MessageFactory::generated_factory(),
159      sizeof(DescriptorProto_ExtensionRange));
160  FieldDescriptorProto_descriptor_ = file->message_type(3);
161  static const int FieldDescriptorProto_offsets_[8] = {
162    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, name_),
163    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, number_),
164    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, label_),
165    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, type_),
166    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, type_name_),
167    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, extendee_),
168    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, default_value_),
169    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, options_),
170  };
171  FieldDescriptorProto_reflection_ =
172    new ::google::protobuf::internal::GeneratedMessageReflection(
173      FieldDescriptorProto_descriptor_,
174      FieldDescriptorProto::default_instance_,
175      FieldDescriptorProto_offsets_,
176      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, _has_bits_[0]),
177      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, _unknown_fields_),
178      -1,
179      ::google::protobuf::DescriptorPool::generated_pool(),
180      ::google::protobuf::MessageFactory::generated_factory(),
181      sizeof(FieldDescriptorProto));
182  FieldDescriptorProto_Type_descriptor_ = FieldDescriptorProto_descriptor_->enum_type(0);
183  FieldDescriptorProto_Label_descriptor_ = FieldDescriptorProto_descriptor_->enum_type(1);
184  EnumDescriptorProto_descriptor_ = file->message_type(4);
185  static const int EnumDescriptorProto_offsets_[3] = {
186    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, name_),
187    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, value_),
188    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, options_),
189  };
190  EnumDescriptorProto_reflection_ =
191    new ::google::protobuf::internal::GeneratedMessageReflection(
192      EnumDescriptorProto_descriptor_,
193      EnumDescriptorProto::default_instance_,
194      EnumDescriptorProto_offsets_,
195      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, _has_bits_[0]),
196      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, _unknown_fields_),
197      -1,
198      ::google::protobuf::DescriptorPool::generated_pool(),
199      ::google::protobuf::MessageFactory::generated_factory(),
200      sizeof(EnumDescriptorProto));
201  EnumValueDescriptorProto_descriptor_ = file->message_type(5);
202  static const int EnumValueDescriptorProto_offsets_[3] = {
203    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, name_),
204    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, number_),
205    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, options_),
206  };
207  EnumValueDescriptorProto_reflection_ =
208    new ::google::protobuf::internal::GeneratedMessageReflection(
209      EnumValueDescriptorProto_descriptor_,
210      EnumValueDescriptorProto::default_instance_,
211      EnumValueDescriptorProto_offsets_,
212      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, _has_bits_[0]),
213      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, _unknown_fields_),
214      -1,
215      ::google::protobuf::DescriptorPool::generated_pool(),
216      ::google::protobuf::MessageFactory::generated_factory(),
217      sizeof(EnumValueDescriptorProto));
218  ServiceDescriptorProto_descriptor_ = file->message_type(6);
219  static const int ServiceDescriptorProto_offsets_[3] = {
220    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, name_),
221    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, method_),
222    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, options_),
223  };
224  ServiceDescriptorProto_reflection_ =
225    new ::google::protobuf::internal::GeneratedMessageReflection(
226      ServiceDescriptorProto_descriptor_,
227      ServiceDescriptorProto::default_instance_,
228      ServiceDescriptorProto_offsets_,
229      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, _has_bits_[0]),
230      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, _unknown_fields_),
231      -1,
232      ::google::protobuf::DescriptorPool::generated_pool(),
233      ::google::protobuf::MessageFactory::generated_factory(),
234      sizeof(ServiceDescriptorProto));
235  MethodDescriptorProto_descriptor_ = file->message_type(7);
236  static const int MethodDescriptorProto_offsets_[4] = {
237    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, name_),
238    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, input_type_),
239    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, output_type_),
240    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, options_),
241  };
242  MethodDescriptorProto_reflection_ =
243    new ::google::protobuf::internal::GeneratedMessageReflection(
244      MethodDescriptorProto_descriptor_,
245      MethodDescriptorProto::default_instance_,
246      MethodDescriptorProto_offsets_,
247      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, _has_bits_[0]),
248      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, _unknown_fields_),
249      -1,
250      ::google::protobuf::DescriptorPool::generated_pool(),
251      ::google::protobuf::MessageFactory::generated_factory(),
252      sizeof(MethodDescriptorProto));
253  FileOptions_descriptor_ = file->message_type(8);
254  static const int FileOptions_offsets_[8] = {
255    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_package_),
256    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_outer_classname_),
257    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_multiple_files_),
258    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, optimize_for_),
259    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, cc_generic_services_),
260    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_generic_services_),
261    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, py_generic_services_),
262    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, uninterpreted_option_),
263  };
264  FileOptions_reflection_ =
265    new ::google::protobuf::internal::GeneratedMessageReflection(
266      FileOptions_descriptor_,
267      FileOptions::default_instance_,
268      FileOptions_offsets_,
269      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, _has_bits_[0]),
270      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, _unknown_fields_),
271      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, _extensions_),
272      ::google::protobuf::DescriptorPool::generated_pool(),
273      ::google::protobuf::MessageFactory::generated_factory(),
274      sizeof(FileOptions));
275  FileOptions_OptimizeMode_descriptor_ = FileOptions_descriptor_->enum_type(0);
276  MessageOptions_descriptor_ = file->message_type(9);
277  static const int MessageOptions_offsets_[3] = {
278    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, message_set_wire_format_),
279    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, no_standard_descriptor_accessor_),
280    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, uninterpreted_option_),
281  };
282  MessageOptions_reflection_ =
283    new ::google::protobuf::internal::GeneratedMessageReflection(
284      MessageOptions_descriptor_,
285      MessageOptions::default_instance_,
286      MessageOptions_offsets_,
287      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, _has_bits_[0]),
288      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, _unknown_fields_),
289      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, _extensions_),
290      ::google::protobuf::DescriptorPool::generated_pool(),
291      ::google::protobuf::MessageFactory::generated_factory(),
292      sizeof(MessageOptions));
293  FieldOptions_descriptor_ = file->message_type(10);
294  static const int FieldOptions_offsets_[5] = {
295    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, ctype_),
296    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, packed_),
297    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, deprecated_),
298    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, experimental_map_key_),
299    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, uninterpreted_option_),
300  };
301  FieldOptions_reflection_ =
302    new ::google::protobuf::internal::GeneratedMessageReflection(
303      FieldOptions_descriptor_,
304      FieldOptions::default_instance_,
305      FieldOptions_offsets_,
306      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, _has_bits_[0]),
307      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, _unknown_fields_),
308      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, _extensions_),
309      ::google::protobuf::DescriptorPool::generated_pool(),
310      ::google::protobuf::MessageFactory::generated_factory(),
311      sizeof(FieldOptions));
312  FieldOptions_CType_descriptor_ = FieldOptions_descriptor_->enum_type(0);
313  EnumOptions_descriptor_ = file->message_type(11);
314  static const int EnumOptions_offsets_[1] = {
315    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, uninterpreted_option_),
316  };
317  EnumOptions_reflection_ =
318    new ::google::protobuf::internal::GeneratedMessageReflection(
319      EnumOptions_descriptor_,
320      EnumOptions::default_instance_,
321      EnumOptions_offsets_,
322      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, _has_bits_[0]),
323      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, _unknown_fields_),
324      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, _extensions_),
325      ::google::protobuf::DescriptorPool::generated_pool(),
326      ::google::protobuf::MessageFactory::generated_factory(),
327      sizeof(EnumOptions));
328  EnumValueOptions_descriptor_ = file->message_type(12);
329  static const int EnumValueOptions_offsets_[1] = {
330    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, uninterpreted_option_),
331  };
332  EnumValueOptions_reflection_ =
333    new ::google::protobuf::internal::GeneratedMessageReflection(
334      EnumValueOptions_descriptor_,
335      EnumValueOptions::default_instance_,
336      EnumValueOptions_offsets_,
337      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, _has_bits_[0]),
338      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, _unknown_fields_),
339      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, _extensions_),
340      ::google::protobuf::DescriptorPool::generated_pool(),
341      ::google::protobuf::MessageFactory::generated_factory(),
342      sizeof(EnumValueOptions));
343  ServiceOptions_descriptor_ = file->message_type(13);
344  static const int ServiceOptions_offsets_[1] = {
345    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, uninterpreted_option_),
346  };
347  ServiceOptions_reflection_ =
348    new ::google::protobuf::internal::GeneratedMessageReflection(
349      ServiceOptions_descriptor_,
350      ServiceOptions::default_instance_,
351      ServiceOptions_offsets_,
352      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, _has_bits_[0]),
353      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, _unknown_fields_),
354      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, _extensions_),
355      ::google::protobuf::DescriptorPool::generated_pool(),
356      ::google::protobuf::MessageFactory::generated_factory(),
357      sizeof(ServiceOptions));
358  MethodOptions_descriptor_ = file->message_type(14);
359  static const int MethodOptions_offsets_[1] = {
360    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, uninterpreted_option_),
361  };
362  MethodOptions_reflection_ =
363    new ::google::protobuf::internal::GeneratedMessageReflection(
364      MethodOptions_descriptor_,
365      MethodOptions::default_instance_,
366      MethodOptions_offsets_,
367      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, _has_bits_[0]),
368      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, _unknown_fields_),
369      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, _extensions_),
370      ::google::protobuf::DescriptorPool::generated_pool(),
371      ::google::protobuf::MessageFactory::generated_factory(),
372      sizeof(MethodOptions));
373  UninterpretedOption_descriptor_ = file->message_type(15);
374  static const int UninterpretedOption_offsets_[6] = {
375    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, name_),
376    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, identifier_value_),
377    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, positive_int_value_),
378    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, negative_int_value_),
379    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, double_value_),
380    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, string_value_),
381  };
382  UninterpretedOption_reflection_ =
383    new ::google::protobuf::internal::GeneratedMessageReflection(
384      UninterpretedOption_descriptor_,
385      UninterpretedOption::default_instance_,
386      UninterpretedOption_offsets_,
387      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, _has_bits_[0]),
388      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, _unknown_fields_),
389      -1,
390      ::google::protobuf::DescriptorPool::generated_pool(),
391      ::google::protobuf::MessageFactory::generated_factory(),
392      sizeof(UninterpretedOption));
393  UninterpretedOption_NamePart_descriptor_ = UninterpretedOption_descriptor_->nested_type(0);
394  static const int UninterpretedOption_NamePart_offsets_[2] = {
395    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, name_part_),
396    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, is_extension_),
397  };
398  UninterpretedOption_NamePart_reflection_ =
399    new ::google::protobuf::internal::GeneratedMessageReflection(
400      UninterpretedOption_NamePart_descriptor_,
401      UninterpretedOption_NamePart::default_instance_,
402      UninterpretedOption_NamePart_offsets_,
403      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, _has_bits_[0]),
404      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, _unknown_fields_),
405      -1,
406      ::google::protobuf::DescriptorPool::generated_pool(),
407      ::google::protobuf::MessageFactory::generated_factory(),
408      sizeof(UninterpretedOption_NamePart));
409}
410
411namespace {
412
413GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
414inline void protobuf_AssignDescriptorsOnce() {
415  ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
416                 &protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto);
417}
418
419void protobuf_RegisterTypes(const ::std::string&) {
420  protobuf_AssignDescriptorsOnce();
421  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
422    FileDescriptorSet_descriptor_, &FileDescriptorSet::default_instance());
423  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
424    FileDescriptorProto_descriptor_, &FileDescriptorProto::default_instance());
425  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
426    DescriptorProto_descriptor_, &DescriptorProto::default_instance());
427  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
428    DescriptorProto_ExtensionRange_descriptor_, &DescriptorProto_ExtensionRange::default_instance());
429  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
430    FieldDescriptorProto_descriptor_, &FieldDescriptorProto::default_instance());
431  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
432    EnumDescriptorProto_descriptor_, &EnumDescriptorProto::default_instance());
433  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
434    EnumValueDescriptorProto_descriptor_, &EnumValueDescriptorProto::default_instance());
435  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
436    ServiceDescriptorProto_descriptor_, &ServiceDescriptorProto::default_instance());
437  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
438    MethodDescriptorProto_descriptor_, &MethodDescriptorProto::default_instance());
439  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
440    FileOptions_descriptor_, &FileOptions::default_instance());
441  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
442    MessageOptions_descriptor_, &MessageOptions::default_instance());
443  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
444    FieldOptions_descriptor_, &FieldOptions::default_instance());
445  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
446    EnumOptions_descriptor_, &EnumOptions::default_instance());
447  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
448    EnumValueOptions_descriptor_, &EnumValueOptions::default_instance());
449  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
450    ServiceOptions_descriptor_, &ServiceOptions::default_instance());
451  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
452    MethodOptions_descriptor_, &MethodOptions::default_instance());
453  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
454    UninterpretedOption_descriptor_, &UninterpretedOption::default_instance());
455  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
456    UninterpretedOption_NamePart_descriptor_, &UninterpretedOption_NamePart::default_instance());
457}
458
459}  // namespace
460
461void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto() {
462  delete FileDescriptorSet::default_instance_;
463  delete FileDescriptorSet_reflection_;
464  delete FileDescriptorProto::default_instance_;
465  delete FileDescriptorProto_reflection_;
466  delete DescriptorProto::default_instance_;
467  delete DescriptorProto_reflection_;
468  delete DescriptorProto_ExtensionRange::default_instance_;
469  delete DescriptorProto_ExtensionRange_reflection_;
470  delete FieldDescriptorProto::default_instance_;
471  delete FieldDescriptorProto_reflection_;
472  delete EnumDescriptorProto::default_instance_;
473  delete EnumDescriptorProto_reflection_;
474  delete EnumValueDescriptorProto::default_instance_;
475  delete EnumValueDescriptorProto_reflection_;
476  delete ServiceDescriptorProto::default_instance_;
477  delete ServiceDescriptorProto_reflection_;
478  delete MethodDescriptorProto::default_instance_;
479  delete MethodDescriptorProto_reflection_;
480  delete FileOptions::default_instance_;
481  delete FileOptions_reflection_;
482  delete MessageOptions::default_instance_;
483  delete MessageOptions_reflection_;
484  delete FieldOptions::default_instance_;
485  delete FieldOptions_reflection_;
486  delete EnumOptions::default_instance_;
487  delete EnumOptions_reflection_;
488  delete EnumValueOptions::default_instance_;
489  delete EnumValueOptions_reflection_;
490  delete ServiceOptions::default_instance_;
491  delete ServiceOptions_reflection_;
492  delete MethodOptions::default_instance_;
493  delete MethodOptions_reflection_;
494  delete UninterpretedOption::default_instance_;
495  delete UninterpretedOption_reflection_;
496  delete UninterpretedOption_NamePart::default_instance_;
497  delete UninterpretedOption_NamePart_reflection_;
498}
499
500void protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto() {
501  static bool already_here = false;
502  if (already_here) return;
503  already_here = true;
504  GOOGLE_PROTOBUF_VERIFY_VERSION;
505
506  ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
507    "\n google/protobuf/descriptor.proto\022\017goog"
508    "le.protobuf\"G\n\021FileDescriptorSet\0222\n\004file"
509    "\030\001 \003(\0132$.google.protobuf.FileDescriptorP"
510    "roto\"\334\002\n\023FileDescriptorProto\022\014\n\004name\030\001 \001"
511    "(\t\022\017\n\007package\030\002 \001(\t\022\022\n\ndependency\030\003 \003(\t\022"
512    "6\n\014message_type\030\004 \003(\0132 .google.protobuf."
513    "DescriptorProto\0227\n\tenum_type\030\005 \003(\0132$.goo"
514    "gle.protobuf.EnumDescriptorProto\0228\n\007serv"
515    "ice\030\006 \003(\0132\'.google.protobuf.ServiceDescr"
516    "iptorProto\0228\n\textension\030\007 \003(\0132%.google.p"
517    "rotobuf.FieldDescriptorProto\022-\n\007options\030"
518    "\010 \001(\0132\034.google.protobuf.FileOptions\"\251\003\n\017"
519    "DescriptorProto\022\014\n\004name\030\001 \001(\t\0224\n\005field\030\002"
520    " \003(\0132%.google.protobuf.FieldDescriptorPr"
521    "oto\0228\n\textension\030\006 \003(\0132%.google.protobuf"
522    ".FieldDescriptorProto\0225\n\013nested_type\030\003 \003"
523    "(\0132 .google.protobuf.DescriptorProto\0227\n\t"
524    "enum_type\030\004 \003(\0132$.google.protobuf.EnumDe"
525    "scriptorProto\022H\n\017extension_range\030\005 \003(\0132/"
526    ".google.protobuf.DescriptorProto.Extensi"
527    "onRange\0220\n\007options\030\007 \001(\0132\037.google.protob"
528    "uf.MessageOptions\032,\n\016ExtensionRange\022\r\n\005s"
529    "tart\030\001 \001(\005\022\013\n\003end\030\002 \001(\005\"\224\005\n\024FieldDescrip"
530    "torProto\022\014\n\004name\030\001 \001(\t\022\016\n\006number\030\003 \001(\005\022:"
531    "\n\005label\030\004 \001(\0162+.google.protobuf.FieldDes"
532    "criptorProto.Label\0228\n\004type\030\005 \001(\0162*.googl"
533    "e.protobuf.FieldDescriptorProto.Type\022\021\n\t"
534    "type_name\030\006 \001(\t\022\020\n\010extendee\030\002 \001(\t\022\025\n\rdef"
535    "ault_value\030\007 \001(\t\022.\n\007options\030\010 \001(\0132\035.goog"
536    "le.protobuf.FieldOptions\"\266\002\n\004Type\022\017\n\013TYP"
537    "E_DOUBLE\020\001\022\016\n\nTYPE_FLOAT\020\002\022\016\n\nTYPE_INT64"
538    "\020\003\022\017\n\013TYPE_UINT64\020\004\022\016\n\nTYPE_INT32\020\005\022\020\n\014T"
539    "YPE_FIXED64\020\006\022\020\n\014TYPE_FIXED32\020\007\022\r\n\tTYPE_"
540    "BOOL\020\010\022\017\n\013TYPE_STRING\020\t\022\016\n\nTYPE_GROUP\020\n\022"
541    "\020\n\014TYPE_MESSAGE\020\013\022\016\n\nTYPE_BYTES\020\014\022\017\n\013TYP"
542    "E_UINT32\020\r\022\r\n\tTYPE_ENUM\020\016\022\021\n\rTYPE_SFIXED"
543    "32\020\017\022\021\n\rTYPE_SFIXED64\020\020\022\017\n\013TYPE_SINT32\020\021"
544    "\022\017\n\013TYPE_SINT64\020\022\"C\n\005Label\022\022\n\016LABEL_OPTI"
545    "ONAL\020\001\022\022\n\016LABEL_REQUIRED\020\002\022\022\n\016LABEL_REPE"
546    "ATED\020\003\"\214\001\n\023EnumDescriptorProto\022\014\n\004name\030\001"
547    " \001(\t\0228\n\005value\030\002 \003(\0132).google.protobuf.En"
548    "umValueDescriptorProto\022-\n\007options\030\003 \001(\0132"
549    "\034.google.protobuf.EnumOptions\"l\n\030EnumVal"
550    "ueDescriptorProto\022\014\n\004name\030\001 \001(\t\022\016\n\006numbe"
551    "r\030\002 \001(\005\0222\n\007options\030\003 \001(\0132!.google.protob"
552    "uf.EnumValueOptions\"\220\001\n\026ServiceDescripto"
553    "rProto\022\014\n\004name\030\001 \001(\t\0226\n\006method\030\002 \003(\0132&.g"
554    "oogle.protobuf.MethodDescriptorProto\0220\n\007"
555    "options\030\003 \001(\0132\037.google.protobuf.ServiceO"
556    "ptions\"\177\n\025MethodDescriptorProto\022\014\n\004name\030"
557    "\001 \001(\t\022\022\n\ninput_type\030\002 \001(\t\022\023\n\013output_type"
558    "\030\003 \001(\t\022/\n\007options\030\004 \001(\0132\036.google.protobu"
559    "f.MethodOptions\"\244\003\n\013FileOptions\022\024\n\014java_"
560    "package\030\001 \001(\t\022\034\n\024java_outer_classname\030\010 "
561    "\001(\t\022\"\n\023java_multiple_files\030\n \001(\010:\005false\022"
562    "F\n\014optimize_for\030\t \001(\0162).google.protobuf."
563    "FileOptions.OptimizeMode:\005SPEED\022!\n\023cc_ge"
564    "neric_services\030\020 \001(\010:\004true\022#\n\025java_gener"
565    "ic_services\030\021 \001(\010:\004true\022!\n\023py_generic_se"
566    "rvices\030\022 \001(\010:\004true\022C\n\024uninterpreted_opti"
567    "on\030\347\007 \003(\0132$.google.protobuf.Uninterprete"
568    "dOption\":\n\014OptimizeMode\022\t\n\005SPEED\020\001\022\r\n\tCO"
569    "DE_SIZE\020\002\022\020\n\014LITE_RUNTIME\020\003*\t\010\350\007\020\200\200\200\200\002\"\270"
570    "\001\n\016MessageOptions\022&\n\027message_set_wire_fo"
571    "rmat\030\001 \001(\010:\005false\022.\n\037no_standard_descrip"
572    "tor_accessor\030\002 \001(\010:\005false\022C\n\024uninterpret"
573    "ed_option\030\347\007 \003(\0132$.google.protobuf.Unint"
574    "erpretedOption*\t\010\350\007\020\200\200\200\200\002\"\224\002\n\014FieldOptio"
575    "ns\022:\n\005ctype\030\001 \001(\0162#.google.protobuf.Fiel"
576    "dOptions.CType:\006STRING\022\016\n\006packed\030\002 \001(\010\022\031"
577    "\n\ndeprecated\030\003 \001(\010:\005false\022\034\n\024experimenta"
578    "l_map_key\030\t \001(\t\022C\n\024uninterpreted_option\030"
579    "\347\007 \003(\0132$.google.protobuf.UninterpretedOp"
580    "tion\"/\n\005CType\022\n\n\006STRING\020\000\022\010\n\004CORD\020\001\022\020\n\014S"
581    "TRING_PIECE\020\002*\t\010\350\007\020\200\200\200\200\002\"]\n\013EnumOptions\022"
582    "C\n\024uninterpreted_option\030\347\007 \003(\0132$.google."
583    "protobuf.UninterpretedOption*\t\010\350\007\020\200\200\200\200\002\""
584    "b\n\020EnumValueOptions\022C\n\024uninterpreted_opt"
585    "ion\030\347\007 \003(\0132$.google.protobuf.Uninterpret"
586    "edOption*\t\010\350\007\020\200\200\200\200\002\"`\n\016ServiceOptions\022C\n"
587    "\024uninterpreted_option\030\347\007 \003(\0132$.google.pr"
588    "otobuf.UninterpretedOption*\t\010\350\007\020\200\200\200\200\002\"_\n"
589    "\rMethodOptions\022C\n\024uninterpreted_option\030\347"
590    "\007 \003(\0132$.google.protobuf.UninterpretedOpt"
591    "ion*\t\010\350\007\020\200\200\200\200\002\"\205\002\n\023UninterpretedOption\022;"
592    "\n\004name\030\002 \003(\0132-.google.protobuf.Uninterpr"
593    "etedOption.NamePart\022\030\n\020identifier_value\030"
594    "\003 \001(\t\022\032\n\022positive_int_value\030\004 \001(\004\022\032\n\022neg"
595    "ative_int_value\030\005 \001(\003\022\024\n\014double_value\030\006 "
596    "\001(\001\022\024\n\014string_value\030\007 \001(\014\0323\n\010NamePart\022\021\n"
597    "\tname_part\030\001 \002(\t\022\024\n\014is_extension\030\002 \002(\010B)"
598    "\n\023com.google.protobufB\020DescriptorProtosH"
599    "\001", 3681);
600  ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
601    "google/protobuf/descriptor.proto", &protobuf_RegisterTypes);
602  FileDescriptorSet::default_instance_ = new FileDescriptorSet();
603  FileDescriptorProto::default_instance_ = new FileDescriptorProto();
604  DescriptorProto::default_instance_ = new DescriptorProto();
605  DescriptorProto_ExtensionRange::default_instance_ = new DescriptorProto_ExtensionRange();
606  FieldDescriptorProto::default_instance_ = new FieldDescriptorProto();
607  EnumDescriptorProto::default_instance_ = new EnumDescriptorProto();
608  EnumValueDescriptorProto::default_instance_ = new EnumValueDescriptorProto();
609  ServiceDescriptorProto::default_instance_ = new ServiceDescriptorProto();
610  MethodDescriptorProto::default_instance_ = new MethodDescriptorProto();
611  FileOptions::default_instance_ = new FileOptions();
612  MessageOptions::default_instance_ = new MessageOptions();
613  FieldOptions::default_instance_ = new FieldOptions();
614  EnumOptions::default_instance_ = new EnumOptions();
615  EnumValueOptions::default_instance_ = new EnumValueOptions();
616  ServiceOptions::default_instance_ = new ServiceOptions();
617  MethodOptions::default_instance_ = new MethodOptions();
618  UninterpretedOption::default_instance_ = new UninterpretedOption();
619  UninterpretedOption_NamePart::default_instance_ = new UninterpretedOption_NamePart();
620  FileDescriptorSet::default_instance_->InitAsDefaultInstance();
621  FileDescriptorProto::default_instance_->InitAsDefaultInstance();
622  DescriptorProto::default_instance_->InitAsDefaultInstance();
623  DescriptorProto_ExtensionRange::default_instance_->InitAsDefaultInstance();
624  FieldDescriptorProto::default_instance_->InitAsDefaultInstance();
625  EnumDescriptorProto::default_instance_->InitAsDefaultInstance();
626  EnumValueDescriptorProto::default_instance_->InitAsDefaultInstance();
627  ServiceDescriptorProto::default_instance_->InitAsDefaultInstance();
628  MethodDescriptorProto::default_instance_->InitAsDefaultInstance();
629  FileOptions::default_instance_->InitAsDefaultInstance();
630  MessageOptions::default_instance_->InitAsDefaultInstance();
631  FieldOptions::default_instance_->InitAsDefaultInstance();
632  EnumOptions::default_instance_->InitAsDefaultInstance();
633  EnumValueOptions::default_instance_->InitAsDefaultInstance();
634  ServiceOptions::default_instance_->InitAsDefaultInstance();
635  MethodOptions::default_instance_->InitAsDefaultInstance();
636  UninterpretedOption::default_instance_->InitAsDefaultInstance();
637  UninterpretedOption_NamePart::default_instance_->InitAsDefaultInstance();
638  ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto);
639}
640
641// Force AddDescriptors() to be called at static initialization time.
642struct StaticDescriptorInitializer_google_2fprotobuf_2fdescriptor_2eproto {
643  StaticDescriptorInitializer_google_2fprotobuf_2fdescriptor_2eproto() {
644    protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
645  }
646} static_descriptor_initializer_google_2fprotobuf_2fdescriptor_2eproto_;
647
648
649// ===================================================================
650
651#ifndef _MSC_VER
652const int FileDescriptorSet::kFileFieldNumber;
653#endif  // !_MSC_VER
654
655FileDescriptorSet::FileDescriptorSet()
656  : ::google::protobuf::Message() {
657  SharedCtor();
658}
659
660void FileDescriptorSet::InitAsDefaultInstance() {
661}
662
663FileDescriptorSet::FileDescriptorSet(const FileDescriptorSet& from)
664  : ::google::protobuf::Message() {
665  SharedCtor();
666  MergeFrom(from);
667}
668
669void FileDescriptorSet::SharedCtor() {
670  _cached_size_ = 0;
671  ::memset(_has_bits_, 0, sizeof(_has_bits_));
672}
673
674FileDescriptorSet::~FileDescriptorSet() {
675  SharedDtor();
676}
677
678void FileDescriptorSet::SharedDtor() {
679  if (this != default_instance_) {
680  }
681}
682
683void FileDescriptorSet::SetCachedSize(int size) const {
684  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
685  _cached_size_ = size;
686  GOOGLE_SAFE_CONCURRENT_WRITES_END();
687}
688const ::google::protobuf::Descriptor* FileDescriptorSet::descriptor() {
689  protobuf_AssignDescriptorsOnce();
690  return FileDescriptorSet_descriptor_;
691}
692
693const FileDescriptorSet& FileDescriptorSet::default_instance() {
694  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
695}
696
697FileDescriptorSet* FileDescriptorSet::default_instance_ = NULL;
698
699FileDescriptorSet* FileDescriptorSet::New() const {
700  return new FileDescriptorSet;
701}
702
703void FileDescriptorSet::Clear() {
704  file_.Clear();
705  ::memset(_has_bits_, 0, sizeof(_has_bits_));
706  mutable_unknown_fields()->Clear();
707}
708
709bool FileDescriptorSet::MergePartialFromCodedStream(
710    ::google::protobuf::io::CodedInputStream* input) {
711#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
712  ::google::protobuf::uint32 tag;
713  while ((tag = input->ReadTag()) != 0) {
714    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
715      // repeated .google.protobuf.FileDescriptorProto file = 1;
716      case 1: {
717        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
718            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
719         parse_file:
720          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
721                input, add_file()));
722        } else {
723          goto handle_uninterpreted;
724        }
725        if (input->ExpectTag(10)) goto parse_file;
726        if (input->ExpectAtEnd()) return true;
727        break;
728      }
729
730      default: {
731      handle_uninterpreted:
732        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
733            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
734          return true;
735        }
736        DO_(::google::protobuf::internal::WireFormat::SkipField(
737              input, tag, mutable_unknown_fields()));
738        break;
739      }
740    }
741  }
742  return true;
743#undef DO_
744}
745
746void FileDescriptorSet::SerializeWithCachedSizes(
747    ::google::protobuf::io::CodedOutputStream* output) const {
748  // repeated .google.protobuf.FileDescriptorProto file = 1;
749  for (int i = 0; i < this->file_size(); i++) {
750    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
751      1, this->file(i), output);
752  }
753
754  if (!unknown_fields().empty()) {
755    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
756        unknown_fields(), output);
757  }
758}
759
760::google::protobuf::uint8* FileDescriptorSet::SerializeWithCachedSizesToArray(
761    ::google::protobuf::uint8* target) const {
762  // repeated .google.protobuf.FileDescriptorProto file = 1;
763  for (int i = 0; i < this->file_size(); i++) {
764    target = ::google::protobuf::internal::WireFormatLite::
765      WriteMessageNoVirtualToArray(
766        1, this->file(i), target);
767  }
768
769  if (!unknown_fields().empty()) {
770    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
771        unknown_fields(), target);
772  }
773  return target;
774}
775
776int FileDescriptorSet::ByteSize() const {
777  int total_size = 0;
778
779  // repeated .google.protobuf.FileDescriptorProto file = 1;
780  total_size += 1 * this->file_size();
781  for (int i = 0; i < this->file_size(); i++) {
782    total_size +=
783      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
784        this->file(i));
785  }
786
787  if (!unknown_fields().empty()) {
788    total_size +=
789      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
790        unknown_fields());
791  }
792  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
793  _cached_size_ = total_size;
794  GOOGLE_SAFE_CONCURRENT_WRITES_END();
795  return total_size;
796}
797
798void FileDescriptorSet::MergeFrom(const ::google::protobuf::Message& from) {
799  GOOGLE_CHECK_NE(&from, this);
800  const FileDescriptorSet* source =
801    ::google::protobuf::internal::dynamic_cast_if_available<const FileDescriptorSet*>(
802      &from);
803  if (source == NULL) {
804    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
805  } else {
806    MergeFrom(*source);
807  }
808}
809
810void FileDescriptorSet::MergeFrom(const FileDescriptorSet& from) {
811  GOOGLE_CHECK_NE(&from, this);
812  file_.MergeFrom(from.file_);
813  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
814}
815
816void FileDescriptorSet::CopyFrom(const ::google::protobuf::Message& from) {
817  if (&from == this) return;
818  Clear();
819  MergeFrom(from);
820}
821
822void FileDescriptorSet::CopyFrom(const FileDescriptorSet& from) {
823  if (&from == this) return;
824  Clear();
825  MergeFrom(from);
826}
827
828bool FileDescriptorSet::IsInitialized() const {
829
830  for (int i = 0; i < file_size(); i++) {
831    if (!this->file(i).IsInitialized()) return false;
832  }
833  return true;
834}
835
836void FileDescriptorSet::Swap(FileDescriptorSet* other) {
837  if (other != this) {
838    file_.Swap(&other->file_);
839    std::swap(_has_bits_[0], other->_has_bits_[0]);
840    _unknown_fields_.Swap(&other->_unknown_fields_);
841    std::swap(_cached_size_, other->_cached_size_);
842  }
843}
844
845::google::protobuf::Metadata FileDescriptorSet::GetMetadata() const {
846  protobuf_AssignDescriptorsOnce();
847  ::google::protobuf::Metadata metadata;
848  metadata.descriptor = FileDescriptorSet_descriptor_;
849  metadata.reflection = FileDescriptorSet_reflection_;
850  return metadata;
851}
852
853
854// ===================================================================
855
856const ::std::string FileDescriptorProto::_default_name_;
857const ::std::string FileDescriptorProto::_default_package_;
858#ifndef _MSC_VER
859const int FileDescriptorProto::kNameFieldNumber;
860const int FileDescriptorProto::kPackageFieldNumber;
861const int FileDescriptorProto::kDependencyFieldNumber;
862const int FileDescriptorProto::kMessageTypeFieldNumber;
863const int FileDescriptorProto::kEnumTypeFieldNumber;
864const int FileDescriptorProto::kServiceFieldNumber;
865const int FileDescriptorProto::kExtensionFieldNumber;
866const int FileDescriptorProto::kOptionsFieldNumber;
867#endif  // !_MSC_VER
868
869FileDescriptorProto::FileDescriptorProto()
870  : ::google::protobuf::Message() {
871  SharedCtor();
872}
873
874void FileDescriptorProto::InitAsDefaultInstance() {
875  options_ = const_cast< ::google::protobuf::FileOptions*>(&::google::protobuf::FileOptions::default_instance());
876}
877
878FileDescriptorProto::FileDescriptorProto(const FileDescriptorProto& from)
879  : ::google::protobuf::Message() {
880  SharedCtor();
881  MergeFrom(from);
882}
883
884void FileDescriptorProto::SharedCtor() {
885  _cached_size_ = 0;
886  name_ = const_cast< ::std::string*>(&_default_name_);
887  package_ = const_cast< ::std::string*>(&_default_package_);
888  options_ = NULL;
889  ::memset(_has_bits_, 0, sizeof(_has_bits_));
890}
891
892FileDescriptorProto::~FileDescriptorProto() {
893  SharedDtor();
894}
895
896void FileDescriptorProto::SharedDtor() {
897  if (name_ != &_default_name_) {
898    delete name_;
899  }
900  if (package_ != &_default_package_) {
901    delete package_;
902  }
903  if (this != default_instance_) {
904    delete options_;
905  }
906}
907
908void FileDescriptorProto::SetCachedSize(int size) const {
909  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
910  _cached_size_ = size;
911  GOOGLE_SAFE_CONCURRENT_WRITES_END();
912}
913const ::google::protobuf::Descriptor* FileDescriptorProto::descriptor() {
914  protobuf_AssignDescriptorsOnce();
915  return FileDescriptorProto_descriptor_;
916}
917
918const FileDescriptorProto& FileDescriptorProto::default_instance() {
919  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
920}
921
922FileDescriptorProto* FileDescriptorProto::default_instance_ = NULL;
923
924FileDescriptorProto* FileDescriptorProto::New() const {
925  return new FileDescriptorProto;
926}
927
928void FileDescriptorProto::Clear() {
929  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
930    if (_has_bit(0)) {
931      if (name_ != &_default_name_) {
932        name_->clear();
933      }
934    }
935    if (_has_bit(1)) {
936      if (package_ != &_default_package_) {
937        package_->clear();
938      }
939    }
940    if (_has_bit(7)) {
941      if (options_ != NULL) options_->::google::protobuf::FileOptions::Clear();
942    }
943  }
944  dependency_.Clear();
945  message_type_.Clear();
946  enum_type_.Clear();
947  service_.Clear();
948  extension_.Clear();
949  ::memset(_has_bits_, 0, sizeof(_has_bits_));
950  mutable_unknown_fields()->Clear();
951}
952
953bool FileDescriptorProto::MergePartialFromCodedStream(
954    ::google::protobuf::io::CodedInputStream* input) {
955#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
956  ::google::protobuf::uint32 tag;
957  while ((tag = input->ReadTag()) != 0) {
958    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
959      // optional string name = 1;
960      case 1: {
961        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
962            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
963          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
964                input, this->mutable_name()));
965          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
966            this->name().data(), this->name().length(),
967            ::google::protobuf::internal::WireFormat::PARSE);
968        } else {
969          goto handle_uninterpreted;
970        }
971        if (input->ExpectTag(18)) goto parse_package;
972        break;
973      }
974
975      // optional string package = 2;
976      case 2: {
977        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
978            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
979         parse_package:
980          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
981                input, this->mutable_package()));
982          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
983            this->package().data(), this->package().length(),
984            ::google::protobuf::internal::WireFormat::PARSE);
985        } else {
986          goto handle_uninterpreted;
987        }
988        if (input->ExpectTag(26)) goto parse_dependency;
989        break;
990      }
991
992      // repeated string dependency = 3;
993      case 3: {
994        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
995            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
996         parse_dependency:
997          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
998                input, this->add_dependency()));
999          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
1000            this->dependency(0).data(), this->dependency(0).length(),
1001            ::google::protobuf::internal::WireFormat::PARSE);
1002        } else {
1003          goto handle_uninterpreted;
1004        }
1005        if (input->ExpectTag(26)) goto parse_dependency;
1006        if (input->ExpectTag(34)) goto parse_message_type;
1007        break;
1008      }
1009
1010      // repeated .google.protobuf.DescriptorProto message_type = 4;
1011      case 4: {
1012        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1013            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
1014         parse_message_type:
1015          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
1016                input, add_message_type()));
1017        } else {
1018          goto handle_uninterpreted;
1019        }
1020        if (input->ExpectTag(34)) goto parse_message_type;
1021        if (input->ExpectTag(42)) goto parse_enum_type;
1022        break;
1023      }
1024
1025      // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
1026      case 5: {
1027        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1028            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
1029         parse_enum_type:
1030          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
1031                input, add_enum_type()));
1032        } else {
1033          goto handle_uninterpreted;
1034        }
1035        if (input->ExpectTag(42)) goto parse_enum_type;
1036        if (input->ExpectTag(50)) goto parse_service;
1037        break;
1038      }
1039
1040      // repeated .google.protobuf.ServiceDescriptorProto service = 6;
1041      case 6: {
1042        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1043            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
1044         parse_service:
1045          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
1046                input, add_service()));
1047        } else {
1048          goto handle_uninterpreted;
1049        }
1050        if (input->ExpectTag(50)) goto parse_service;
1051        if (input->ExpectTag(58)) goto parse_extension;
1052        break;
1053      }
1054
1055      // repeated .google.protobuf.FieldDescriptorProto extension = 7;
1056      case 7: {
1057        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1058            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
1059         parse_extension:
1060          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
1061                input, add_extension()));
1062        } else {
1063          goto handle_uninterpreted;
1064        }
1065        if (input->ExpectTag(58)) goto parse_extension;
1066        if (input->ExpectTag(66)) goto parse_options;
1067        break;
1068      }
1069
1070      // optional .google.protobuf.FileOptions options = 8;
1071      case 8: {
1072        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1073            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
1074         parse_options:
1075          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
1076               input, mutable_options()));
1077        } else {
1078          goto handle_uninterpreted;
1079        }
1080        if (input->ExpectAtEnd()) return true;
1081        break;
1082      }
1083
1084      default: {
1085      handle_uninterpreted:
1086        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1087            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
1088          return true;
1089        }
1090        DO_(::google::protobuf::internal::WireFormat::SkipField(
1091              input, tag, mutable_unknown_fields()));
1092        break;
1093      }
1094    }
1095  }
1096  return true;
1097#undef DO_
1098}
1099
1100void FileDescriptorProto::SerializeWithCachedSizes(
1101    ::google::protobuf::io::CodedOutputStream* output) const {
1102  // optional string name = 1;
1103  if (_has_bit(0)) {
1104    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
1105      this->name().data(), this->name().length(),
1106      ::google::protobuf::internal::WireFormat::SERIALIZE);
1107    ::google::protobuf::internal::WireFormatLite::WriteString(
1108      1, this->name(), output);
1109  }
1110
1111  // optional string package = 2;
1112  if (_has_bit(1)) {
1113    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
1114      this->package().data(), this->package().length(),
1115      ::google::protobuf::internal::WireFormat::SERIALIZE);
1116    ::google::protobuf::internal::WireFormatLite::WriteString(
1117      2, this->package(), output);
1118  }
1119
1120  // repeated string dependency = 3;
1121  for (int i = 0; i < this->dependency_size(); i++) {
1122  ::google::protobuf::internal::WireFormat::VerifyUTF8String(
1123    this->dependency(i).data(), this->dependency(i).length(),
1124    ::google::protobuf::internal::WireFormat::SERIALIZE);
1125    ::google::protobuf::internal::WireFormatLite::WriteString(
1126      3, this->dependency(i), output);
1127  }
1128
1129  // repeated .google.protobuf.DescriptorProto message_type = 4;
1130  for (int i = 0; i < this->message_type_size(); i++) {
1131    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
1132      4, this->message_type(i), output);
1133  }
1134
1135  // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
1136  for (int i = 0; i < this->enum_type_size(); i++) {
1137    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
1138      5, this->enum_type(i), output);
1139  }
1140
1141  // repeated .google.protobuf.ServiceDescriptorProto service = 6;
1142  for (int i = 0; i < this->service_size(); i++) {
1143    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
1144      6, this->service(i), output);
1145  }
1146
1147  // repeated .google.protobuf.FieldDescriptorProto extension = 7;
1148  for (int i = 0; i < this->extension_size(); i++) {
1149    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
1150      7, this->extension(i), output);
1151  }
1152
1153  // optional .google.protobuf.FileOptions options = 8;
1154  if (_has_bit(7)) {
1155    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
1156      8, this->options(), output);
1157  }
1158
1159  if (!unknown_fields().empty()) {
1160    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
1161        unknown_fields(), output);
1162  }
1163}
1164
1165::google::protobuf::uint8* FileDescriptorProto::SerializeWithCachedSizesToArray(
1166    ::google::protobuf::uint8* target) const {
1167  // optional string name = 1;
1168  if (_has_bit(0)) {
1169    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
1170      this->name().data(), this->name().length(),
1171      ::google::protobuf::internal::WireFormat::SERIALIZE);
1172    target =
1173      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
1174        1, this->name(), target);
1175  }
1176
1177  // optional string package = 2;
1178  if (_has_bit(1)) {
1179    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
1180      this->package().data(), this->package().length(),
1181      ::google::protobuf::internal::WireFormat::SERIALIZE);
1182    target =
1183      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
1184        2, this->package(), target);
1185  }
1186
1187  // repeated string dependency = 3;
1188  for (int i = 0; i < this->dependency_size(); i++) {
1189    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
1190      this->dependency(i).data(), this->dependency(i).length(),
1191      ::google::protobuf::internal::WireFormat::SERIALIZE);
1192    target = ::google::protobuf::internal::WireFormatLite::
1193      WriteStringToArray(3, this->dependency(i), target);
1194  }
1195
1196  // repeated .google.protobuf.DescriptorProto message_type = 4;
1197  for (int i = 0; i < this->message_type_size(); i++) {
1198    target = ::google::protobuf::internal::WireFormatLite::
1199      WriteMessageNoVirtualToArray(
1200        4, this->message_type(i), target);
1201  }
1202
1203  // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
1204  for (int i = 0; i < this->enum_type_size(); i++) {
1205    target = ::google::protobuf::internal::WireFormatLite::
1206      WriteMessageNoVirtualToArray(
1207        5, this->enum_type(i), target);
1208  }
1209
1210  // repeated .google.protobuf.ServiceDescriptorProto service = 6;
1211  for (int i = 0; i < this->service_size(); i++) {
1212    target = ::google::protobuf::internal::WireFormatLite::
1213      WriteMessageNoVirtualToArray(
1214        6, this->service(i), target);
1215  }
1216
1217  // repeated .google.protobuf.FieldDescriptorProto extension = 7;
1218  for (int i = 0; i < this->extension_size(); i++) {
1219    target = ::google::protobuf::internal::WireFormatLite::
1220      WriteMessageNoVirtualToArray(
1221        7, this->extension(i), target);
1222  }
1223
1224  // optional .google.protobuf.FileOptions options = 8;
1225  if (_has_bit(7)) {
1226    target = ::google::protobuf::internal::WireFormatLite::
1227      WriteMessageNoVirtualToArray(
1228        8, this->options(), target);
1229  }
1230
1231  if (!unknown_fields().empty()) {
1232    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
1233        unknown_fields(), target);
1234  }
1235  return target;
1236}
1237
1238int FileDescriptorProto::ByteSize() const {
1239  int total_size = 0;
1240
1241  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
1242    // optional string name = 1;
1243    if (has_name()) {
1244      total_size += 1 +
1245        ::google::protobuf::internal::WireFormatLite::StringSize(
1246          this->name());
1247    }
1248
1249    // optional string package = 2;
1250    if (has_package()) {
1251      total_size += 1 +
1252        ::google::protobuf::internal::WireFormatLite::StringSize(
1253          this->package());
1254    }
1255
1256    // optional .google.protobuf.FileOptions options = 8;
1257    if (has_options()) {
1258      total_size += 1 +
1259        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
1260          this->options());
1261    }
1262
1263  }
1264  // repeated string dependency = 3;
1265  total_size += 1 * this->dependency_size();
1266  for (int i = 0; i < this->dependency_size(); i++) {
1267    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
1268      this->dependency(i));
1269  }
1270
1271  // repeated .google.protobuf.DescriptorProto message_type = 4;
1272  total_size += 1 * this->message_type_size();
1273  for (int i = 0; i < this->message_type_size(); i++) {
1274    total_size +=
1275      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
1276        this->message_type(i));
1277  }
1278
1279  // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
1280  total_size += 1 * this->enum_type_size();
1281  for (int i = 0; i < this->enum_type_size(); i++) {
1282    total_size +=
1283      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
1284        this->enum_type(i));
1285  }
1286
1287  // repeated .google.protobuf.ServiceDescriptorProto service = 6;
1288  total_size += 1 * this->service_size();
1289  for (int i = 0; i < this->service_size(); i++) {
1290    total_size +=
1291      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
1292        this->service(i));
1293  }
1294
1295  // repeated .google.protobuf.FieldDescriptorProto extension = 7;
1296  total_size += 1 * this->extension_size();
1297  for (int i = 0; i < this->extension_size(); i++) {
1298    total_size +=
1299      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
1300        this->extension(i));
1301  }
1302
1303  if (!unknown_fields().empty()) {
1304    total_size +=
1305      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
1306        unknown_fields());
1307  }
1308  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
1309  _cached_size_ = total_size;
1310  GOOGLE_SAFE_CONCURRENT_WRITES_END();
1311  return total_size;
1312}
1313
1314void FileDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
1315  GOOGLE_CHECK_NE(&from, this);
1316  const FileDescriptorProto* source =
1317    ::google::protobuf::internal::dynamic_cast_if_available<const FileDescriptorProto*>(
1318      &from);
1319  if (source == NULL) {
1320    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
1321  } else {
1322    MergeFrom(*source);
1323  }
1324}
1325
1326void FileDescriptorProto::MergeFrom(const FileDescriptorProto& from) {
1327  GOOGLE_CHECK_NE(&from, this);
1328  dependency_.MergeFrom(from.dependency_);
1329  message_type_.MergeFrom(from.message_type_);
1330  enum_type_.MergeFrom(from.enum_type_);
1331  service_.MergeFrom(from.service_);
1332  extension_.MergeFrom(from.extension_);
1333  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
1334    if (from._has_bit(0)) {
1335      set_name(from.name());
1336    }
1337    if (from._has_bit(1)) {
1338      set_package(from.package());
1339    }
1340    if (from._has_bit(7)) {
1341      mutable_options()->::google::protobuf::FileOptions::MergeFrom(from.options());
1342    }
1343  }
1344  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
1345}
1346
1347void FileDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
1348  if (&from == this) return;
1349  Clear();
1350  MergeFrom(from);
1351}
1352
1353void FileDescriptorProto::CopyFrom(const FileDescriptorProto& from) {
1354  if (&from == this) return;
1355  Clear();
1356  MergeFrom(from);
1357}
1358
1359bool FileDescriptorProto::IsInitialized() const {
1360
1361  for (int i = 0; i < message_type_size(); i++) {
1362    if (!this->message_type(i).IsInitialized()) return false;
1363  }
1364  for (int i = 0; i < enum_type_size(); i++) {
1365    if (!this->enum_type(i).IsInitialized()) return false;
1366  }
1367  for (int i = 0; i < service_size(); i++) {
1368    if (!this->service(i).IsInitialized()) return false;
1369  }
1370  for (int i = 0; i < extension_size(); i++) {
1371    if (!this->extension(i).IsInitialized()) return false;
1372  }
1373  if (has_options()) {
1374    if (!this->options().IsInitialized()) return false;
1375  }
1376  return true;
1377}
1378
1379void FileDescriptorProto::Swap(FileDescriptorProto* other) {
1380  if (other != this) {
1381    std::swap(name_, other->name_);
1382    std::swap(package_, other->package_);
1383    dependency_.Swap(&other->dependency_);
1384    message_type_.Swap(&other->message_type_);
1385    enum_type_.Swap(&other->enum_type_);
1386    service_.Swap(&other->service_);
1387    extension_.Swap(&other->extension_);
1388    std::swap(options_, other->options_);
1389    std::swap(_has_bits_[0], other->_has_bits_[0]);
1390    _unknown_fields_.Swap(&other->_unknown_fields_);
1391    std::swap(_cached_size_, other->_cached_size_);
1392  }
1393}
1394
1395::google::protobuf::Metadata FileDescriptorProto::GetMetadata() const {
1396  protobuf_AssignDescriptorsOnce();
1397  ::google::protobuf::Metadata metadata;
1398  metadata.descriptor = FileDescriptorProto_descriptor_;
1399  metadata.reflection = FileDescriptorProto_reflection_;
1400  return metadata;
1401}
1402
1403
1404// ===================================================================
1405
1406#ifndef _MSC_VER
1407const int DescriptorProto_ExtensionRange::kStartFieldNumber;
1408const int DescriptorProto_ExtensionRange::kEndFieldNumber;
1409#endif  // !_MSC_VER
1410
1411DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange()
1412  : ::google::protobuf::Message() {
1413  SharedCtor();
1414}
1415
1416void DescriptorProto_ExtensionRange::InitAsDefaultInstance() {
1417}
1418
1419DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(const DescriptorProto_ExtensionRange& from)
1420  : ::google::protobuf::Message() {
1421  SharedCtor();
1422  MergeFrom(from);
1423}
1424
1425void DescriptorProto_ExtensionRange::SharedCtor() {
1426  _cached_size_ = 0;
1427  start_ = 0;
1428  end_ = 0;
1429  ::memset(_has_bits_, 0, sizeof(_has_bits_));
1430}
1431
1432DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() {
1433  SharedDtor();
1434}
1435
1436void DescriptorProto_ExtensionRange::SharedDtor() {
1437  if (this != default_instance_) {
1438  }
1439}
1440
1441void DescriptorProto_ExtensionRange::SetCachedSize(int size) const {
1442  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
1443  _cached_size_ = size;
1444  GOOGLE_SAFE_CONCURRENT_WRITES_END();
1445}
1446const ::google::protobuf::Descriptor* DescriptorProto_ExtensionRange::descriptor() {
1447  protobuf_AssignDescriptorsOnce();
1448  return DescriptorProto_ExtensionRange_descriptor_;
1449}
1450
1451const DescriptorProto_ExtensionRange& DescriptorProto_ExtensionRange::default_instance() {
1452  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
1453}
1454
1455DescriptorProto_ExtensionRange* DescriptorProto_ExtensionRange::default_instance_ = NULL;
1456
1457DescriptorProto_ExtensionRange* DescriptorProto_ExtensionRange::New() const {
1458  return new DescriptorProto_ExtensionRange;
1459}
1460
1461void DescriptorProto_ExtensionRange::Clear() {
1462  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
1463    start_ = 0;
1464    end_ = 0;
1465  }
1466  ::memset(_has_bits_, 0, sizeof(_has_bits_));
1467  mutable_unknown_fields()->Clear();
1468}
1469
1470bool DescriptorProto_ExtensionRange::MergePartialFromCodedStream(
1471    ::google::protobuf::io::CodedInputStream* input) {
1472#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
1473  ::google::protobuf::uint32 tag;
1474  while ((tag = input->ReadTag()) != 0) {
1475    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
1476      // optional int32 start = 1;
1477      case 1: {
1478        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1479            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
1480          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
1481                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
1482                 input, &start_)));
1483          _set_bit(0);
1484        } else {
1485          goto handle_uninterpreted;
1486        }
1487        if (input->ExpectTag(16)) goto parse_end;
1488        break;
1489      }
1490
1491      // optional int32 end = 2;
1492      case 2: {
1493        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1494            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
1495         parse_end:
1496          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
1497                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
1498                 input, &end_)));
1499          _set_bit(1);
1500        } else {
1501          goto handle_uninterpreted;
1502        }
1503        if (input->ExpectAtEnd()) return true;
1504        break;
1505      }
1506
1507      default: {
1508      handle_uninterpreted:
1509        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1510            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
1511          return true;
1512        }
1513        DO_(::google::protobuf::internal::WireFormat::SkipField(
1514              input, tag, mutable_unknown_fields()));
1515        break;
1516      }
1517    }
1518  }
1519  return true;
1520#undef DO_
1521}
1522
1523void DescriptorProto_ExtensionRange::SerializeWithCachedSizes(
1524    ::google::protobuf::io::CodedOutputStream* output) const {
1525  // optional int32 start = 1;
1526  if (_has_bit(0)) {
1527    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->start(), output);
1528  }
1529
1530  // optional int32 end = 2;
1531  if (_has_bit(1)) {
1532    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->end(), output);
1533  }
1534
1535  if (!unknown_fields().empty()) {
1536    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
1537        unknown_fields(), output);
1538  }
1539}
1540
1541::google::protobuf::uint8* DescriptorProto_ExtensionRange::SerializeWithCachedSizesToArray(
1542    ::google::protobuf::uint8* target) const {
1543  // optional int32 start = 1;
1544  if (_has_bit(0)) {
1545    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->start(), target);
1546  }
1547
1548  // optional int32 end = 2;
1549  if (_has_bit(1)) {
1550    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->end(), target);
1551  }
1552
1553  if (!unknown_fields().empty()) {
1554    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
1555        unknown_fields(), target);
1556  }
1557  return target;
1558}
1559
1560int DescriptorProto_ExtensionRange::ByteSize() const {
1561  int total_size = 0;
1562
1563  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
1564    // optional int32 start = 1;
1565    if (has_start()) {
1566      total_size += 1 +
1567        ::google::protobuf::internal::WireFormatLite::Int32Size(
1568          this->start());
1569    }
1570
1571    // optional int32 end = 2;
1572    if (has_end()) {
1573      total_size += 1 +
1574        ::google::protobuf::internal::WireFormatLite::Int32Size(
1575          this->end());
1576    }
1577
1578  }
1579  if (!unknown_fields().empty()) {
1580    total_size +=
1581      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
1582        unknown_fields());
1583  }
1584  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
1585  _cached_size_ = total_size;
1586  GOOGLE_SAFE_CONCURRENT_WRITES_END();
1587  return total_size;
1588}
1589
1590void DescriptorProto_ExtensionRange::MergeFrom(const ::google::protobuf::Message& from) {
1591  GOOGLE_CHECK_NE(&from, this);
1592  const DescriptorProto_ExtensionRange* source =
1593    ::google::protobuf::internal::dynamic_cast_if_available<const DescriptorProto_ExtensionRange*>(
1594      &from);
1595  if (source == NULL) {
1596    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
1597  } else {
1598    MergeFrom(*source);
1599  }
1600}
1601
1602void DescriptorProto_ExtensionRange::MergeFrom(const DescriptorProto_ExtensionRange& from) {
1603  GOOGLE_CHECK_NE(&from, this);
1604  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
1605    if (from._has_bit(0)) {
1606      set_start(from.start());
1607    }
1608    if (from._has_bit(1)) {
1609      set_end(from.end());
1610    }
1611  }
1612  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
1613}
1614
1615void DescriptorProto_ExtensionRange::CopyFrom(const ::google::protobuf::Message& from) {
1616  if (&from == this) return;
1617  Clear();
1618  MergeFrom(from);
1619}
1620
1621void DescriptorProto_ExtensionRange::CopyFrom(const DescriptorProto_ExtensionRange& from) {
1622  if (&from == this) return;
1623  Clear();
1624  MergeFrom(from);
1625}
1626
1627bool DescriptorProto_ExtensionRange::IsInitialized() const {
1628
1629  return true;
1630}
1631
1632void DescriptorProto_ExtensionRange::Swap(DescriptorProto_ExtensionRange* other) {
1633  if (other != this) {
1634    std::swap(start_, other->start_);
1635    std::swap(end_, other->end_);
1636    std::swap(_has_bits_[0], other->_has_bits_[0]);
1637    _unknown_fields_.Swap(&other->_unknown_fields_);
1638    std::swap(_cached_size_, other->_cached_size_);
1639  }
1640}
1641
1642::google::protobuf::Metadata DescriptorProto_ExtensionRange::GetMetadata() const {
1643  protobuf_AssignDescriptorsOnce();
1644  ::google::protobuf::Metadata metadata;
1645  metadata.descriptor = DescriptorProto_ExtensionRange_descriptor_;
1646  metadata.reflection = DescriptorProto_ExtensionRange_reflection_;
1647  return metadata;
1648}
1649
1650
1651// -------------------------------------------------------------------
1652
1653const ::std::string DescriptorProto::_default_name_;
1654#ifndef _MSC_VER
1655const int DescriptorProto::kNameFieldNumber;
1656const int DescriptorProto::kFieldFieldNumber;
1657const int DescriptorProto::kExtensionFieldNumber;
1658const int DescriptorProto::kNestedTypeFieldNumber;
1659const int DescriptorProto::kEnumTypeFieldNumber;
1660const int DescriptorProto::kExtensionRangeFieldNumber;
1661const int DescriptorProto::kOptionsFieldNumber;
1662#endif  // !_MSC_VER
1663
1664DescriptorProto::DescriptorProto()
1665  : ::google::protobuf::Message() {
1666  SharedCtor();
1667}
1668
1669void DescriptorProto::InitAsDefaultInstance() {
1670  options_ = const_cast< ::google::protobuf::MessageOptions*>(&::google::protobuf::MessageOptions::default_instance());
1671}
1672
1673DescriptorProto::DescriptorProto(const DescriptorProto& from)
1674  : ::google::protobuf::Message() {
1675  SharedCtor();
1676  MergeFrom(from);
1677}
1678
1679void DescriptorProto::SharedCtor() {
1680  _cached_size_ = 0;
1681  name_ = const_cast< ::std::string*>(&_default_name_);
1682  options_ = NULL;
1683  ::memset(_has_bits_, 0, sizeof(_has_bits_));
1684}
1685
1686DescriptorProto::~DescriptorProto() {
1687  SharedDtor();
1688}
1689
1690void DescriptorProto::SharedDtor() {
1691  if (name_ != &_default_name_) {
1692    delete name_;
1693  }
1694  if (this != default_instance_) {
1695    delete options_;
1696  }
1697}
1698
1699void DescriptorProto::SetCachedSize(int size) const {
1700  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
1701  _cached_size_ = size;
1702  GOOGLE_SAFE_CONCURRENT_WRITES_END();
1703}
1704const ::google::protobuf::Descriptor* DescriptorProto::descriptor() {
1705  protobuf_AssignDescriptorsOnce();
1706  return DescriptorProto_descriptor_;
1707}
1708
1709const DescriptorProto& DescriptorProto::default_instance() {
1710  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
1711}
1712
1713DescriptorProto* DescriptorProto::default_instance_ = NULL;
1714
1715DescriptorProto* DescriptorProto::New() const {
1716  return new DescriptorProto;
1717}
1718
1719void DescriptorProto::Clear() {
1720  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
1721    if (_has_bit(0)) {
1722      if (name_ != &_default_name_) {
1723        name_->clear();
1724      }
1725    }
1726    if (_has_bit(6)) {
1727      if (options_ != NULL) options_->::google::protobuf::MessageOptions::Clear();
1728    }
1729  }
1730  field_.Clear();
1731  extension_.Clear();
1732  nested_type_.Clear();
1733  enum_type_.Clear();
1734  extension_range_.Clear();
1735  ::memset(_has_bits_, 0, sizeof(_has_bits_));
1736  mutable_unknown_fields()->Clear();
1737}
1738
1739bool DescriptorProto::MergePartialFromCodedStream(
1740    ::google::protobuf::io::CodedInputStream* input) {
1741#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
1742  ::google::protobuf::uint32 tag;
1743  while ((tag = input->ReadTag()) != 0) {
1744    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
1745      // optional string name = 1;
1746      case 1: {
1747        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1748            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
1749          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
1750                input, this->mutable_name()));
1751          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
1752            this->name().data(), this->name().length(),
1753            ::google::protobuf::internal::WireFormat::PARSE);
1754        } else {
1755          goto handle_uninterpreted;
1756        }
1757        if (input->ExpectTag(18)) goto parse_field;
1758        break;
1759      }
1760
1761      // repeated .google.protobuf.FieldDescriptorProto field = 2;
1762      case 2: {
1763        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1764            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
1765         parse_field:
1766          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
1767                input, add_field()));
1768        } else {
1769          goto handle_uninterpreted;
1770        }
1771        if (input->ExpectTag(18)) goto parse_field;
1772        if (input->ExpectTag(26)) goto parse_nested_type;
1773        break;
1774      }
1775
1776      // repeated .google.protobuf.DescriptorProto nested_type = 3;
1777      case 3: {
1778        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1779            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
1780         parse_nested_type:
1781          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
1782                input, add_nested_type()));
1783        } else {
1784          goto handle_uninterpreted;
1785        }
1786        if (input->ExpectTag(26)) goto parse_nested_type;
1787        if (input->ExpectTag(34)) goto parse_enum_type;
1788        break;
1789      }
1790
1791      // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
1792      case 4: {
1793        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1794            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
1795         parse_enum_type:
1796          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
1797                input, add_enum_type()));
1798        } else {
1799          goto handle_uninterpreted;
1800        }
1801        if (input->ExpectTag(34)) goto parse_enum_type;
1802        if (input->ExpectTag(42)) goto parse_extension_range;
1803        break;
1804      }
1805
1806      // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
1807      case 5: {
1808        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1809            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
1810         parse_extension_range:
1811          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
1812                input, add_extension_range()));
1813        } else {
1814          goto handle_uninterpreted;
1815        }
1816        if (input->ExpectTag(42)) goto parse_extension_range;
1817        if (input->ExpectTag(50)) goto parse_extension;
1818        break;
1819      }
1820
1821      // repeated .google.protobuf.FieldDescriptorProto extension = 6;
1822      case 6: {
1823        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1824            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
1825         parse_extension:
1826          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
1827                input, add_extension()));
1828        } else {
1829          goto handle_uninterpreted;
1830        }
1831        if (input->ExpectTag(50)) goto parse_extension;
1832        if (input->ExpectTag(58)) goto parse_options;
1833        break;
1834      }
1835
1836      // optional .google.protobuf.MessageOptions options = 7;
1837      case 7: {
1838        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1839            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
1840         parse_options:
1841          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
1842               input, mutable_options()));
1843        } else {
1844          goto handle_uninterpreted;
1845        }
1846        if (input->ExpectAtEnd()) return true;
1847        break;
1848      }
1849
1850      default: {
1851      handle_uninterpreted:
1852        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
1853            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
1854          return true;
1855        }
1856        DO_(::google::protobuf::internal::WireFormat::SkipField(
1857              input, tag, mutable_unknown_fields()));
1858        break;
1859      }
1860    }
1861  }
1862  return true;
1863#undef DO_
1864}
1865
1866void DescriptorProto::SerializeWithCachedSizes(
1867    ::google::protobuf::io::CodedOutputStream* output) const {
1868  // optional string name = 1;
1869  if (_has_bit(0)) {
1870    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
1871      this->name().data(), this->name().length(),
1872      ::google::protobuf::internal::WireFormat::SERIALIZE);
1873    ::google::protobuf::internal::WireFormatLite::WriteString(
1874      1, this->name(), output);
1875  }
1876
1877  // repeated .google.protobuf.FieldDescriptorProto field = 2;
1878  for (int i = 0; i < this->field_size(); i++) {
1879    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
1880      2, this->field(i), output);
1881  }
1882
1883  // repeated .google.protobuf.DescriptorProto nested_type = 3;
1884  for (int i = 0; i < this->nested_type_size(); i++) {
1885    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
1886      3, this->nested_type(i), output);
1887  }
1888
1889  // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
1890  for (int i = 0; i < this->enum_type_size(); i++) {
1891    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
1892      4, this->enum_type(i), output);
1893  }
1894
1895  // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
1896  for (int i = 0; i < this->extension_range_size(); i++) {
1897    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
1898      5, this->extension_range(i), output);
1899  }
1900
1901  // repeated .google.protobuf.FieldDescriptorProto extension = 6;
1902  for (int i = 0; i < this->extension_size(); i++) {
1903    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
1904      6, this->extension(i), output);
1905  }
1906
1907  // optional .google.protobuf.MessageOptions options = 7;
1908  if (_has_bit(6)) {
1909    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
1910      7, this->options(), output);
1911  }
1912
1913  if (!unknown_fields().empty()) {
1914    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
1915        unknown_fields(), output);
1916  }
1917}
1918
1919::google::protobuf::uint8* DescriptorProto::SerializeWithCachedSizesToArray(
1920    ::google::protobuf::uint8* target) const {
1921  // optional string name = 1;
1922  if (_has_bit(0)) {
1923    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
1924      this->name().data(), this->name().length(),
1925      ::google::protobuf::internal::WireFormat::SERIALIZE);
1926    target =
1927      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
1928        1, this->name(), target);
1929  }
1930
1931  // repeated .google.protobuf.FieldDescriptorProto field = 2;
1932  for (int i = 0; i < this->field_size(); i++) {
1933    target = ::google::protobuf::internal::WireFormatLite::
1934      WriteMessageNoVirtualToArray(
1935        2, this->field(i), target);
1936  }
1937
1938  // repeated .google.protobuf.DescriptorProto nested_type = 3;
1939  for (int i = 0; i < this->nested_type_size(); i++) {
1940    target = ::google::protobuf::internal::WireFormatLite::
1941      WriteMessageNoVirtualToArray(
1942        3, this->nested_type(i), target);
1943  }
1944
1945  // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
1946  for (int i = 0; i < this->enum_type_size(); i++) {
1947    target = ::google::protobuf::internal::WireFormatLite::
1948      WriteMessageNoVirtualToArray(
1949        4, this->enum_type(i), target);
1950  }
1951
1952  // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
1953  for (int i = 0; i < this->extension_range_size(); i++) {
1954    target = ::google::protobuf::internal::WireFormatLite::
1955      WriteMessageNoVirtualToArray(
1956        5, this->extension_range(i), target);
1957  }
1958
1959  // repeated .google.protobuf.FieldDescriptorProto extension = 6;
1960  for (int i = 0; i < this->extension_size(); i++) {
1961    target = ::google::protobuf::internal::WireFormatLite::
1962      WriteMessageNoVirtualToArray(
1963        6, this->extension(i), target);
1964  }
1965
1966  // optional .google.protobuf.MessageOptions options = 7;
1967  if (_has_bit(6)) {
1968    target = ::google::protobuf::internal::WireFormatLite::
1969      WriteMessageNoVirtualToArray(
1970        7, this->options(), target);
1971  }
1972
1973  if (!unknown_fields().empty()) {
1974    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
1975        unknown_fields(), target);
1976  }
1977  return target;
1978}
1979
1980int DescriptorProto::ByteSize() const {
1981  int total_size = 0;
1982
1983  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
1984    // optional string name = 1;
1985    if (has_name()) {
1986      total_size += 1 +
1987        ::google::protobuf::internal::WireFormatLite::StringSize(
1988          this->name());
1989    }
1990
1991    // optional .google.protobuf.MessageOptions options = 7;
1992    if (has_options()) {
1993      total_size += 1 +
1994        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
1995          this->options());
1996    }
1997
1998  }
1999  // repeated .google.protobuf.FieldDescriptorProto field = 2;
2000  total_size += 1 * this->field_size();
2001  for (int i = 0; i < this->field_size(); i++) {
2002    total_size +=
2003      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
2004        this->field(i));
2005  }
2006
2007  // repeated .google.protobuf.FieldDescriptorProto extension = 6;
2008  total_size += 1 * this->extension_size();
2009  for (int i = 0; i < this->extension_size(); i++) {
2010    total_size +=
2011      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
2012        this->extension(i));
2013  }
2014
2015  // repeated .google.protobuf.DescriptorProto nested_type = 3;
2016  total_size += 1 * this->nested_type_size();
2017  for (int i = 0; i < this->nested_type_size(); i++) {
2018    total_size +=
2019      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
2020        this->nested_type(i));
2021  }
2022
2023  // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
2024  total_size += 1 * this->enum_type_size();
2025  for (int i = 0; i < this->enum_type_size(); i++) {
2026    total_size +=
2027      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
2028        this->enum_type(i));
2029  }
2030
2031  // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
2032  total_size += 1 * this->extension_range_size();
2033  for (int i = 0; i < this->extension_range_size(); i++) {
2034    total_size +=
2035      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
2036        this->extension_range(i));
2037  }
2038
2039  if (!unknown_fields().empty()) {
2040    total_size +=
2041      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
2042        unknown_fields());
2043  }
2044  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
2045  _cached_size_ = total_size;
2046  GOOGLE_SAFE_CONCURRENT_WRITES_END();
2047  return total_size;
2048}
2049
2050void DescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
2051  GOOGLE_CHECK_NE(&from, this);
2052  const DescriptorProto* source =
2053    ::google::protobuf::internal::dynamic_cast_if_available<const DescriptorProto*>(
2054      &from);
2055  if (source == NULL) {
2056    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
2057  } else {
2058    MergeFrom(*source);
2059  }
2060}
2061
2062void DescriptorProto::MergeFrom(const DescriptorProto& from) {
2063  GOOGLE_CHECK_NE(&from, this);
2064  field_.MergeFrom(from.field_);
2065  extension_.MergeFrom(from.extension_);
2066  nested_type_.MergeFrom(from.nested_type_);
2067  enum_type_.MergeFrom(from.enum_type_);
2068  extension_range_.MergeFrom(from.extension_range_);
2069  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
2070    if (from._has_bit(0)) {
2071      set_name(from.name());
2072    }
2073    if (from._has_bit(6)) {
2074      mutable_options()->::google::protobuf::MessageOptions::MergeFrom(from.options());
2075    }
2076  }
2077  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
2078}
2079
2080void DescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
2081  if (&from == this) return;
2082  Clear();
2083  MergeFrom(from);
2084}
2085
2086void DescriptorProto::CopyFrom(const DescriptorProto& from) {
2087  if (&from == this) return;
2088  Clear();
2089  MergeFrom(from);
2090}
2091
2092bool DescriptorProto::IsInitialized() const {
2093
2094  for (int i = 0; i < field_size(); i++) {
2095    if (!this->field(i).IsInitialized()) return false;
2096  }
2097  for (int i = 0; i < extension_size(); i++) {
2098    if (!this->extension(i).IsInitialized()) return false;
2099  }
2100  for (int i = 0; i < nested_type_size(); i++) {
2101    if (!this->nested_type(i).IsInitialized()) return false;
2102  }
2103  for (int i = 0; i < enum_type_size(); i++) {
2104    if (!this->enum_type(i).IsInitialized()) return false;
2105  }
2106  if (has_options()) {
2107    if (!this->options().IsInitialized()) return false;
2108  }
2109  return true;
2110}
2111
2112void DescriptorProto::Swap(DescriptorProto* other) {
2113  if (other != this) {
2114    std::swap(name_, other->name_);
2115    field_.Swap(&other->field_);
2116    extension_.Swap(&other->extension_);
2117    nested_type_.Swap(&other->nested_type_);
2118    enum_type_.Swap(&other->enum_type_);
2119    extension_range_.Swap(&other->extension_range_);
2120    std::swap(options_, other->options_);
2121    std::swap(_has_bits_[0], other->_has_bits_[0]);
2122    _unknown_fields_.Swap(&other->_unknown_fields_);
2123    std::swap(_cached_size_, other->_cached_size_);
2124  }
2125}
2126
2127::google::protobuf::Metadata DescriptorProto::GetMetadata() const {
2128  protobuf_AssignDescriptorsOnce();
2129  ::google::protobuf::Metadata metadata;
2130  metadata.descriptor = DescriptorProto_descriptor_;
2131  metadata.reflection = DescriptorProto_reflection_;
2132  return metadata;
2133}
2134
2135
2136// ===================================================================
2137
2138const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Type_descriptor() {
2139  protobuf_AssignDescriptorsOnce();
2140  return FieldDescriptorProto_Type_descriptor_;
2141}
2142bool FieldDescriptorProto_Type_IsValid(int value) {
2143  switch(value) {
2144    case 1:
2145    case 2:
2146    case 3:
2147    case 4:
2148    case 5:
2149    case 6:
2150    case 7:
2151    case 8:
2152    case 9:
2153    case 10:
2154    case 11:
2155    case 12:
2156    case 13:
2157    case 14:
2158    case 15:
2159    case 16:
2160    case 17:
2161    case 18:
2162      return true;
2163    default:
2164      return false;
2165  }
2166}
2167
2168#ifndef _MSC_VER
2169const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_DOUBLE;
2170const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_FLOAT;
2171const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_INT64;
2172const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_UINT64;
2173const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_INT32;
2174const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_FIXED64;
2175const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_FIXED32;
2176const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_BOOL;
2177const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_STRING;
2178const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_GROUP;
2179const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_MESSAGE;
2180const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_BYTES;
2181const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_UINT32;
2182const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_ENUM;
2183const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SFIXED32;
2184const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SFIXED64;
2185const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SINT32;
2186const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SINT64;
2187const FieldDescriptorProto_Type FieldDescriptorProto::Type_MIN;
2188const FieldDescriptorProto_Type FieldDescriptorProto::Type_MAX;
2189const int FieldDescriptorProto::Type_ARRAYSIZE;
2190#endif  // _MSC_VER
2191const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Label_descriptor() {
2192  protobuf_AssignDescriptorsOnce();
2193  return FieldDescriptorProto_Label_descriptor_;
2194}
2195bool FieldDescriptorProto_Label_IsValid(int value) {
2196  switch(value) {
2197    case 1:
2198    case 2:
2199    case 3:
2200      return true;
2201    default:
2202      return false;
2203  }
2204}
2205
2206#ifndef _MSC_VER
2207const FieldDescriptorProto_Label FieldDescriptorProto::LABEL_OPTIONAL;
2208const FieldDescriptorProto_Label FieldDescriptorProto::LABEL_REQUIRED;
2209const FieldDescriptorProto_Label FieldDescriptorProto::LABEL_REPEATED;
2210const FieldDescriptorProto_Label FieldDescriptorProto::Label_MIN;
2211const FieldDescriptorProto_Label FieldDescriptorProto::Label_MAX;
2212const int FieldDescriptorProto::Label_ARRAYSIZE;
2213#endif  // _MSC_VER
2214const ::std::string FieldDescriptorProto::_default_name_;
2215const ::std::string FieldDescriptorProto::_default_type_name_;
2216const ::std::string FieldDescriptorProto::_default_extendee_;
2217const ::std::string FieldDescriptorProto::_default_default_value_;
2218#ifndef _MSC_VER
2219const int FieldDescriptorProto::kNameFieldNumber;
2220const int FieldDescriptorProto::kNumberFieldNumber;
2221const int FieldDescriptorProto::kLabelFieldNumber;
2222const int FieldDescriptorProto::kTypeFieldNumber;
2223const int FieldDescriptorProto::kTypeNameFieldNumber;
2224const int FieldDescriptorProto::kExtendeeFieldNumber;
2225const int FieldDescriptorProto::kDefaultValueFieldNumber;
2226const int FieldDescriptorProto::kOptionsFieldNumber;
2227#endif  // !_MSC_VER
2228
2229FieldDescriptorProto::FieldDescriptorProto()
2230  : ::google::protobuf::Message() {
2231  SharedCtor();
2232}
2233
2234void FieldDescriptorProto::InitAsDefaultInstance() {
2235  options_ = const_cast< ::google::protobuf::FieldOptions*>(&::google::protobuf::FieldOptions::default_instance());
2236}
2237
2238FieldDescriptorProto::FieldDescriptorProto(const FieldDescriptorProto& from)
2239  : ::google::protobuf::Message() {
2240  SharedCtor();
2241  MergeFrom(from);
2242}
2243
2244void FieldDescriptorProto::SharedCtor() {
2245  _cached_size_ = 0;
2246  name_ = const_cast< ::std::string*>(&_default_name_);
2247  number_ = 0;
2248  label_ = 1;
2249  type_ = 1;
2250  type_name_ = const_cast< ::std::string*>(&_default_type_name_);
2251  extendee_ = const_cast< ::std::string*>(&_default_extendee_);
2252  default_value_ = const_cast< ::std::string*>(&_default_default_value_);
2253  options_ = NULL;
2254  ::memset(_has_bits_, 0, sizeof(_has_bits_));
2255}
2256
2257FieldDescriptorProto::~FieldDescriptorProto() {
2258  SharedDtor();
2259}
2260
2261void FieldDescriptorProto::SharedDtor() {
2262  if (name_ != &_default_name_) {
2263    delete name_;
2264  }
2265  if (type_name_ != &_default_type_name_) {
2266    delete type_name_;
2267  }
2268  if (extendee_ != &_default_extendee_) {
2269    delete extendee_;
2270  }
2271  if (default_value_ != &_default_default_value_) {
2272    delete default_value_;
2273  }
2274  if (this != default_instance_) {
2275    delete options_;
2276  }
2277}
2278
2279void FieldDescriptorProto::SetCachedSize(int size) const {
2280  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
2281  _cached_size_ = size;
2282  GOOGLE_SAFE_CONCURRENT_WRITES_END();
2283}
2284const ::google::protobuf::Descriptor* FieldDescriptorProto::descriptor() {
2285  protobuf_AssignDescriptorsOnce();
2286  return FieldDescriptorProto_descriptor_;
2287}
2288
2289const FieldDescriptorProto& FieldDescriptorProto::default_instance() {
2290  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
2291}
2292
2293FieldDescriptorProto* FieldDescriptorProto::default_instance_ = NULL;
2294
2295FieldDescriptorProto* FieldDescriptorProto::New() const {
2296  return new FieldDescriptorProto;
2297}
2298
2299void FieldDescriptorProto::Clear() {
2300  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
2301    if (_has_bit(0)) {
2302      if (name_ != &_default_name_) {
2303        name_->clear();
2304      }
2305    }
2306    number_ = 0;
2307    label_ = 1;
2308    type_ = 1;
2309    if (_has_bit(4)) {
2310      if (type_name_ != &_default_type_name_) {
2311        type_name_->clear();
2312      }
2313    }
2314    if (_has_bit(5)) {
2315      if (extendee_ != &_default_extendee_) {
2316        extendee_->clear();
2317      }
2318    }
2319    if (_has_bit(6)) {
2320      if (default_value_ != &_default_default_value_) {
2321        default_value_->clear();
2322      }
2323    }
2324    if (_has_bit(7)) {
2325      if (options_ != NULL) options_->::google::protobuf::FieldOptions::Clear();
2326    }
2327  }
2328  ::memset(_has_bits_, 0, sizeof(_has_bits_));
2329  mutable_unknown_fields()->Clear();
2330}
2331
2332bool FieldDescriptorProto::MergePartialFromCodedStream(
2333    ::google::protobuf::io::CodedInputStream* input) {
2334#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
2335  ::google::protobuf::uint32 tag;
2336  while ((tag = input->ReadTag()) != 0) {
2337    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
2338      // optional string name = 1;
2339      case 1: {
2340        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2341            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
2342          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
2343                input, this->mutable_name()));
2344          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2345            this->name().data(), this->name().length(),
2346            ::google::protobuf::internal::WireFormat::PARSE);
2347        } else {
2348          goto handle_uninterpreted;
2349        }
2350        if (input->ExpectTag(18)) goto parse_extendee;
2351        break;
2352      }
2353
2354      // optional string extendee = 2;
2355      case 2: {
2356        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2357            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
2358         parse_extendee:
2359          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
2360                input, this->mutable_extendee()));
2361          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2362            this->extendee().data(), this->extendee().length(),
2363            ::google::protobuf::internal::WireFormat::PARSE);
2364        } else {
2365          goto handle_uninterpreted;
2366        }
2367        if (input->ExpectTag(24)) goto parse_number;
2368        break;
2369      }
2370
2371      // optional int32 number = 3;
2372      case 3: {
2373        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2374            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
2375         parse_number:
2376          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
2377                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
2378                 input, &number_)));
2379          _set_bit(1);
2380        } else {
2381          goto handle_uninterpreted;
2382        }
2383        if (input->ExpectTag(32)) goto parse_label;
2384        break;
2385      }
2386
2387      // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
2388      case 4: {
2389        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2390            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
2391         parse_label:
2392          int value;
2393          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
2394                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
2395                 input, &value)));
2396          if (::google::protobuf::FieldDescriptorProto_Label_IsValid(value)) {
2397            set_label(static_cast< ::google::protobuf::FieldDescriptorProto_Label >(value));
2398          } else {
2399            mutable_unknown_fields()->AddVarint(4, value);
2400          }
2401        } else {
2402          goto handle_uninterpreted;
2403        }
2404        if (input->ExpectTag(40)) goto parse_type;
2405        break;
2406      }
2407
2408      // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
2409      case 5: {
2410        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2411            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
2412         parse_type:
2413          int value;
2414          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
2415                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
2416                 input, &value)));
2417          if (::google::protobuf::FieldDescriptorProto_Type_IsValid(value)) {
2418            set_type(static_cast< ::google::protobuf::FieldDescriptorProto_Type >(value));
2419          } else {
2420            mutable_unknown_fields()->AddVarint(5, value);
2421          }
2422        } else {
2423          goto handle_uninterpreted;
2424        }
2425        if (input->ExpectTag(50)) goto parse_type_name;
2426        break;
2427      }
2428
2429      // optional string type_name = 6;
2430      case 6: {
2431        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2432            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
2433         parse_type_name:
2434          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
2435                input, this->mutable_type_name()));
2436          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2437            this->type_name().data(), this->type_name().length(),
2438            ::google::protobuf::internal::WireFormat::PARSE);
2439        } else {
2440          goto handle_uninterpreted;
2441        }
2442        if (input->ExpectTag(58)) goto parse_default_value;
2443        break;
2444      }
2445
2446      // optional string default_value = 7;
2447      case 7: {
2448        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2449            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
2450         parse_default_value:
2451          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
2452                input, this->mutable_default_value()));
2453          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2454            this->default_value().data(), this->default_value().length(),
2455            ::google::protobuf::internal::WireFormat::PARSE);
2456        } else {
2457          goto handle_uninterpreted;
2458        }
2459        if (input->ExpectTag(66)) goto parse_options;
2460        break;
2461      }
2462
2463      // optional .google.protobuf.FieldOptions options = 8;
2464      case 8: {
2465        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2466            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
2467         parse_options:
2468          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
2469               input, mutable_options()));
2470        } else {
2471          goto handle_uninterpreted;
2472        }
2473        if (input->ExpectAtEnd()) return true;
2474        break;
2475      }
2476
2477      default: {
2478      handle_uninterpreted:
2479        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2480            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
2481          return true;
2482        }
2483        DO_(::google::protobuf::internal::WireFormat::SkipField(
2484              input, tag, mutable_unknown_fields()));
2485        break;
2486      }
2487    }
2488  }
2489  return true;
2490#undef DO_
2491}
2492
2493void FieldDescriptorProto::SerializeWithCachedSizes(
2494    ::google::protobuf::io::CodedOutputStream* output) const {
2495  // optional string name = 1;
2496  if (_has_bit(0)) {
2497    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2498      this->name().data(), this->name().length(),
2499      ::google::protobuf::internal::WireFormat::SERIALIZE);
2500    ::google::protobuf::internal::WireFormatLite::WriteString(
2501      1, this->name(), output);
2502  }
2503
2504  // optional string extendee = 2;
2505  if (_has_bit(5)) {
2506    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2507      this->extendee().data(), this->extendee().length(),
2508      ::google::protobuf::internal::WireFormat::SERIALIZE);
2509    ::google::protobuf::internal::WireFormatLite::WriteString(
2510      2, this->extendee(), output);
2511  }
2512
2513  // optional int32 number = 3;
2514  if (_has_bit(1)) {
2515    ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->number(), output);
2516  }
2517
2518  // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
2519  if (_has_bit(2)) {
2520    ::google::protobuf::internal::WireFormatLite::WriteEnum(
2521      4, this->label(), output);
2522  }
2523
2524  // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
2525  if (_has_bit(3)) {
2526    ::google::protobuf::internal::WireFormatLite::WriteEnum(
2527      5, this->type(), output);
2528  }
2529
2530  // optional string type_name = 6;
2531  if (_has_bit(4)) {
2532    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2533      this->type_name().data(), this->type_name().length(),
2534      ::google::protobuf::internal::WireFormat::SERIALIZE);
2535    ::google::protobuf::internal::WireFormatLite::WriteString(
2536      6, this->type_name(), output);
2537  }
2538
2539  // optional string default_value = 7;
2540  if (_has_bit(6)) {
2541    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2542      this->default_value().data(), this->default_value().length(),
2543      ::google::protobuf::internal::WireFormat::SERIALIZE);
2544    ::google::protobuf::internal::WireFormatLite::WriteString(
2545      7, this->default_value(), output);
2546  }
2547
2548  // optional .google.protobuf.FieldOptions options = 8;
2549  if (_has_bit(7)) {
2550    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
2551      8, this->options(), output);
2552  }
2553
2554  if (!unknown_fields().empty()) {
2555    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
2556        unknown_fields(), output);
2557  }
2558}
2559
2560::google::protobuf::uint8* FieldDescriptorProto::SerializeWithCachedSizesToArray(
2561    ::google::protobuf::uint8* target) const {
2562  // optional string name = 1;
2563  if (_has_bit(0)) {
2564    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2565      this->name().data(), this->name().length(),
2566      ::google::protobuf::internal::WireFormat::SERIALIZE);
2567    target =
2568      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
2569        1, this->name(), target);
2570  }
2571
2572  // optional string extendee = 2;
2573  if (_has_bit(5)) {
2574    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2575      this->extendee().data(), this->extendee().length(),
2576      ::google::protobuf::internal::WireFormat::SERIALIZE);
2577    target =
2578      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
2579        2, this->extendee(), target);
2580  }
2581
2582  // optional int32 number = 3;
2583  if (_has_bit(1)) {
2584    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->number(), target);
2585  }
2586
2587  // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
2588  if (_has_bit(2)) {
2589    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
2590      4, this->label(), target);
2591  }
2592
2593  // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
2594  if (_has_bit(3)) {
2595    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
2596      5, this->type(), target);
2597  }
2598
2599  // optional string type_name = 6;
2600  if (_has_bit(4)) {
2601    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2602      this->type_name().data(), this->type_name().length(),
2603      ::google::protobuf::internal::WireFormat::SERIALIZE);
2604    target =
2605      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
2606        6, this->type_name(), target);
2607  }
2608
2609  // optional string default_value = 7;
2610  if (_has_bit(6)) {
2611    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2612      this->default_value().data(), this->default_value().length(),
2613      ::google::protobuf::internal::WireFormat::SERIALIZE);
2614    target =
2615      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
2616        7, this->default_value(), target);
2617  }
2618
2619  // optional .google.protobuf.FieldOptions options = 8;
2620  if (_has_bit(7)) {
2621    target = ::google::protobuf::internal::WireFormatLite::
2622      WriteMessageNoVirtualToArray(
2623        8, this->options(), target);
2624  }
2625
2626  if (!unknown_fields().empty()) {
2627    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
2628        unknown_fields(), target);
2629  }
2630  return target;
2631}
2632
2633int FieldDescriptorProto::ByteSize() const {
2634  int total_size = 0;
2635
2636  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
2637    // optional string name = 1;
2638    if (has_name()) {
2639      total_size += 1 +
2640        ::google::protobuf::internal::WireFormatLite::StringSize(
2641          this->name());
2642    }
2643
2644    // optional int32 number = 3;
2645    if (has_number()) {
2646      total_size += 1 +
2647        ::google::protobuf::internal::WireFormatLite::Int32Size(
2648          this->number());
2649    }
2650
2651    // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
2652    if (has_label()) {
2653      total_size += 1 +
2654        ::google::protobuf::internal::WireFormatLite::EnumSize(this->label());
2655    }
2656
2657    // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
2658    if (has_type()) {
2659      total_size += 1 +
2660        ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
2661    }
2662
2663    // optional string type_name = 6;
2664    if (has_type_name()) {
2665      total_size += 1 +
2666        ::google::protobuf::internal::WireFormatLite::StringSize(
2667          this->type_name());
2668    }
2669
2670    // optional string extendee = 2;
2671    if (has_extendee()) {
2672      total_size += 1 +
2673        ::google::protobuf::internal::WireFormatLite::StringSize(
2674          this->extendee());
2675    }
2676
2677    // optional string default_value = 7;
2678    if (has_default_value()) {
2679      total_size += 1 +
2680        ::google::protobuf::internal::WireFormatLite::StringSize(
2681          this->default_value());
2682    }
2683
2684    // optional .google.protobuf.FieldOptions options = 8;
2685    if (has_options()) {
2686      total_size += 1 +
2687        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
2688          this->options());
2689    }
2690
2691  }
2692  if (!unknown_fields().empty()) {
2693    total_size +=
2694      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
2695        unknown_fields());
2696  }
2697  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
2698  _cached_size_ = total_size;
2699  GOOGLE_SAFE_CONCURRENT_WRITES_END();
2700  return total_size;
2701}
2702
2703void FieldDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
2704  GOOGLE_CHECK_NE(&from, this);
2705  const FieldDescriptorProto* source =
2706    ::google::protobuf::internal::dynamic_cast_if_available<const FieldDescriptorProto*>(
2707      &from);
2708  if (source == NULL) {
2709    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
2710  } else {
2711    MergeFrom(*source);
2712  }
2713}
2714
2715void FieldDescriptorProto::MergeFrom(const FieldDescriptorProto& from) {
2716  GOOGLE_CHECK_NE(&from, this);
2717  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
2718    if (from._has_bit(0)) {
2719      set_name(from.name());
2720    }
2721    if (from._has_bit(1)) {
2722      set_number(from.number());
2723    }
2724    if (from._has_bit(2)) {
2725      set_label(from.label());
2726    }
2727    if (from._has_bit(3)) {
2728      set_type(from.type());
2729    }
2730    if (from._has_bit(4)) {
2731      set_type_name(from.type_name());
2732    }
2733    if (from._has_bit(5)) {
2734      set_extendee(from.extendee());
2735    }
2736    if (from._has_bit(6)) {
2737      set_default_value(from.default_value());
2738    }
2739    if (from._has_bit(7)) {
2740      mutable_options()->::google::protobuf::FieldOptions::MergeFrom(from.options());
2741    }
2742  }
2743  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
2744}
2745
2746void FieldDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
2747  if (&from == this) return;
2748  Clear();
2749  MergeFrom(from);
2750}
2751
2752void FieldDescriptorProto::CopyFrom(const FieldDescriptorProto& from) {
2753  if (&from == this) return;
2754  Clear();
2755  MergeFrom(from);
2756}
2757
2758bool FieldDescriptorProto::IsInitialized() const {
2759
2760  if (has_options()) {
2761    if (!this->options().IsInitialized()) return false;
2762  }
2763  return true;
2764}
2765
2766void FieldDescriptorProto::Swap(FieldDescriptorProto* other) {
2767  if (other != this) {
2768    std::swap(name_, other->name_);
2769    std::swap(number_, other->number_);
2770    std::swap(label_, other->label_);
2771    std::swap(type_, other->type_);
2772    std::swap(type_name_, other->type_name_);
2773    std::swap(extendee_, other->extendee_);
2774    std::swap(default_value_, other->default_value_);
2775    std::swap(options_, other->options_);
2776    std::swap(_has_bits_[0], other->_has_bits_[0]);
2777    _unknown_fields_.Swap(&other->_unknown_fields_);
2778    std::swap(_cached_size_, other->_cached_size_);
2779  }
2780}
2781
2782::google::protobuf::Metadata FieldDescriptorProto::GetMetadata() const {
2783  protobuf_AssignDescriptorsOnce();
2784  ::google::protobuf::Metadata metadata;
2785  metadata.descriptor = FieldDescriptorProto_descriptor_;
2786  metadata.reflection = FieldDescriptorProto_reflection_;
2787  return metadata;
2788}
2789
2790
2791// ===================================================================
2792
2793const ::std::string EnumDescriptorProto::_default_name_;
2794#ifndef _MSC_VER
2795const int EnumDescriptorProto::kNameFieldNumber;
2796const int EnumDescriptorProto::kValueFieldNumber;
2797const int EnumDescriptorProto::kOptionsFieldNumber;
2798#endif  // !_MSC_VER
2799
2800EnumDescriptorProto::EnumDescriptorProto()
2801  : ::google::protobuf::Message() {
2802  SharedCtor();
2803}
2804
2805void EnumDescriptorProto::InitAsDefaultInstance() {
2806  options_ = const_cast< ::google::protobuf::EnumOptions*>(&::google::protobuf::EnumOptions::default_instance());
2807}
2808
2809EnumDescriptorProto::EnumDescriptorProto(const EnumDescriptorProto& from)
2810  : ::google::protobuf::Message() {
2811  SharedCtor();
2812  MergeFrom(from);
2813}
2814
2815void EnumDescriptorProto::SharedCtor() {
2816  _cached_size_ = 0;
2817  name_ = const_cast< ::std::string*>(&_default_name_);
2818  options_ = NULL;
2819  ::memset(_has_bits_, 0, sizeof(_has_bits_));
2820}
2821
2822EnumDescriptorProto::~EnumDescriptorProto() {
2823  SharedDtor();
2824}
2825
2826void EnumDescriptorProto::SharedDtor() {
2827  if (name_ != &_default_name_) {
2828    delete name_;
2829  }
2830  if (this != default_instance_) {
2831    delete options_;
2832  }
2833}
2834
2835void EnumDescriptorProto::SetCachedSize(int size) const {
2836  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
2837  _cached_size_ = size;
2838  GOOGLE_SAFE_CONCURRENT_WRITES_END();
2839}
2840const ::google::protobuf::Descriptor* EnumDescriptorProto::descriptor() {
2841  protobuf_AssignDescriptorsOnce();
2842  return EnumDescriptorProto_descriptor_;
2843}
2844
2845const EnumDescriptorProto& EnumDescriptorProto::default_instance() {
2846  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
2847}
2848
2849EnumDescriptorProto* EnumDescriptorProto::default_instance_ = NULL;
2850
2851EnumDescriptorProto* EnumDescriptorProto::New() const {
2852  return new EnumDescriptorProto;
2853}
2854
2855void EnumDescriptorProto::Clear() {
2856  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
2857    if (_has_bit(0)) {
2858      if (name_ != &_default_name_) {
2859        name_->clear();
2860      }
2861    }
2862    if (_has_bit(2)) {
2863      if (options_ != NULL) options_->::google::protobuf::EnumOptions::Clear();
2864    }
2865  }
2866  value_.Clear();
2867  ::memset(_has_bits_, 0, sizeof(_has_bits_));
2868  mutable_unknown_fields()->Clear();
2869}
2870
2871bool EnumDescriptorProto::MergePartialFromCodedStream(
2872    ::google::protobuf::io::CodedInputStream* input) {
2873#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
2874  ::google::protobuf::uint32 tag;
2875  while ((tag = input->ReadTag()) != 0) {
2876    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
2877      // optional string name = 1;
2878      case 1: {
2879        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2880            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
2881          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
2882                input, this->mutable_name()));
2883          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2884            this->name().data(), this->name().length(),
2885            ::google::protobuf::internal::WireFormat::PARSE);
2886        } else {
2887          goto handle_uninterpreted;
2888        }
2889        if (input->ExpectTag(18)) goto parse_value;
2890        break;
2891      }
2892
2893      // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
2894      case 2: {
2895        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2896            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
2897         parse_value:
2898          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
2899                input, add_value()));
2900        } else {
2901          goto handle_uninterpreted;
2902        }
2903        if (input->ExpectTag(18)) goto parse_value;
2904        if (input->ExpectTag(26)) goto parse_options;
2905        break;
2906      }
2907
2908      // optional .google.protobuf.EnumOptions options = 3;
2909      case 3: {
2910        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2911            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
2912         parse_options:
2913          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
2914               input, mutable_options()));
2915        } else {
2916          goto handle_uninterpreted;
2917        }
2918        if (input->ExpectAtEnd()) return true;
2919        break;
2920      }
2921
2922      default: {
2923      handle_uninterpreted:
2924        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2925            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
2926          return true;
2927        }
2928        DO_(::google::protobuf::internal::WireFormat::SkipField(
2929              input, tag, mutable_unknown_fields()));
2930        break;
2931      }
2932    }
2933  }
2934  return true;
2935#undef DO_
2936}
2937
2938void EnumDescriptorProto::SerializeWithCachedSizes(
2939    ::google::protobuf::io::CodedOutputStream* output) const {
2940  // optional string name = 1;
2941  if (_has_bit(0)) {
2942    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2943      this->name().data(), this->name().length(),
2944      ::google::protobuf::internal::WireFormat::SERIALIZE);
2945    ::google::protobuf::internal::WireFormatLite::WriteString(
2946      1, this->name(), output);
2947  }
2948
2949  // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
2950  for (int i = 0; i < this->value_size(); i++) {
2951    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
2952      2, this->value(i), output);
2953  }
2954
2955  // optional .google.protobuf.EnumOptions options = 3;
2956  if (_has_bit(2)) {
2957    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
2958      3, this->options(), output);
2959  }
2960
2961  if (!unknown_fields().empty()) {
2962    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
2963        unknown_fields(), output);
2964  }
2965}
2966
2967::google::protobuf::uint8* EnumDescriptorProto::SerializeWithCachedSizesToArray(
2968    ::google::protobuf::uint8* target) const {
2969  // optional string name = 1;
2970  if (_has_bit(0)) {
2971    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
2972      this->name().data(), this->name().length(),
2973      ::google::protobuf::internal::WireFormat::SERIALIZE);
2974    target =
2975      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
2976        1, this->name(), target);
2977  }
2978
2979  // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
2980  for (int i = 0; i < this->value_size(); i++) {
2981    target = ::google::protobuf::internal::WireFormatLite::
2982      WriteMessageNoVirtualToArray(
2983        2, this->value(i), target);
2984  }
2985
2986  // optional .google.protobuf.EnumOptions options = 3;
2987  if (_has_bit(2)) {
2988    target = ::google::protobuf::internal::WireFormatLite::
2989      WriteMessageNoVirtualToArray(
2990        3, this->options(), target);
2991  }
2992
2993  if (!unknown_fields().empty()) {
2994    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
2995        unknown_fields(), target);
2996  }
2997  return target;
2998}
2999
3000int EnumDescriptorProto::ByteSize() const {
3001  int total_size = 0;
3002
3003  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
3004    // optional string name = 1;
3005    if (has_name()) {
3006      total_size += 1 +
3007        ::google::protobuf::internal::WireFormatLite::StringSize(
3008          this->name());
3009    }
3010
3011    // optional .google.protobuf.EnumOptions options = 3;
3012    if (has_options()) {
3013      total_size += 1 +
3014        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
3015          this->options());
3016    }
3017
3018  }
3019  // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
3020  total_size += 1 * this->value_size();
3021  for (int i = 0; i < this->value_size(); i++) {
3022    total_size +=
3023      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
3024        this->value(i));
3025  }
3026
3027  if (!unknown_fields().empty()) {
3028    total_size +=
3029      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
3030        unknown_fields());
3031  }
3032  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
3033  _cached_size_ = total_size;
3034  GOOGLE_SAFE_CONCURRENT_WRITES_END();
3035  return total_size;
3036}
3037
3038void EnumDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
3039  GOOGLE_CHECK_NE(&from, this);
3040  const EnumDescriptorProto* source =
3041    ::google::protobuf::internal::dynamic_cast_if_available<const EnumDescriptorProto*>(
3042      &from);
3043  if (source == NULL) {
3044    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
3045  } else {
3046    MergeFrom(*source);
3047  }
3048}
3049
3050void EnumDescriptorProto::MergeFrom(const EnumDescriptorProto& from) {
3051  GOOGLE_CHECK_NE(&from, this);
3052  value_.MergeFrom(from.value_);
3053  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
3054    if (from._has_bit(0)) {
3055      set_name(from.name());
3056    }
3057    if (from._has_bit(2)) {
3058      mutable_options()->::google::protobuf::EnumOptions::MergeFrom(from.options());
3059    }
3060  }
3061  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
3062}
3063
3064void EnumDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
3065  if (&from == this) return;
3066  Clear();
3067  MergeFrom(from);
3068}
3069
3070void EnumDescriptorProto::CopyFrom(const EnumDescriptorProto& from) {
3071  if (&from == this) return;
3072  Clear();
3073  MergeFrom(from);
3074}
3075
3076bool EnumDescriptorProto::IsInitialized() const {
3077
3078  for (int i = 0; i < value_size(); i++) {
3079    if (!this->value(i).IsInitialized()) return false;
3080  }
3081  if (has_options()) {
3082    if (!this->options().IsInitialized()) return false;
3083  }
3084  return true;
3085}
3086
3087void EnumDescriptorProto::Swap(EnumDescriptorProto* other) {
3088  if (other != this) {
3089    std::swap(name_, other->name_);
3090    value_.Swap(&other->value_);
3091    std::swap(options_, other->options_);
3092    std::swap(_has_bits_[0], other->_has_bits_[0]);
3093    _unknown_fields_.Swap(&other->_unknown_fields_);
3094    std::swap(_cached_size_, other->_cached_size_);
3095  }
3096}
3097
3098::google::protobuf::Metadata EnumDescriptorProto::GetMetadata() const {
3099  protobuf_AssignDescriptorsOnce();
3100  ::google::protobuf::Metadata metadata;
3101  metadata.descriptor = EnumDescriptorProto_descriptor_;
3102  metadata.reflection = EnumDescriptorProto_reflection_;
3103  return metadata;
3104}
3105
3106
3107// ===================================================================
3108
3109const ::std::string EnumValueDescriptorProto::_default_name_;
3110#ifndef _MSC_VER
3111const int EnumValueDescriptorProto::kNameFieldNumber;
3112const int EnumValueDescriptorProto::kNumberFieldNumber;
3113const int EnumValueDescriptorProto::kOptionsFieldNumber;
3114#endif  // !_MSC_VER
3115
3116EnumValueDescriptorProto::EnumValueDescriptorProto()
3117  : ::google::protobuf::Message() {
3118  SharedCtor();
3119}
3120
3121void EnumValueDescriptorProto::InitAsDefaultInstance() {
3122  options_ = const_cast< ::google::protobuf::EnumValueOptions*>(&::google::protobuf::EnumValueOptions::default_instance());
3123}
3124
3125EnumValueDescriptorProto::EnumValueDescriptorProto(const EnumValueDescriptorProto& from)
3126  : ::google::protobuf::Message() {
3127  SharedCtor();
3128  MergeFrom(from);
3129}
3130
3131void EnumValueDescriptorProto::SharedCtor() {
3132  _cached_size_ = 0;
3133  name_ = const_cast< ::std::string*>(&_default_name_);
3134  number_ = 0;
3135  options_ = NULL;
3136  ::memset(_has_bits_, 0, sizeof(_has_bits_));
3137}
3138
3139EnumValueDescriptorProto::~EnumValueDescriptorProto() {
3140  SharedDtor();
3141}
3142
3143void EnumValueDescriptorProto::SharedDtor() {
3144  if (name_ != &_default_name_) {
3145    delete name_;
3146  }
3147  if (this != default_instance_) {
3148    delete options_;
3149  }
3150}
3151
3152void EnumValueDescriptorProto::SetCachedSize(int size) const {
3153  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
3154  _cached_size_ = size;
3155  GOOGLE_SAFE_CONCURRENT_WRITES_END();
3156}
3157const ::google::protobuf::Descriptor* EnumValueDescriptorProto::descriptor() {
3158  protobuf_AssignDescriptorsOnce();
3159  return EnumValueDescriptorProto_descriptor_;
3160}
3161
3162const EnumValueDescriptorProto& EnumValueDescriptorProto::default_instance() {
3163  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
3164}
3165
3166EnumValueDescriptorProto* EnumValueDescriptorProto::default_instance_ = NULL;
3167
3168EnumValueDescriptorProto* EnumValueDescriptorProto::New() const {
3169  return new EnumValueDescriptorProto;
3170}
3171
3172void EnumValueDescriptorProto::Clear() {
3173  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
3174    if (_has_bit(0)) {
3175      if (name_ != &_default_name_) {
3176        name_->clear();
3177      }
3178    }
3179    number_ = 0;
3180    if (_has_bit(2)) {
3181      if (options_ != NULL) options_->::google::protobuf::EnumValueOptions::Clear();
3182    }
3183  }
3184  ::memset(_has_bits_, 0, sizeof(_has_bits_));
3185  mutable_unknown_fields()->Clear();
3186}
3187
3188bool EnumValueDescriptorProto::MergePartialFromCodedStream(
3189    ::google::protobuf::io::CodedInputStream* input) {
3190#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
3191  ::google::protobuf::uint32 tag;
3192  while ((tag = input->ReadTag()) != 0) {
3193    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
3194      // optional string name = 1;
3195      case 1: {
3196        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3197            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
3198          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
3199                input, this->mutable_name()));
3200          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
3201            this->name().data(), this->name().length(),
3202            ::google::protobuf::internal::WireFormat::PARSE);
3203        } else {
3204          goto handle_uninterpreted;
3205        }
3206        if (input->ExpectTag(16)) goto parse_number;
3207        break;
3208      }
3209
3210      // optional int32 number = 2;
3211      case 2: {
3212        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3213            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
3214         parse_number:
3215          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
3216                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
3217                 input, &number_)));
3218          _set_bit(1);
3219        } else {
3220          goto handle_uninterpreted;
3221        }
3222        if (input->ExpectTag(26)) goto parse_options;
3223        break;
3224      }
3225
3226      // optional .google.protobuf.EnumValueOptions options = 3;
3227      case 3: {
3228        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3229            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
3230         parse_options:
3231          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
3232               input, mutable_options()));
3233        } else {
3234          goto handle_uninterpreted;
3235        }
3236        if (input->ExpectAtEnd()) return true;
3237        break;
3238      }
3239
3240      default: {
3241      handle_uninterpreted:
3242        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3243            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
3244          return true;
3245        }
3246        DO_(::google::protobuf::internal::WireFormat::SkipField(
3247              input, tag, mutable_unknown_fields()));
3248        break;
3249      }
3250    }
3251  }
3252  return true;
3253#undef DO_
3254}
3255
3256void EnumValueDescriptorProto::SerializeWithCachedSizes(
3257    ::google::protobuf::io::CodedOutputStream* output) const {
3258  // optional string name = 1;
3259  if (_has_bit(0)) {
3260    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
3261      this->name().data(), this->name().length(),
3262      ::google::protobuf::internal::WireFormat::SERIALIZE);
3263    ::google::protobuf::internal::WireFormatLite::WriteString(
3264      1, this->name(), output);
3265  }
3266
3267  // optional int32 number = 2;
3268  if (_has_bit(1)) {
3269    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->number(), output);
3270  }
3271
3272  // optional .google.protobuf.EnumValueOptions options = 3;
3273  if (_has_bit(2)) {
3274    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
3275      3, this->options(), output);
3276  }
3277
3278  if (!unknown_fields().empty()) {
3279    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
3280        unknown_fields(), output);
3281  }
3282}
3283
3284::google::protobuf::uint8* EnumValueDescriptorProto::SerializeWithCachedSizesToArray(
3285    ::google::protobuf::uint8* target) const {
3286  // optional string name = 1;
3287  if (_has_bit(0)) {
3288    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
3289      this->name().data(), this->name().length(),
3290      ::google::protobuf::internal::WireFormat::SERIALIZE);
3291    target =
3292      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
3293        1, this->name(), target);
3294  }
3295
3296  // optional int32 number = 2;
3297  if (_has_bit(1)) {
3298    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->number(), target);
3299  }
3300
3301  // optional .google.protobuf.EnumValueOptions options = 3;
3302  if (_has_bit(2)) {
3303    target = ::google::protobuf::internal::WireFormatLite::
3304      WriteMessageNoVirtualToArray(
3305        3, this->options(), target);
3306  }
3307
3308  if (!unknown_fields().empty()) {
3309    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
3310        unknown_fields(), target);
3311  }
3312  return target;
3313}
3314
3315int EnumValueDescriptorProto::ByteSize() const {
3316  int total_size = 0;
3317
3318  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
3319    // optional string name = 1;
3320    if (has_name()) {
3321      total_size += 1 +
3322        ::google::protobuf::internal::WireFormatLite::StringSize(
3323          this->name());
3324    }
3325
3326    // optional int32 number = 2;
3327    if (has_number()) {
3328      total_size += 1 +
3329        ::google::protobuf::internal::WireFormatLite::Int32Size(
3330          this->number());
3331    }
3332
3333    // optional .google.protobuf.EnumValueOptions options = 3;
3334    if (has_options()) {
3335      total_size += 1 +
3336        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
3337          this->options());
3338    }
3339
3340  }
3341  if (!unknown_fields().empty()) {
3342    total_size +=
3343      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
3344        unknown_fields());
3345  }
3346  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
3347  _cached_size_ = total_size;
3348  GOOGLE_SAFE_CONCURRENT_WRITES_END();
3349  return total_size;
3350}
3351
3352void EnumValueDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
3353  GOOGLE_CHECK_NE(&from, this);
3354  const EnumValueDescriptorProto* source =
3355    ::google::protobuf::internal::dynamic_cast_if_available<const EnumValueDescriptorProto*>(
3356      &from);
3357  if (source == NULL) {
3358    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
3359  } else {
3360    MergeFrom(*source);
3361  }
3362}
3363
3364void EnumValueDescriptorProto::MergeFrom(const EnumValueDescriptorProto& from) {
3365  GOOGLE_CHECK_NE(&from, this);
3366  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
3367    if (from._has_bit(0)) {
3368      set_name(from.name());
3369    }
3370    if (from._has_bit(1)) {
3371      set_number(from.number());
3372    }
3373    if (from._has_bit(2)) {
3374      mutable_options()->::google::protobuf::EnumValueOptions::MergeFrom(from.options());
3375    }
3376  }
3377  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
3378}
3379
3380void EnumValueDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
3381  if (&from == this) return;
3382  Clear();
3383  MergeFrom(from);
3384}
3385
3386void EnumValueDescriptorProto::CopyFrom(const EnumValueDescriptorProto& from) {
3387  if (&from == this) return;
3388  Clear();
3389  MergeFrom(from);
3390}
3391
3392bool EnumValueDescriptorProto::IsInitialized() const {
3393
3394  if (has_options()) {
3395    if (!this->options().IsInitialized()) return false;
3396  }
3397  return true;
3398}
3399
3400void EnumValueDescriptorProto::Swap(EnumValueDescriptorProto* other) {
3401  if (other != this) {
3402    std::swap(name_, other->name_);
3403    std::swap(number_, other->number_);
3404    std::swap(options_, other->options_);
3405    std::swap(_has_bits_[0], other->_has_bits_[0]);
3406    _unknown_fields_.Swap(&other->_unknown_fields_);
3407    std::swap(_cached_size_, other->_cached_size_);
3408  }
3409}
3410
3411::google::protobuf::Metadata EnumValueDescriptorProto::GetMetadata() const {
3412  protobuf_AssignDescriptorsOnce();
3413  ::google::protobuf::Metadata metadata;
3414  metadata.descriptor = EnumValueDescriptorProto_descriptor_;
3415  metadata.reflection = EnumValueDescriptorProto_reflection_;
3416  return metadata;
3417}
3418
3419
3420// ===================================================================
3421
3422const ::std::string ServiceDescriptorProto::_default_name_;
3423#ifndef _MSC_VER
3424const int ServiceDescriptorProto::kNameFieldNumber;
3425const int ServiceDescriptorProto::kMethodFieldNumber;
3426const int ServiceDescriptorProto::kOptionsFieldNumber;
3427#endif  // !_MSC_VER
3428
3429ServiceDescriptorProto::ServiceDescriptorProto()
3430  : ::google::protobuf::Message() {
3431  SharedCtor();
3432}
3433
3434void ServiceDescriptorProto::InitAsDefaultInstance() {
3435  options_ = const_cast< ::google::protobuf::ServiceOptions*>(&::google::protobuf::ServiceOptions::default_instance());
3436}
3437
3438ServiceDescriptorProto::ServiceDescriptorProto(const ServiceDescriptorProto& from)
3439  : ::google::protobuf::Message() {
3440  SharedCtor();
3441  MergeFrom(from);
3442}
3443
3444void ServiceDescriptorProto::SharedCtor() {
3445  _cached_size_ = 0;
3446  name_ = const_cast< ::std::string*>(&_default_name_);
3447  options_ = NULL;
3448  ::memset(_has_bits_, 0, sizeof(_has_bits_));
3449}
3450
3451ServiceDescriptorProto::~ServiceDescriptorProto() {
3452  SharedDtor();
3453}
3454
3455void ServiceDescriptorProto::SharedDtor() {
3456  if (name_ != &_default_name_) {
3457    delete name_;
3458  }
3459  if (this != default_instance_) {
3460    delete options_;
3461  }
3462}
3463
3464void ServiceDescriptorProto::SetCachedSize(int size) const {
3465  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
3466  _cached_size_ = size;
3467  GOOGLE_SAFE_CONCURRENT_WRITES_END();
3468}
3469const ::google::protobuf::Descriptor* ServiceDescriptorProto::descriptor() {
3470  protobuf_AssignDescriptorsOnce();
3471  return ServiceDescriptorProto_descriptor_;
3472}
3473
3474const ServiceDescriptorProto& ServiceDescriptorProto::default_instance() {
3475  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
3476}
3477
3478ServiceDescriptorProto* ServiceDescriptorProto::default_instance_ = NULL;
3479
3480ServiceDescriptorProto* ServiceDescriptorProto::New() const {
3481  return new ServiceDescriptorProto;
3482}
3483
3484void ServiceDescriptorProto::Clear() {
3485  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
3486    if (_has_bit(0)) {
3487      if (name_ != &_default_name_) {
3488        name_->clear();
3489      }
3490    }
3491    if (_has_bit(2)) {
3492      if (options_ != NULL) options_->::google::protobuf::ServiceOptions::Clear();
3493    }
3494  }
3495  method_.Clear();
3496  ::memset(_has_bits_, 0, sizeof(_has_bits_));
3497  mutable_unknown_fields()->Clear();
3498}
3499
3500bool ServiceDescriptorProto::MergePartialFromCodedStream(
3501    ::google::protobuf::io::CodedInputStream* input) {
3502#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
3503  ::google::protobuf::uint32 tag;
3504  while ((tag = input->ReadTag()) != 0) {
3505    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
3506      // optional string name = 1;
3507      case 1: {
3508        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3509            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
3510          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
3511                input, this->mutable_name()));
3512          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
3513            this->name().data(), this->name().length(),
3514            ::google::protobuf::internal::WireFormat::PARSE);
3515        } else {
3516          goto handle_uninterpreted;
3517        }
3518        if (input->ExpectTag(18)) goto parse_method;
3519        break;
3520      }
3521
3522      // repeated .google.protobuf.MethodDescriptorProto method = 2;
3523      case 2: {
3524        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3525            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
3526         parse_method:
3527          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
3528                input, add_method()));
3529        } else {
3530          goto handle_uninterpreted;
3531        }
3532        if (input->ExpectTag(18)) goto parse_method;
3533        if (input->ExpectTag(26)) goto parse_options;
3534        break;
3535      }
3536
3537      // optional .google.protobuf.ServiceOptions options = 3;
3538      case 3: {
3539        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3540            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
3541         parse_options:
3542          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
3543               input, mutable_options()));
3544        } else {
3545          goto handle_uninterpreted;
3546        }
3547        if (input->ExpectAtEnd()) return true;
3548        break;
3549      }
3550
3551      default: {
3552      handle_uninterpreted:
3553        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3554            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
3555          return true;
3556        }
3557        DO_(::google::protobuf::internal::WireFormat::SkipField(
3558              input, tag, mutable_unknown_fields()));
3559        break;
3560      }
3561    }
3562  }
3563  return true;
3564#undef DO_
3565}
3566
3567void ServiceDescriptorProto::SerializeWithCachedSizes(
3568    ::google::protobuf::io::CodedOutputStream* output) const {
3569  // optional string name = 1;
3570  if (_has_bit(0)) {
3571    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
3572      this->name().data(), this->name().length(),
3573      ::google::protobuf::internal::WireFormat::SERIALIZE);
3574    ::google::protobuf::internal::WireFormatLite::WriteString(
3575      1, this->name(), output);
3576  }
3577
3578  // repeated .google.protobuf.MethodDescriptorProto method = 2;
3579  for (int i = 0; i < this->method_size(); i++) {
3580    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
3581      2, this->method(i), output);
3582  }
3583
3584  // optional .google.protobuf.ServiceOptions options = 3;
3585  if (_has_bit(2)) {
3586    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
3587      3, this->options(), output);
3588  }
3589
3590  if (!unknown_fields().empty()) {
3591    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
3592        unknown_fields(), output);
3593  }
3594}
3595
3596::google::protobuf::uint8* ServiceDescriptorProto::SerializeWithCachedSizesToArray(
3597    ::google::protobuf::uint8* target) const {
3598  // optional string name = 1;
3599  if (_has_bit(0)) {
3600    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
3601      this->name().data(), this->name().length(),
3602      ::google::protobuf::internal::WireFormat::SERIALIZE);
3603    target =
3604      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
3605        1, this->name(), target);
3606  }
3607
3608  // repeated .google.protobuf.MethodDescriptorProto method = 2;
3609  for (int i = 0; i < this->method_size(); i++) {
3610    target = ::google::protobuf::internal::WireFormatLite::
3611      WriteMessageNoVirtualToArray(
3612        2, this->method(i), target);
3613  }
3614
3615  // optional .google.protobuf.ServiceOptions options = 3;
3616  if (_has_bit(2)) {
3617    target = ::google::protobuf::internal::WireFormatLite::
3618      WriteMessageNoVirtualToArray(
3619        3, this->options(), target);
3620  }
3621
3622  if (!unknown_fields().empty()) {
3623    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
3624        unknown_fields(), target);
3625  }
3626  return target;
3627}
3628
3629int ServiceDescriptorProto::ByteSize() const {
3630  int total_size = 0;
3631
3632  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
3633    // optional string name = 1;
3634    if (has_name()) {
3635      total_size += 1 +
3636        ::google::protobuf::internal::WireFormatLite::StringSize(
3637          this->name());
3638    }
3639
3640    // optional .google.protobuf.ServiceOptions options = 3;
3641    if (has_options()) {
3642      total_size += 1 +
3643        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
3644          this->options());
3645    }
3646
3647  }
3648  // repeated .google.protobuf.MethodDescriptorProto method = 2;
3649  total_size += 1 * this->method_size();
3650  for (int i = 0; i < this->method_size(); i++) {
3651    total_size +=
3652      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
3653        this->method(i));
3654  }
3655
3656  if (!unknown_fields().empty()) {
3657    total_size +=
3658      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
3659        unknown_fields());
3660  }
3661  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
3662  _cached_size_ = total_size;
3663  GOOGLE_SAFE_CONCURRENT_WRITES_END();
3664  return total_size;
3665}
3666
3667void ServiceDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
3668  GOOGLE_CHECK_NE(&from, this);
3669  const ServiceDescriptorProto* source =
3670    ::google::protobuf::internal::dynamic_cast_if_available<const ServiceDescriptorProto*>(
3671      &from);
3672  if (source == NULL) {
3673    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
3674  } else {
3675    MergeFrom(*source);
3676  }
3677}
3678
3679void ServiceDescriptorProto::MergeFrom(const ServiceDescriptorProto& from) {
3680  GOOGLE_CHECK_NE(&from, this);
3681  method_.MergeFrom(from.method_);
3682  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
3683    if (from._has_bit(0)) {
3684      set_name(from.name());
3685    }
3686    if (from._has_bit(2)) {
3687      mutable_options()->::google::protobuf::ServiceOptions::MergeFrom(from.options());
3688    }
3689  }
3690  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
3691}
3692
3693void ServiceDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
3694  if (&from == this) return;
3695  Clear();
3696  MergeFrom(from);
3697}
3698
3699void ServiceDescriptorProto::CopyFrom(const ServiceDescriptorProto& from) {
3700  if (&from == this) return;
3701  Clear();
3702  MergeFrom(from);
3703}
3704
3705bool ServiceDescriptorProto::IsInitialized() const {
3706
3707  for (int i = 0; i < method_size(); i++) {
3708    if (!this->method(i).IsInitialized()) return false;
3709  }
3710  if (has_options()) {
3711    if (!this->options().IsInitialized()) return false;
3712  }
3713  return true;
3714}
3715
3716void ServiceDescriptorProto::Swap(ServiceDescriptorProto* other) {
3717  if (other != this) {
3718    std::swap(name_, other->name_);
3719    method_.Swap(&other->method_);
3720    std::swap(options_, other->options_);
3721    std::swap(_has_bits_[0], other->_has_bits_[0]);
3722    _unknown_fields_.Swap(&other->_unknown_fields_);
3723    std::swap(_cached_size_, other->_cached_size_);
3724  }
3725}
3726
3727::google::protobuf::Metadata ServiceDescriptorProto::GetMetadata() const {
3728  protobuf_AssignDescriptorsOnce();
3729  ::google::protobuf::Metadata metadata;
3730  metadata.descriptor = ServiceDescriptorProto_descriptor_;
3731  metadata.reflection = ServiceDescriptorProto_reflection_;
3732  return metadata;
3733}
3734
3735
3736// ===================================================================
3737
3738const ::std::string MethodDescriptorProto::_default_name_;
3739const ::std::string MethodDescriptorProto::_default_input_type_;
3740const ::std::string MethodDescriptorProto::_default_output_type_;
3741#ifndef _MSC_VER
3742const int MethodDescriptorProto::kNameFieldNumber;
3743const int MethodDescriptorProto::kInputTypeFieldNumber;
3744const int MethodDescriptorProto::kOutputTypeFieldNumber;
3745const int MethodDescriptorProto::kOptionsFieldNumber;
3746#endif  // !_MSC_VER
3747
3748MethodDescriptorProto::MethodDescriptorProto()
3749  : ::google::protobuf::Message() {
3750  SharedCtor();
3751}
3752
3753void MethodDescriptorProto::InitAsDefaultInstance() {
3754  options_ = const_cast< ::google::protobuf::MethodOptions*>(&::google::protobuf::MethodOptions::default_instance());
3755}
3756
3757MethodDescriptorProto::MethodDescriptorProto(const MethodDescriptorProto& from)
3758  : ::google::protobuf::Message() {
3759  SharedCtor();
3760  MergeFrom(from);
3761}
3762
3763void MethodDescriptorProto::SharedCtor() {
3764  _cached_size_ = 0;
3765  name_ = const_cast< ::std::string*>(&_default_name_);
3766  input_type_ = const_cast< ::std::string*>(&_default_input_type_);
3767  output_type_ = const_cast< ::std::string*>(&_default_output_type_);
3768  options_ = NULL;
3769  ::memset(_has_bits_, 0, sizeof(_has_bits_));
3770}
3771
3772MethodDescriptorProto::~MethodDescriptorProto() {
3773  SharedDtor();
3774}
3775
3776void MethodDescriptorProto::SharedDtor() {
3777  if (name_ != &_default_name_) {
3778    delete name_;
3779  }
3780  if (input_type_ != &_default_input_type_) {
3781    delete input_type_;
3782  }
3783  if (output_type_ != &_default_output_type_) {
3784    delete output_type_;
3785  }
3786  if (this != default_instance_) {
3787    delete options_;
3788  }
3789}
3790
3791void MethodDescriptorProto::SetCachedSize(int size) const {
3792  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
3793  _cached_size_ = size;
3794  GOOGLE_SAFE_CONCURRENT_WRITES_END();
3795}
3796const ::google::protobuf::Descriptor* MethodDescriptorProto::descriptor() {
3797  protobuf_AssignDescriptorsOnce();
3798  return MethodDescriptorProto_descriptor_;
3799}
3800
3801const MethodDescriptorProto& MethodDescriptorProto::default_instance() {
3802  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
3803}
3804
3805MethodDescriptorProto* MethodDescriptorProto::default_instance_ = NULL;
3806
3807MethodDescriptorProto* MethodDescriptorProto::New() const {
3808  return new MethodDescriptorProto;
3809}
3810
3811void MethodDescriptorProto::Clear() {
3812  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
3813    if (_has_bit(0)) {
3814      if (name_ != &_default_name_) {
3815        name_->clear();
3816      }
3817    }
3818    if (_has_bit(1)) {
3819      if (input_type_ != &_default_input_type_) {
3820        input_type_->clear();
3821      }
3822    }
3823    if (_has_bit(2)) {
3824      if (output_type_ != &_default_output_type_) {
3825        output_type_->clear();
3826      }
3827    }
3828    if (_has_bit(3)) {
3829      if (options_ != NULL) options_->::google::protobuf::MethodOptions::Clear();
3830    }
3831  }
3832  ::memset(_has_bits_, 0, sizeof(_has_bits_));
3833  mutable_unknown_fields()->Clear();
3834}
3835
3836bool MethodDescriptorProto::MergePartialFromCodedStream(
3837    ::google::protobuf::io::CodedInputStream* input) {
3838#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
3839  ::google::protobuf::uint32 tag;
3840  while ((tag = input->ReadTag()) != 0) {
3841    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
3842      // optional string name = 1;
3843      case 1: {
3844        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3845            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
3846          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
3847                input, this->mutable_name()));
3848          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
3849            this->name().data(), this->name().length(),
3850            ::google::protobuf::internal::WireFormat::PARSE);
3851        } else {
3852          goto handle_uninterpreted;
3853        }
3854        if (input->ExpectTag(18)) goto parse_input_type;
3855        break;
3856      }
3857
3858      // optional string input_type = 2;
3859      case 2: {
3860        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3861            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
3862         parse_input_type:
3863          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
3864                input, this->mutable_input_type()));
3865          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
3866            this->input_type().data(), this->input_type().length(),
3867            ::google::protobuf::internal::WireFormat::PARSE);
3868        } else {
3869          goto handle_uninterpreted;
3870        }
3871        if (input->ExpectTag(26)) goto parse_output_type;
3872        break;
3873      }
3874
3875      // optional string output_type = 3;
3876      case 3: {
3877        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3878            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
3879         parse_output_type:
3880          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
3881                input, this->mutable_output_type()));
3882          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
3883            this->output_type().data(), this->output_type().length(),
3884            ::google::protobuf::internal::WireFormat::PARSE);
3885        } else {
3886          goto handle_uninterpreted;
3887        }
3888        if (input->ExpectTag(34)) goto parse_options;
3889        break;
3890      }
3891
3892      // optional .google.protobuf.MethodOptions options = 4;
3893      case 4: {
3894        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3895            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
3896         parse_options:
3897          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
3898               input, mutable_options()));
3899        } else {
3900          goto handle_uninterpreted;
3901        }
3902        if (input->ExpectAtEnd()) return true;
3903        break;
3904      }
3905
3906      default: {
3907      handle_uninterpreted:
3908        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3909            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
3910          return true;
3911        }
3912        DO_(::google::protobuf::internal::WireFormat::SkipField(
3913              input, tag, mutable_unknown_fields()));
3914        break;
3915      }
3916    }
3917  }
3918  return true;
3919#undef DO_
3920}
3921
3922void MethodDescriptorProto::SerializeWithCachedSizes(
3923    ::google::protobuf::io::CodedOutputStream* output) const {
3924  // optional string name = 1;
3925  if (_has_bit(0)) {
3926    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
3927      this->name().data(), this->name().length(),
3928      ::google::protobuf::internal::WireFormat::SERIALIZE);
3929    ::google::protobuf::internal::WireFormatLite::WriteString(
3930      1, this->name(), output);
3931  }
3932
3933  // optional string input_type = 2;
3934  if (_has_bit(1)) {
3935    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
3936      this->input_type().data(), this->input_type().length(),
3937      ::google::protobuf::internal::WireFormat::SERIALIZE);
3938    ::google::protobuf::internal::WireFormatLite::WriteString(
3939      2, this->input_type(), output);
3940  }
3941
3942  // optional string output_type = 3;
3943  if (_has_bit(2)) {
3944    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
3945      this->output_type().data(), this->output_type().length(),
3946      ::google::protobuf::internal::WireFormat::SERIALIZE);
3947    ::google::protobuf::internal::WireFormatLite::WriteString(
3948      3, this->output_type(), output);
3949  }
3950
3951  // optional .google.protobuf.MethodOptions options = 4;
3952  if (_has_bit(3)) {
3953    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
3954      4, this->options(), output);
3955  }
3956
3957  if (!unknown_fields().empty()) {
3958    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
3959        unknown_fields(), output);
3960  }
3961}
3962
3963::google::protobuf::uint8* MethodDescriptorProto::SerializeWithCachedSizesToArray(
3964    ::google::protobuf::uint8* target) const {
3965  // optional string name = 1;
3966  if (_has_bit(0)) {
3967    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
3968      this->name().data(), this->name().length(),
3969      ::google::protobuf::internal::WireFormat::SERIALIZE);
3970    target =
3971      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
3972        1, this->name(), target);
3973  }
3974
3975  // optional string input_type = 2;
3976  if (_has_bit(1)) {
3977    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
3978      this->input_type().data(), this->input_type().length(),
3979      ::google::protobuf::internal::WireFormat::SERIALIZE);
3980    target =
3981      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
3982        2, this->input_type(), target);
3983  }
3984
3985  // optional string output_type = 3;
3986  if (_has_bit(2)) {
3987    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
3988      this->output_type().data(), this->output_type().length(),
3989      ::google::protobuf::internal::WireFormat::SERIALIZE);
3990    target =
3991      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
3992        3, this->output_type(), target);
3993  }
3994
3995  // optional .google.protobuf.MethodOptions options = 4;
3996  if (_has_bit(3)) {
3997    target = ::google::protobuf::internal::WireFormatLite::
3998      WriteMessageNoVirtualToArray(
3999        4, this->options(), target);
4000  }
4001
4002  if (!unknown_fields().empty()) {
4003    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
4004        unknown_fields(), target);
4005  }
4006  return target;
4007}
4008
4009int MethodDescriptorProto::ByteSize() const {
4010  int total_size = 0;
4011
4012  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
4013    // optional string name = 1;
4014    if (has_name()) {
4015      total_size += 1 +
4016        ::google::protobuf::internal::WireFormatLite::StringSize(
4017          this->name());
4018    }
4019
4020    // optional string input_type = 2;
4021    if (has_input_type()) {
4022      total_size += 1 +
4023        ::google::protobuf::internal::WireFormatLite::StringSize(
4024          this->input_type());
4025    }
4026
4027    // optional string output_type = 3;
4028    if (has_output_type()) {
4029      total_size += 1 +
4030        ::google::protobuf::internal::WireFormatLite::StringSize(
4031          this->output_type());
4032    }
4033
4034    // optional .google.protobuf.MethodOptions options = 4;
4035    if (has_options()) {
4036      total_size += 1 +
4037        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
4038          this->options());
4039    }
4040
4041  }
4042  if (!unknown_fields().empty()) {
4043    total_size +=
4044      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
4045        unknown_fields());
4046  }
4047  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
4048  _cached_size_ = total_size;
4049  GOOGLE_SAFE_CONCURRENT_WRITES_END();
4050  return total_size;
4051}
4052
4053void MethodDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
4054  GOOGLE_CHECK_NE(&from, this);
4055  const MethodDescriptorProto* source =
4056    ::google::protobuf::internal::dynamic_cast_if_available<const MethodDescriptorProto*>(
4057      &from);
4058  if (source == NULL) {
4059    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
4060  } else {
4061    MergeFrom(*source);
4062  }
4063}
4064
4065void MethodDescriptorProto::MergeFrom(const MethodDescriptorProto& from) {
4066  GOOGLE_CHECK_NE(&from, this);
4067  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
4068    if (from._has_bit(0)) {
4069      set_name(from.name());
4070    }
4071    if (from._has_bit(1)) {
4072      set_input_type(from.input_type());
4073    }
4074    if (from._has_bit(2)) {
4075      set_output_type(from.output_type());
4076    }
4077    if (from._has_bit(3)) {
4078      mutable_options()->::google::protobuf::MethodOptions::MergeFrom(from.options());
4079    }
4080  }
4081  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
4082}
4083
4084void MethodDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
4085  if (&from == this) return;
4086  Clear();
4087  MergeFrom(from);
4088}
4089
4090void MethodDescriptorProto::CopyFrom(const MethodDescriptorProto& from) {
4091  if (&from == this) return;
4092  Clear();
4093  MergeFrom(from);
4094}
4095
4096bool MethodDescriptorProto::IsInitialized() const {
4097
4098  if (has_options()) {
4099    if (!this->options().IsInitialized()) return false;
4100  }
4101  return true;
4102}
4103
4104void MethodDescriptorProto::Swap(MethodDescriptorProto* other) {
4105  if (other != this) {
4106    std::swap(name_, other->name_);
4107    std::swap(input_type_, other->input_type_);
4108    std::swap(output_type_, other->output_type_);
4109    std::swap(options_, other->options_);
4110    std::swap(_has_bits_[0], other->_has_bits_[0]);
4111    _unknown_fields_.Swap(&other->_unknown_fields_);
4112    std::swap(_cached_size_, other->_cached_size_);
4113  }
4114}
4115
4116::google::protobuf::Metadata MethodDescriptorProto::GetMetadata() const {
4117  protobuf_AssignDescriptorsOnce();
4118  ::google::protobuf::Metadata metadata;
4119  metadata.descriptor = MethodDescriptorProto_descriptor_;
4120  metadata.reflection = MethodDescriptorProto_reflection_;
4121  return metadata;
4122}
4123
4124
4125// ===================================================================
4126
4127const ::google::protobuf::EnumDescriptor* FileOptions_OptimizeMode_descriptor() {
4128  protobuf_AssignDescriptorsOnce();
4129  return FileOptions_OptimizeMode_descriptor_;
4130}
4131bool FileOptions_OptimizeMode_IsValid(int value) {
4132  switch(value) {
4133    case 1:
4134    case 2:
4135    case 3:
4136      return true;
4137    default:
4138      return false;
4139  }
4140}
4141
4142#ifndef _MSC_VER
4143const FileOptions_OptimizeMode FileOptions::SPEED;
4144const FileOptions_OptimizeMode FileOptions::CODE_SIZE;
4145const FileOptions_OptimizeMode FileOptions::LITE_RUNTIME;
4146const FileOptions_OptimizeMode FileOptions::OptimizeMode_MIN;
4147const FileOptions_OptimizeMode FileOptions::OptimizeMode_MAX;
4148const int FileOptions::OptimizeMode_ARRAYSIZE;
4149#endif  // _MSC_VER
4150const ::std::string FileOptions::_default_java_package_;
4151const ::std::string FileOptions::_default_java_outer_classname_;
4152#ifndef _MSC_VER
4153const int FileOptions::kJavaPackageFieldNumber;
4154const int FileOptions::kJavaOuterClassnameFieldNumber;
4155const int FileOptions::kJavaMultipleFilesFieldNumber;
4156const int FileOptions::kOptimizeForFieldNumber;
4157const int FileOptions::kCcGenericServicesFieldNumber;
4158const int FileOptions::kJavaGenericServicesFieldNumber;
4159const int FileOptions::kPyGenericServicesFieldNumber;
4160const int FileOptions::kUninterpretedOptionFieldNumber;
4161#endif  // !_MSC_VER
4162
4163FileOptions::FileOptions()
4164  : ::google::protobuf::Message() {
4165  SharedCtor();
4166}
4167
4168void FileOptions::InitAsDefaultInstance() {
4169}
4170
4171FileOptions::FileOptions(const FileOptions& from)
4172  : ::google::protobuf::Message() {
4173  SharedCtor();
4174  MergeFrom(from);
4175}
4176
4177void FileOptions::SharedCtor() {
4178  _cached_size_ = 0;
4179  java_package_ = const_cast< ::std::string*>(&_default_java_package_);
4180  java_outer_classname_ = const_cast< ::std::string*>(&_default_java_outer_classname_);
4181  java_multiple_files_ = false;
4182  optimize_for_ = 1;
4183  cc_generic_services_ = true;
4184  java_generic_services_ = true;
4185  py_generic_services_ = true;
4186  ::memset(_has_bits_, 0, sizeof(_has_bits_));
4187}
4188
4189FileOptions::~FileOptions() {
4190  SharedDtor();
4191}
4192
4193void FileOptions::SharedDtor() {
4194  if (java_package_ != &_default_java_package_) {
4195    delete java_package_;
4196  }
4197  if (java_outer_classname_ != &_default_java_outer_classname_) {
4198    delete java_outer_classname_;
4199  }
4200  if (this != default_instance_) {
4201  }
4202}
4203
4204void FileOptions::SetCachedSize(int size) const {
4205  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
4206  _cached_size_ = size;
4207  GOOGLE_SAFE_CONCURRENT_WRITES_END();
4208}
4209const ::google::protobuf::Descriptor* FileOptions::descriptor() {
4210  protobuf_AssignDescriptorsOnce();
4211  return FileOptions_descriptor_;
4212}
4213
4214const FileOptions& FileOptions::default_instance() {
4215  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
4216}
4217
4218FileOptions* FileOptions::default_instance_ = NULL;
4219
4220FileOptions* FileOptions::New() const {
4221  return new FileOptions;
4222}
4223
4224void FileOptions::Clear() {
4225  _extensions_.Clear();
4226  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
4227    if (_has_bit(0)) {
4228      if (java_package_ != &_default_java_package_) {
4229        java_package_->clear();
4230      }
4231    }
4232    if (_has_bit(1)) {
4233      if (java_outer_classname_ != &_default_java_outer_classname_) {
4234        java_outer_classname_->clear();
4235      }
4236    }
4237    java_multiple_files_ = false;
4238    optimize_for_ = 1;
4239    cc_generic_services_ = true;
4240    java_generic_services_ = true;
4241    py_generic_services_ = true;
4242  }
4243  uninterpreted_option_.Clear();
4244  ::memset(_has_bits_, 0, sizeof(_has_bits_));
4245  mutable_unknown_fields()->Clear();
4246}
4247
4248bool FileOptions::MergePartialFromCodedStream(
4249    ::google::protobuf::io::CodedInputStream* input) {
4250#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
4251  ::google::protobuf::uint32 tag;
4252  while ((tag = input->ReadTag()) != 0) {
4253    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
4254      // optional string java_package = 1;
4255      case 1: {
4256        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4257            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
4258          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
4259                input, this->mutable_java_package()));
4260          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
4261            this->java_package().data(), this->java_package().length(),
4262            ::google::protobuf::internal::WireFormat::PARSE);
4263        } else {
4264          goto handle_uninterpreted;
4265        }
4266        if (input->ExpectTag(66)) goto parse_java_outer_classname;
4267        break;
4268      }
4269
4270      // optional string java_outer_classname = 8;
4271      case 8: {
4272        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4273            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
4274         parse_java_outer_classname:
4275          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
4276                input, this->mutable_java_outer_classname()));
4277          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
4278            this->java_outer_classname().data(), this->java_outer_classname().length(),
4279            ::google::protobuf::internal::WireFormat::PARSE);
4280        } else {
4281          goto handle_uninterpreted;
4282        }
4283        if (input->ExpectTag(72)) goto parse_optimize_for;
4284        break;
4285      }
4286
4287      // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
4288      case 9: {
4289        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4290            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
4291         parse_optimize_for:
4292          int value;
4293          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
4294                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
4295                 input, &value)));
4296          if (::google::protobuf::FileOptions_OptimizeMode_IsValid(value)) {
4297            set_optimize_for(static_cast< ::google::protobuf::FileOptions_OptimizeMode >(value));
4298          } else {
4299            mutable_unknown_fields()->AddVarint(9, value);
4300          }
4301        } else {
4302          goto handle_uninterpreted;
4303        }
4304        if (input->ExpectTag(80)) goto parse_java_multiple_files;
4305        break;
4306      }
4307
4308      // optional bool java_multiple_files = 10 [default = false];
4309      case 10: {
4310        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4311            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
4312         parse_java_multiple_files:
4313          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
4314                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
4315                 input, &java_multiple_files_)));
4316          _set_bit(2);
4317        } else {
4318          goto handle_uninterpreted;
4319        }
4320        if (input->ExpectTag(128)) goto parse_cc_generic_services;
4321        break;
4322      }
4323
4324      // optional bool cc_generic_services = 16 [default = true];
4325      case 16: {
4326        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4327            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
4328         parse_cc_generic_services:
4329          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
4330                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
4331                 input, &cc_generic_services_)));
4332          _set_bit(4);
4333        } else {
4334          goto handle_uninterpreted;
4335        }
4336        if (input->ExpectTag(136)) goto parse_java_generic_services;
4337        break;
4338      }
4339
4340      // optional bool java_generic_services = 17 [default = true];
4341      case 17: {
4342        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4343            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
4344         parse_java_generic_services:
4345          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
4346                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
4347                 input, &java_generic_services_)));
4348          _set_bit(5);
4349        } else {
4350          goto handle_uninterpreted;
4351        }
4352        if (input->ExpectTag(144)) goto parse_py_generic_services;
4353        break;
4354      }
4355
4356      // optional bool py_generic_services = 18 [default = true];
4357      case 18: {
4358        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4359            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
4360         parse_py_generic_services:
4361          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
4362                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
4363                 input, &py_generic_services_)));
4364          _set_bit(6);
4365        } else {
4366          goto handle_uninterpreted;
4367        }
4368        if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
4369        break;
4370      }
4371
4372      // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
4373      case 999: {
4374        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4375            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
4376         parse_uninterpreted_option:
4377          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
4378                input, add_uninterpreted_option()));
4379        } else {
4380          goto handle_uninterpreted;
4381        }
4382        if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
4383        if (input->ExpectAtEnd()) return true;
4384        break;
4385      }
4386
4387      default: {
4388      handle_uninterpreted:
4389        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4390            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
4391          return true;
4392        }
4393        if ((8000u <= tag)) {
4394          DO_(_extensions_.ParseField(tag, input, default_instance_,
4395                                      mutable_unknown_fields()));
4396          continue;
4397        }
4398        DO_(::google::protobuf::internal::WireFormat::SkipField(
4399              input, tag, mutable_unknown_fields()));
4400        break;
4401      }
4402    }
4403  }
4404  return true;
4405#undef DO_
4406}
4407
4408void FileOptions::SerializeWithCachedSizes(
4409    ::google::protobuf::io::CodedOutputStream* output) const {
4410  // optional string java_package = 1;
4411  if (_has_bit(0)) {
4412    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
4413      this->java_package().data(), this->java_package().length(),
4414      ::google::protobuf::internal::WireFormat::SERIALIZE);
4415    ::google::protobuf::internal::WireFormatLite::WriteString(
4416      1, this->java_package(), output);
4417  }
4418
4419  // optional string java_outer_classname = 8;
4420  if (_has_bit(1)) {
4421    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
4422      this->java_outer_classname().data(), this->java_outer_classname().length(),
4423      ::google::protobuf::internal::WireFormat::SERIALIZE);
4424    ::google::protobuf::internal::WireFormatLite::WriteString(
4425      8, this->java_outer_classname(), output);
4426  }
4427
4428  // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
4429  if (_has_bit(3)) {
4430    ::google::protobuf::internal::WireFormatLite::WriteEnum(
4431      9, this->optimize_for(), output);
4432  }
4433
4434  // optional bool java_multiple_files = 10 [default = false];
4435  if (_has_bit(2)) {
4436    ::google::protobuf::internal::WireFormatLite::WriteBool(10, this->java_multiple_files(), output);
4437  }
4438
4439  // optional bool cc_generic_services = 16 [default = true];
4440  if (_has_bit(4)) {
4441    ::google::protobuf::internal::WireFormatLite::WriteBool(16, this->cc_generic_services(), output);
4442  }
4443
4444  // optional bool java_generic_services = 17 [default = true];
4445  if (_has_bit(5)) {
4446    ::google::protobuf::internal::WireFormatLite::WriteBool(17, this->java_generic_services(), output);
4447  }
4448
4449  // optional bool py_generic_services = 18 [default = true];
4450  if (_has_bit(6)) {
4451    ::google::protobuf::internal::WireFormatLite::WriteBool(18, this->py_generic_services(), output);
4452  }
4453
4454  // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
4455  for (int i = 0; i < this->uninterpreted_option_size(); i++) {
4456    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
4457      999, this->uninterpreted_option(i), output);
4458  }
4459
4460  // Extension range [1000, 536870912)
4461  _extensions_.SerializeWithCachedSizes(
4462      1000, 536870912, output);
4463
4464  if (!unknown_fields().empty()) {
4465    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
4466        unknown_fields(), output);
4467  }
4468}
4469
4470::google::protobuf::uint8* FileOptions::SerializeWithCachedSizesToArray(
4471    ::google::protobuf::uint8* target) const {
4472  // optional string java_package = 1;
4473  if (_has_bit(0)) {
4474    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
4475      this->java_package().data(), this->java_package().length(),
4476      ::google::protobuf::internal::WireFormat::SERIALIZE);
4477    target =
4478      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
4479        1, this->java_package(), target);
4480  }
4481
4482  // optional string java_outer_classname = 8;
4483  if (_has_bit(1)) {
4484    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
4485      this->java_outer_classname().data(), this->java_outer_classname().length(),
4486      ::google::protobuf::internal::WireFormat::SERIALIZE);
4487    target =
4488      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
4489        8, this->java_outer_classname(), target);
4490  }
4491
4492  // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
4493  if (_has_bit(3)) {
4494    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
4495      9, this->optimize_for(), target);
4496  }
4497
4498  // optional bool java_multiple_files = 10 [default = false];
4499  if (_has_bit(2)) {
4500    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(10, this->java_multiple_files(), target);
4501  }
4502
4503  // optional bool cc_generic_services = 16 [default = true];
4504  if (_has_bit(4)) {
4505    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(16, this->cc_generic_services(), target);
4506  }
4507
4508  // optional bool java_generic_services = 17 [default = true];
4509  if (_has_bit(5)) {
4510    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(17, this->java_generic_services(), target);
4511  }
4512
4513  // optional bool py_generic_services = 18 [default = true];
4514  if (_has_bit(6)) {
4515    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(18, this->py_generic_services(), target);
4516  }
4517
4518  // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
4519  for (int i = 0; i < this->uninterpreted_option_size(); i++) {
4520    target = ::google::protobuf::internal::WireFormatLite::
4521      WriteMessageNoVirtualToArray(
4522        999, this->uninterpreted_option(i), target);
4523  }
4524
4525  // Extension range [1000, 536870912)
4526  target = _extensions_.SerializeWithCachedSizesToArray(
4527      1000, 536870912, target);
4528
4529  if (!unknown_fields().empty()) {
4530    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
4531        unknown_fields(), target);
4532  }
4533  return target;
4534}
4535
4536int FileOptions::ByteSize() const {
4537  int total_size = 0;
4538
4539  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
4540    // optional string java_package = 1;
4541    if (has_java_package()) {
4542      total_size += 1 +
4543        ::google::protobuf::internal::WireFormatLite::StringSize(
4544          this->java_package());
4545    }
4546
4547    // optional string java_outer_classname = 8;
4548    if (has_java_outer_classname()) {
4549      total_size += 1 +
4550        ::google::protobuf::internal::WireFormatLite::StringSize(
4551          this->java_outer_classname());
4552    }
4553
4554    // optional bool java_multiple_files = 10 [default = false];
4555    if (has_java_multiple_files()) {
4556      total_size += 1 + 1;
4557    }
4558
4559    // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
4560    if (has_optimize_for()) {
4561      total_size += 1 +
4562        ::google::protobuf::internal::WireFormatLite::EnumSize(this->optimize_for());
4563    }
4564
4565    // optional bool cc_generic_services = 16 [default = true];
4566    if (has_cc_generic_services()) {
4567      total_size += 2 + 1;
4568    }
4569
4570    // optional bool java_generic_services = 17 [default = true];
4571    if (has_java_generic_services()) {
4572      total_size += 2 + 1;
4573    }
4574
4575    // optional bool py_generic_services = 18 [default = true];
4576    if (has_py_generic_services()) {
4577      total_size += 2 + 1;
4578    }
4579
4580  }
4581  // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
4582  total_size += 2 * this->uninterpreted_option_size();
4583  for (int i = 0; i < this->uninterpreted_option_size(); i++) {
4584    total_size +=
4585      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
4586        this->uninterpreted_option(i));
4587  }
4588
4589  total_size += _extensions_.ByteSize();
4590
4591  if (!unknown_fields().empty()) {
4592    total_size +=
4593      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
4594        unknown_fields());
4595  }
4596  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
4597  _cached_size_ = total_size;
4598  GOOGLE_SAFE_CONCURRENT_WRITES_END();
4599  return total_size;
4600}
4601
4602void FileOptions::MergeFrom(const ::google::protobuf::Message& from) {
4603  GOOGLE_CHECK_NE(&from, this);
4604  const FileOptions* source =
4605    ::google::protobuf::internal::dynamic_cast_if_available<const FileOptions*>(
4606      &from);
4607  if (source == NULL) {
4608    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
4609  } else {
4610    MergeFrom(*source);
4611  }
4612}
4613
4614void FileOptions::MergeFrom(const FileOptions& from) {
4615  GOOGLE_CHECK_NE(&from, this);
4616  uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
4617  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
4618    if (from._has_bit(0)) {
4619      set_java_package(from.java_package());
4620    }
4621    if (from._has_bit(1)) {
4622      set_java_outer_classname(from.java_outer_classname());
4623    }
4624    if (from._has_bit(2)) {
4625      set_java_multiple_files(from.java_multiple_files());
4626    }
4627    if (from._has_bit(3)) {
4628      set_optimize_for(from.optimize_for());
4629    }
4630    if (from._has_bit(4)) {
4631      set_cc_generic_services(from.cc_generic_services());
4632    }
4633    if (from._has_bit(5)) {
4634      set_java_generic_services(from.java_generic_services());
4635    }
4636    if (from._has_bit(6)) {
4637      set_py_generic_services(from.py_generic_services());
4638    }
4639  }
4640  _extensions_.MergeFrom(from._extensions_);
4641  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
4642}
4643
4644void FileOptions::CopyFrom(const ::google::protobuf::Message& from) {
4645  if (&from == this) return;
4646  Clear();
4647  MergeFrom(from);
4648}
4649
4650void FileOptions::CopyFrom(const FileOptions& from) {
4651  if (&from == this) return;
4652  Clear();
4653  MergeFrom(from);
4654}
4655
4656bool FileOptions::IsInitialized() const {
4657
4658  for (int i = 0; i < uninterpreted_option_size(); i++) {
4659    if (!this->uninterpreted_option(i).IsInitialized()) return false;
4660  }
4661
4662  if (!_extensions_.IsInitialized()) return false;  return true;
4663}
4664
4665void FileOptions::Swap(FileOptions* other) {
4666  if (other != this) {
4667    std::swap(java_package_, other->java_package_);
4668    std::swap(java_outer_classname_, other->java_outer_classname_);
4669    std::swap(java_multiple_files_, other->java_multiple_files_);
4670    std::swap(optimize_for_, other->optimize_for_);
4671    std::swap(cc_generic_services_, other->cc_generic_services_);
4672    std::swap(java_generic_services_, other->java_generic_services_);
4673    std::swap(py_generic_services_, other->py_generic_services_);
4674    uninterpreted_option_.Swap(&other->uninterpreted_option_);
4675    std::swap(_has_bits_[0], other->_has_bits_[0]);
4676    _unknown_fields_.Swap(&other->_unknown_fields_);
4677    std::swap(_cached_size_, other->_cached_size_);
4678    _extensions_.Swap(&other->_extensions_);
4679  }
4680}
4681
4682::google::protobuf::Metadata FileOptions::GetMetadata() const {
4683  protobuf_AssignDescriptorsOnce();
4684  ::google::protobuf::Metadata metadata;
4685  metadata.descriptor = FileOptions_descriptor_;
4686  metadata.reflection = FileOptions_reflection_;
4687  return metadata;
4688}
4689
4690
4691// ===================================================================
4692
4693#ifndef _MSC_VER
4694const int MessageOptions::kMessageSetWireFormatFieldNumber;
4695const int MessageOptions::kNoStandardDescriptorAccessorFieldNumber;
4696const int MessageOptions::kUninterpretedOptionFieldNumber;
4697#endif  // !_MSC_VER
4698
4699MessageOptions::MessageOptions()
4700  : ::google::protobuf::Message() {
4701  SharedCtor();
4702}
4703
4704void MessageOptions::InitAsDefaultInstance() {
4705}
4706
4707MessageOptions::MessageOptions(const MessageOptions& from)
4708  : ::google::protobuf::Message() {
4709  SharedCtor();
4710  MergeFrom(from);
4711}
4712
4713void MessageOptions::SharedCtor() {
4714  _cached_size_ = 0;
4715  message_set_wire_format_ = false;
4716  no_standard_descriptor_accessor_ = false;
4717  ::memset(_has_bits_, 0, sizeof(_has_bits_));
4718}
4719
4720MessageOptions::~MessageOptions() {
4721  SharedDtor();
4722}
4723
4724void MessageOptions::SharedDtor() {
4725  if (this != default_instance_) {
4726  }
4727}
4728
4729void MessageOptions::SetCachedSize(int size) const {
4730  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
4731  _cached_size_ = size;
4732  GOOGLE_SAFE_CONCURRENT_WRITES_END();
4733}
4734const ::google::protobuf::Descriptor* MessageOptions::descriptor() {
4735  protobuf_AssignDescriptorsOnce();
4736  return MessageOptions_descriptor_;
4737}
4738
4739const MessageOptions& MessageOptions::default_instance() {
4740  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
4741}
4742
4743MessageOptions* MessageOptions::default_instance_ = NULL;
4744
4745MessageOptions* MessageOptions::New() const {
4746  return new MessageOptions;
4747}
4748
4749void MessageOptions::Clear() {
4750  _extensions_.Clear();
4751  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
4752    message_set_wire_format_ = false;
4753    no_standard_descriptor_accessor_ = false;
4754  }
4755  uninterpreted_option_.Clear();
4756  ::memset(_has_bits_, 0, sizeof(_has_bits_));
4757  mutable_unknown_fields()->Clear();
4758}
4759
4760bool MessageOptions::MergePartialFromCodedStream(
4761    ::google::protobuf::io::CodedInputStream* input) {
4762#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
4763  ::google::protobuf::uint32 tag;
4764  while ((tag = input->ReadTag()) != 0) {
4765    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
4766      // optional bool message_set_wire_format = 1 [default = false];
4767      case 1: {
4768        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4769            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
4770          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
4771                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
4772                 input, &message_set_wire_format_)));
4773          _set_bit(0);
4774        } else {
4775          goto handle_uninterpreted;
4776        }
4777        if (input->ExpectTag(16)) goto parse_no_standard_descriptor_accessor;
4778        break;
4779      }
4780
4781      // optional bool no_standard_descriptor_accessor = 2 [default = false];
4782      case 2: {
4783        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4784            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
4785         parse_no_standard_descriptor_accessor:
4786          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
4787                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
4788                 input, &no_standard_descriptor_accessor_)));
4789          _set_bit(1);
4790        } else {
4791          goto handle_uninterpreted;
4792        }
4793        if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
4794        break;
4795      }
4796
4797      // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
4798      case 999: {
4799        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4800            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
4801         parse_uninterpreted_option:
4802          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
4803                input, add_uninterpreted_option()));
4804        } else {
4805          goto handle_uninterpreted;
4806        }
4807        if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
4808        if (input->ExpectAtEnd()) return true;
4809        break;
4810      }
4811
4812      default: {
4813      handle_uninterpreted:
4814        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4815            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
4816          return true;
4817        }
4818        if ((8000u <= tag)) {
4819          DO_(_extensions_.ParseField(tag, input, default_instance_,
4820                                      mutable_unknown_fields()));
4821          continue;
4822        }
4823        DO_(::google::protobuf::internal::WireFormat::SkipField(
4824              input, tag, mutable_unknown_fields()));
4825        break;
4826      }
4827    }
4828  }
4829  return true;
4830#undef DO_
4831}
4832
4833void MessageOptions::SerializeWithCachedSizes(
4834    ::google::protobuf::io::CodedOutputStream* output) const {
4835  // optional bool message_set_wire_format = 1 [default = false];
4836  if (_has_bit(0)) {
4837    ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->message_set_wire_format(), output);
4838  }
4839
4840  // optional bool no_standard_descriptor_accessor = 2 [default = false];
4841  if (_has_bit(1)) {
4842    ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->no_standard_descriptor_accessor(), output);
4843  }
4844
4845  // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
4846  for (int i = 0; i < this->uninterpreted_option_size(); i++) {
4847    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
4848      999, this->uninterpreted_option(i), output);
4849  }
4850
4851  // Extension range [1000, 536870912)
4852  _extensions_.SerializeWithCachedSizes(
4853      1000, 536870912, output);
4854
4855  if (!unknown_fields().empty()) {
4856    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
4857        unknown_fields(), output);
4858  }
4859}
4860
4861::google::protobuf::uint8* MessageOptions::SerializeWithCachedSizesToArray(
4862    ::google::protobuf::uint8* target) const {
4863  // optional bool message_set_wire_format = 1 [default = false];
4864  if (_has_bit(0)) {
4865    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->message_set_wire_format(), target);
4866  }
4867
4868  // optional bool no_standard_descriptor_accessor = 2 [default = false];
4869  if (_has_bit(1)) {
4870    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->no_standard_descriptor_accessor(), target);
4871  }
4872
4873  // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
4874  for (int i = 0; i < this->uninterpreted_option_size(); i++) {
4875    target = ::google::protobuf::internal::WireFormatLite::
4876      WriteMessageNoVirtualToArray(
4877        999, this->uninterpreted_option(i), target);
4878  }
4879
4880  // Extension range [1000, 536870912)
4881  target = _extensions_.SerializeWithCachedSizesToArray(
4882      1000, 536870912, target);
4883
4884  if (!unknown_fields().empty()) {
4885    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
4886        unknown_fields(), target);
4887  }
4888  return target;
4889}
4890
4891int MessageOptions::ByteSize() const {
4892  int total_size = 0;
4893
4894  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
4895    // optional bool message_set_wire_format = 1 [default = false];
4896    if (has_message_set_wire_format()) {
4897      total_size += 1 + 1;
4898    }
4899
4900    // optional bool no_standard_descriptor_accessor = 2 [default = false];
4901    if (has_no_standard_descriptor_accessor()) {
4902      total_size += 1 + 1;
4903    }
4904
4905  }
4906  // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
4907  total_size += 2 * this->uninterpreted_option_size();
4908  for (int i = 0; i < this->uninterpreted_option_size(); i++) {
4909    total_size +=
4910      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
4911        this->uninterpreted_option(i));
4912  }
4913
4914  total_size += _extensions_.ByteSize();
4915
4916  if (!unknown_fields().empty()) {
4917    total_size +=
4918      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
4919        unknown_fields());
4920  }
4921  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
4922  _cached_size_ = total_size;
4923  GOOGLE_SAFE_CONCURRENT_WRITES_END();
4924  return total_size;
4925}
4926
4927void MessageOptions::MergeFrom(const ::google::protobuf::Message& from) {
4928  GOOGLE_CHECK_NE(&from, this);
4929  const MessageOptions* source =
4930    ::google::protobuf::internal::dynamic_cast_if_available<const MessageOptions*>(
4931      &from);
4932  if (source == NULL) {
4933    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
4934  } else {
4935    MergeFrom(*source);
4936  }
4937}
4938
4939void MessageOptions::MergeFrom(const MessageOptions& from) {
4940  GOOGLE_CHECK_NE(&from, this);
4941  uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
4942  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
4943    if (from._has_bit(0)) {
4944      set_message_set_wire_format(from.message_set_wire_format());
4945    }
4946    if (from._has_bit(1)) {
4947      set_no_standard_descriptor_accessor(from.no_standard_descriptor_accessor());
4948    }
4949  }
4950  _extensions_.MergeFrom(from._extensions_);
4951  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
4952}
4953
4954void MessageOptions::CopyFrom(const ::google::protobuf::Message& from) {
4955  if (&from == this) return;
4956  Clear();
4957  MergeFrom(from);
4958}
4959
4960void MessageOptions::CopyFrom(const MessageOptions& from) {
4961  if (&from == this) return;
4962  Clear();
4963  MergeFrom(from);
4964}
4965
4966bool MessageOptions::IsInitialized() const {
4967
4968  for (int i = 0; i < uninterpreted_option_size(); i++) {
4969    if (!this->uninterpreted_option(i).IsInitialized()) return false;
4970  }
4971
4972  if (!_extensions_.IsInitialized()) return false;  return true;
4973}
4974
4975void MessageOptions::Swap(MessageOptions* other) {
4976  if (other != this) {
4977    std::swap(message_set_wire_format_, other->message_set_wire_format_);
4978    std::swap(no_standard_descriptor_accessor_, other->no_standard_descriptor_accessor_);
4979    uninterpreted_option_.Swap(&other->uninterpreted_option_);
4980    std::swap(_has_bits_[0], other->_has_bits_[0]);
4981    _unknown_fields_.Swap(&other->_unknown_fields_);
4982    std::swap(_cached_size_, other->_cached_size_);
4983    _extensions_.Swap(&other->_extensions_);
4984  }
4985}
4986
4987::google::protobuf::Metadata MessageOptions::GetMetadata() const {
4988  protobuf_AssignDescriptorsOnce();
4989  ::google::protobuf::Metadata metadata;
4990  metadata.descriptor = MessageOptions_descriptor_;
4991  metadata.reflection = MessageOptions_reflection_;
4992  return metadata;
4993}
4994
4995
4996// ===================================================================
4997
4998const ::google::protobuf::EnumDescriptor* FieldOptions_CType_descriptor() {
4999  protobuf_AssignDescriptorsOnce();
5000  return FieldOptions_CType_descriptor_;
5001}
5002bool FieldOptions_CType_IsValid(int value) {
5003  switch(value) {
5004    case 0:
5005    case 1:
5006    case 2:
5007      return true;
5008    default:
5009      return false;
5010  }
5011}
5012
5013#ifndef _MSC_VER
5014const FieldOptions_CType FieldOptions::STRING;
5015const FieldOptions_CType FieldOptions::CORD;
5016const FieldOptions_CType FieldOptions::STRING_PIECE;
5017const FieldOptions_CType FieldOptions::CType_MIN;
5018const FieldOptions_CType FieldOptions::CType_MAX;
5019const int FieldOptions::CType_ARRAYSIZE;
5020#endif  // _MSC_VER
5021const ::std::string FieldOptions::_default_experimental_map_key_;
5022#ifndef _MSC_VER
5023const int FieldOptions::kCtypeFieldNumber;
5024const int FieldOptions::kPackedFieldNumber;
5025const int FieldOptions::kDeprecatedFieldNumber;
5026const int FieldOptions::kExperimentalMapKeyFieldNumber;
5027const int FieldOptions::kUninterpretedOptionFieldNumber;
5028#endif  // !_MSC_VER
5029
5030FieldOptions::FieldOptions()
5031  : ::google::protobuf::Message() {
5032  SharedCtor();
5033}
5034
5035void FieldOptions::InitAsDefaultInstance() {
5036}
5037
5038FieldOptions::FieldOptions(const FieldOptions& from)
5039  : ::google::protobuf::Message() {
5040  SharedCtor();
5041  MergeFrom(from);
5042}
5043
5044void FieldOptions::SharedCtor() {
5045  _cached_size_ = 0;
5046  ctype_ = 0;
5047  packed_ = false;
5048  deprecated_ = false;
5049  experimental_map_key_ = const_cast< ::std::string*>(&_default_experimental_map_key_);
5050  ::memset(_has_bits_, 0, sizeof(_has_bits_));
5051}
5052
5053FieldOptions::~FieldOptions() {
5054  SharedDtor();
5055}
5056
5057void FieldOptions::SharedDtor() {
5058  if (experimental_map_key_ != &_default_experimental_map_key_) {
5059    delete experimental_map_key_;
5060  }
5061  if (this != default_instance_) {
5062  }
5063}
5064
5065void FieldOptions::SetCachedSize(int size) const {
5066  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
5067  _cached_size_ = size;
5068  GOOGLE_SAFE_CONCURRENT_WRITES_END();
5069}
5070const ::google::protobuf::Descriptor* FieldOptions::descriptor() {
5071  protobuf_AssignDescriptorsOnce();
5072  return FieldOptions_descriptor_;
5073}
5074
5075const FieldOptions& FieldOptions::default_instance() {
5076  if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
5077}
5078
5079FieldOptions* FieldOptions::default_instance_ = NULL;
5080
5081FieldOptions* FieldOptions::New() const {
5082  return new FieldOptions;
5083}
5084
5085void FieldOptions::Clear() {
5086  _extensions_.Clear();
5087  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
5088    ctype_ = 0;
5089    packed_ = false;
5090    deprecated_ = false;
5091    if (_has_bit(3)) {
5092      if (experimental_map_key_ != &_default_experimental_map_key_) {
5093        experimental_map_key_->clear();
5094      }
5095    }
5096  }
5097  uninterpreted_option_.Clear();
5098  ::memset(_has_bits_, 0, sizeof(_has_bits_));
5099  mutable_unknown_fields()->Clear();
5100}
5101
5102bool FieldOptions::MergePartialFromCodedStream(
5103    ::google::protobuf::io::CodedInputStream* input) {
5104#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
5105  ::google::protobuf::uint32 tag;
5106  while ((tag = input->ReadTag()) != 0) {
5107    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
5108      // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
5109      case 1: {
5110        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
5111            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
5112          int value;
5113          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
5114                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
5115                 input, &value)));
5116          if (::google::protobuf::FieldOptions_CType_IsValid(value)) {
5117            set_ctype(static_cast< ::google::protobuf::FieldOptions_CType >(value));
5118          } else {
5119            mutable_unknown_fields()->AddVarint(1, value);
5120          }
5121        } else {
5122          goto handle_uninterpreted;
5123        }
5124        if (input->ExpectTag(16)) goto parse_packed;
5125        break;
5126      }
5127
5128      // optional bool packed = 2;
5129      case 2: {
5130        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
5131            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
5132         parse_packed:
5133          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
5134                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
5135                 input, &packed_)));
5136          _set_bit(1);
5137        } else {
5138          goto handle_uninterpreted;
5139        }
5140        if (input->ExpectTag(24)) goto parse_deprecated;
5141        break;
5142      }
5143
5144      // optional bool deprecated = 3 [default = false];
5145      case 3: {
5146        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
5147            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
5148         parse_deprecated:
5149          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
5150                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
5151                 input, &deprecated_)));
5152          _set_bit(2);
5153        } else {
5154          goto handle_uninterpreted;
5155        }
5156        if (input->ExpectTag(74)) goto parse_experimental_map_key;
5157        break;
5158      }
5159
5160      // optional string experimental_map_key = 9;
5161      case 9: {
5162        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
5163            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
5164         parse_experimental_map_key:
5165          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
5166                input, this->mutable_experimental_map_key()));
5167          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
5168            this->experimental_map_key().data(), this->experimental_map_key().length(),
5169            ::google::protobuf::internal::WireFormat::PARSE);
5170        } else {
5171          goto handle_uninterpreted;
5172        }
5173        if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
5174        break;
5175      }
5176
5177      // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
5178      case 999: {
5179        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
5180            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
5181         parse_uninterpreted_option:
5182          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
5183                input, add_uninterpreted_option()));
5184        } else {
5185          goto handle_uninterpreted;
5186        }
5187        if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
5188        if (input->ExpectAtEnd()) return true;
5189        break;
5190      }
5191
5192      default: {
5193      handle_uninterpreted:
5194        if (::